Crystal lang

Crystal начали разрабатывать в 2011 году как pet проект. Первую известность получила в 2020 году. Написан он на базе Ruby и обратно совместим с ним за исключением каких-нибудь специфических вещей т.е. приложение написанное на Ruby вполне себе можно запускать и на Crystal. По синтаксису и по устройству очень похож на Ruby (и Python). Весь код компилируется в бинарник на LLVM. По производительности уступает Си и примерно сравним с Golang. Обгоняет Ruby и Python где-то в 15 раз. Язык является строго типизированным, но позволяет не указывать типы данных в большинстве случаев (компилятор сам определяет тип данных). Сфера применения консольные приложения, автоматизация процессов, бекенд, фронтенд. Релиза еще не было (есть только beta и rc) и пока не рекомендуется для продакшн. На данный момент из операционных систем поддерживаются Linux, FreeBSD, macOS и Windows с Linux Subsystem.

Лично я собираюсь изучать его в ближайшее время поскольку знать Ruby не будет лишним и есть преимущество в виде компиляции, что повышает производительность, стабильность и экономия ресурсов за счет того, что после компилаяции нет зависимостей (и не нужен docker) и если даже обновить библиотеки, то это никак не повлияет на работу приложения в отличии от Ruby и Python. Возможно даже полностью пересяду с Golang на Crystal поскольку сфера применения у него поширше, а синтаксис и конструкция намного проще. Из текущих проектов было бы круто переписать на него PKI и Subversion SSH Key Manager, которые сейчас написаны на Python и если что-то обновляется, то иногда это оборачивается полным пиздецом (docker как-то еще не заимел на той машине).

Показать комментарии