Size: a a a

Сrystal Lang — русскоговорящее сообщество

2021 August 03

Jøhn Đøꝩsøn in Сrystal Lang — русскоговорящее сообщество
unsafe это не "выпрыгивание из языка" и не "отключение борроучекера"
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Для меня выпрыгивание из языка это не обязательно ffi, это резорт к любому невключенному в "официальный" подход функционалу. В шарпе есть аналогичный кейворд, и я говорил про то, что в шарпе мне не пришлось бы к нему обращаться при написании веб-сервера.
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
А где там сражения с компилятором? Бывают мелкие проблемы, но это компенсируется тем, что язык очень интуитивно понятный, что экономит время на чтение документации, да и в принципе компактность синтаксиса ускоряет не только написание кода, но и его чтение.
Да и "борьба" с компилятором чаще всего связана со строгой типизацией, а она сейчас и в интерпретаторах появляется, это общий тренд, который даже заставляет делать транспайлеры типа TypeScript'а.
источник

HH

Hz Hz in Сrystal Lang — русскоговорящее сообщество
да на самом деле после руби, типизация спасение, а то когда огромная лапша кода, ты уже не понимаешь что в какой переменной, а компилятор все проверит
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
я вообще очень сильно в вольностях руби, ну не сказать что разочаровался, но как-то так

метапрограммирование у многих скатывается в лапшу
неявные импортирования - не ясно, откуда что берется
множественное наследование через модули - то же самое

для руби надо хорошую идешку, которая все знает, а статически хрен что разберёшь
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
до сих пор помню как нырял в код sprockets: миллион инклюдов, какой метод где находится - не поймёшь
источник

HH

Hz Hz in Сrystal Lang — русскоговорящее сообщество
иде не выведет типы, ты можешь отрефакторить метод какой то, все тесты пройдут, выкатить на прод, и там будет крашится
источник

HH

Hz Hz in Сrystal Lang — русскоговорящее сообщество
потому что там на проде код зашел в какой то редкий if, на которой нет теста, и там неверный тип переменной
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Chef -_-
источник

HH

Hz Hz in Сrystal Lang — русскоговорящее сообщество
в кристале такое невозможно
источник

Jøhn Đøꝩsøn in Сrystal Lang — русскоговорящее сообщество
unsafe это часть официального подхода. Всё что unsafe означает это "компилер, я знаю что ты не можешь проверить тут инварианты, но я проверил и уверен что все в порядке".
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Давайте назовем это нахождением в безопасном контексте, если так будет проще. Тейк в том, что в других языках в нем получается существовать в повседневных делах.
источник

G

Grabli66 in Сrystal Lang — русскоговорящее сообщество
Тут люди писали, что сражаются с компилятором кристалла. Я практически процитировал их, людей.
источник

VF

Vlad Faust in Сrystal Lang — русскоговорящее сообщество
Имплементация Манаса не лишена багов. Иногда компилятор крашится без трейсов. Очень многие моменты в стд спорны, и приходится костылить из раза в раз. Многопоточность реализована очень и очень плохо, постоянно были проблемы с GC из-за этого.

Чтобы уметь эти проблемы решать самому или в своей команде, без дергания менеджмента выше, нужны широкие знания.  

Поэтому шарящие чуваки на Кристале дорого стоят. Да и вообще шарящие чуваки всегда дорого стоят.

Порог входа в продуктивную разработку на Кристале выше, чем у условного PHP.

Поэтому я не рекомендую компаниям лезть в него без достаточной необходимости, без достаточных бюджетов
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
в пшп тоже не стоит лезть без достаточного бюджета

oh no i didn't did i
источник

RU

Roman Usherenko in Сrystal Lang — русскоговорящее сообщество
без достаточного бюджета рекомендую получить достаточный бюджет
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
Думаю, без промышленного применения эти баги никогда не исправят, чудес-то не бывает. И тут вопрос курицы и яйца конечно, стоит ли игра свеч и будет ли промышленное применение с неисправленными багами.  Вообще как по мне в Crystal не хватает режима ручной очистки, чтобы можно было сказать: "я порождаю 16 тредов-воркеров, для них используй режим работы без файберов и с полностью ручной очисткой". Собственно, такой гибкости конечно и у Golang нет, но там и необходимости такой особо нет. А в Crystal - могло бы избавить от stop-the-world и утечек ценой повышения рисков не освободить память вовремя. Для вычислительных алгоритмов такой риск весьма минимален.
источник

VF

Vlad Faust in Сrystal Lang — русскоговорящее сообщество
Используйте C++ и биндите к Кристалу тогда
источник

TF

Terry Filch in Сrystal Lang — русскоговорящее сообщество
Используйте C++ и биндите к Кристалу тогда
источник

TF

Terry Filch in Сrystal Lang — русскоговорящее сообщество
все верно)
источник