Red Hat otworzył niedawno stronę domową projektu Ceylon http://ceylon-lang.org/
Czyżby koniec popularności kawy i czas na herbatę? 🙂 Co takiego oferuje nowy język?
Składnia języka jest zbliżona do Javy, choć pojawia się sporo nowych słów kluczowych. Sam język jest dedykowany tworzeniu dużych aplikacji. Nowe cechy języka mają w tym pomóc deweloperom.
Najciekawsze zmiany w stosunku do Javy to:
- pozbycie się typów prymitywnych
- specjalna składnia do przedstawiania rozgałęzionych struktur (np XML)
- interfejsy mogą zawierać konkretne pola i metody
- specjalna składnia do automatycznego tworzenia getterów i setterów bez “beansów”
- konieczność oznaczania zmiennych które mogą mieć wartość null
- częściowa inferencja typów
- higher order function
- uproszczenie i udoskonalenie generics
- przeładowywanie operatorów poprzez iterfejsy
Nie wiadomo czy język ten zdobędzie większą popularność, ale niektóre rozwiązania warto by przenieść do Javy.
Szczególnie genialny wydaje się pomysł na przeładowywanie operatorów. Klasa implementuje na przykład interfejs Numerable, który ma metodę multiply. Dzięki temu klasy te można mnożyć używając operatora *. Równocześnie nie możliwe jest tworzenie dziwnych operatorów lub dziwnie zachowujących się.
Ciekawe, że takie języki jak Closure czy Scala nie rozpowszechniły się jak na razie wśród programistów JVM. Być może elementy programowania funkcjonalnego które te języki wprowadzają zniechęcają programistów. Język Ceylon nie idzie tą drogą, za to wprowadza kilka cech, które wielu programistów chętnie chciałoby zobaczyć w Javie.