Aż dziwię się, że nie utworzyłem konta nigdy na tym forum, chociaż byłem nie raz.
W skrócie Crystal https://crystal-lang.org/ to nowy język programowania z dziedziny “nowoczesnych” (Rust, Go, Nim, …), czyli powrót do statycznych typów i kompilowania. Dzięki temu jest on znacznie szybszy i potrzebuje mniej pamięci. W tym momencie prawie cała moje open source’owa aktywność przeszła z Ruby na Crystal.
Mógłbym zaoferować regionalnym grupom zrobienie workshopa w celu budowania community i popularyzacji. Pierwszy zrobiłem w tym roku na Polyconfie http://polyconf.com/agenda/
W tym momencie Crystal najbardziej nadaje się do prostych aplikacji webowych oraz mocnego przetwarzania danych. Widzę w nim sens przy budowie API i jak dokończę pewne biblioteki to również mógłbym zrobić o tym workshop.
Pomysły były już kiedyś aby przyspieszyć Ruby. Było to Rubinius oraz Maglev. Twórcy założyli sobie aby bez zmiany języka można zwiększyć wydajność. Gdzieś po drodze widziałem kompilacje do Pythona i dalej gdzieś, co dla mnie osobiście jest czymś dziwnym. Na tyle dziwnym, że nawet nie zapamiętałem szczegółów.
Crystal poszedł trochę ostrzej. Podjął “męską decyzję” o wprowadzeniu typów, które w praktyce “tak bardzo nie bolą”.
Jest to jeszcze alfa i dlatego niestety:
czasem są jeszcze breaking changes w changelogu, ale Rust miał te same problemy niedawno
popularność jest mała,
z tego powodu nikt nie robi dużych rzeczy - nie będzie od razu nowych Railsów bo nikt nie chce wkładać dużej ilości pracy gdy za chwilę może się coś pozmieniać
wiele magii z której słyną Railsy tutaj nie przejdzie
Z drugiej strony:
przynajmniej 5x szybszy
znacznie mniejsza ilość zużywanej pamięci i to może być większą zaletą niż CPU, a przynajmniej dla mnie było. Wyciskałem z Ruby wszystko co się dało w skryptach.
po rocznej przygodzie z bardziej ufam Crystalowi niż Ruby w kontekście tego co mógłbym wrzucić na produkcję
Słyszeliście o Go? Czy nie warto spróbować języka który ma zalety Go a składnie prawie identyczną do Ruby? Ja osobiście uważam, że z tego już wyszło sporo i nie powinniśmy (jako społeczność Ruby) bać się go i czekać.
We wrześniu lub październiku będę chciał poprowadzić workshop w Poznaniu. Jak już coś będzie wiadomo to dam znać.
Dla mnie osobiście takim małym cichym zwycięzcą jest… crystal. Obserwuję ten język od dłuższego czasu i podoba mi się w jakim kierunku zmierza. Jaki to ma związek z Rubym? Taki, że język ten czerpie garściami z Rubiego (prawie identyczna składnia, ta sama ekspresyjność, bardzo podobne API), ale wprowadza też świeżość w postaci statycznego typowania oraz kompilacji do pliku wykonywalnego.