Size: a a a

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

2021 March 23

VF

Vlad Faust in Сrystal Lang — русскоговорящее сообщество
У кристала ниша сейчас — это MVP веб-проектов с приемлемой производительностью. Что-то другое —  meh
источник

IS

Ilya Shaplykо in Сrystal Lang — русскоговорящее сообщество
Vlad Faust
Синтаксис проблемный; излишняя "рубишная" свобода типа необязательных скобок для вызова методов, require вместо import... Это вредит серьезным проектам
А чем require вместо импорт вредит?
источник

AK

Andrius Kai in Сrystal Lang — русскоговорящее сообщество
Vlad Faust
Ни дебаггера, ни профайлера. Можно использовать нативные типа LLDB, но у Кристала много наворочено в плане структуры программы, что это становится невыносимо больно
Через тесты дебажу
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Ilya Shaplykо
А чем require вместо импорт вредит?
Ну намного проще, сразу инжекция всех классов и методов, полагаю. Вместо перечисления импортируемых сущностей.
источник

VF

Vlad Faust in Сrystal Lang — русскоговорящее сообщество
При import нет конфликтов неймспейсов, а в require/include есть. В сочетании с возможностью манкипатчить всё и вся ты не можешь спокойно задефайнить MyProject::Client::HTTP. Точнее, можешь, но при попытке использования HTTP внутри этого класса или внутри неймспейса MyProject::Client начнутся непонятки
источник

VF

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

IA

Igor Alexandrov in Сrystal Lang — русскоговорящее сообщество
Vlad Faust
При import нет конфликтов неймспейсов, а в require/include есть. В сочетании с возможностью манкипатчить всё и вся ты не можешь спокойно задефайнить MyProject::Client::HTTP. Точнее, можешь, но при попытке использования HTTP внутри этого класса или внутри неймспейса MyProject::Client начнутся непонятки
Ну это решается другим именованием MyProject::HttpClient или, например, рельсовые суффиксы *Controller, *Serializer из той же оперы.
источник

IA

Igor Alexandrov in Сrystal Lang — русскоговорящее сообщество
Не вижу в этом проблемы, кроме  может быть привычки
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Igor Alexandrov
Ну это решается другим именованием MyProject::HttpClient или, например, рельсовые суффиксы *Controller, *Serializer из той же оперы.
Чтобы решить — нужно найти, находишь без знаний чаще всего на ошибках, не всегда очевидных, потом (или же до этого) нужно помнить и держать в голове, как и было написано.
источник
2021 March 24

КК

Константин Крутой... in Сrystal Lang — русскоговорящее сообщество
Есть какие задачки ресурсы для Crystal?
источник

КК

Константин Крутой... in Сrystal Lang — русскоговорящее сообщество
Для освоения
источник

КК

Константин Крутой... in Сrystal Lang — русскоговорящее сообщество
Я так понимаю, код компилирует в C++ компляторе?
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Константин Крутой
Я так понимаю, код компилирует в C++ компляторе?
Компилятор Crystal написан на Crystal, первые версии были написаны на Ruby.
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Константин Крутой
Есть какие задачки ресурсы для Crystal?
Не очень грамотное предложение на русском языке, но я вижу Crystal на https://www.codewars.com/
источник

З/

Зелёный /4Y/ in Сrystal Lang — русскоговорящее сообщество
Igor Alexandrov
Не вижу в этом проблемы, кроме  может быть привычки
Опять же это тратит некоторое дополнительное время на освоение языка и дополнительные требования к именованию. Не так критично, но небольшие неудобства вызывает.
источник

DS

Damir Sharipov in Сrystal Lang — русскоговорящее сообщество
Andrius Kai
Через тесты дебажу
Такая же фигня. В каких-то местах в рантайме pp могу добавить, бенчмарк на финальной стадии для поиска узких мест либо если есть несколько вариантов реализации.
источник

AK

Anton Korotkikh in Сrystal Lang — русскоговорящее сообщество
Andrey Konovalov
Вообще после Crystal синтакис почти 100% существующих ЯП вызывает, скажем так, недоумение. Ведь можно же было по-человечески-то, получается
ну хз, у кристала, имхо, есть существенные проблемы с синтакисом, например сигнатуры функций (когда они используются как передаваемые и возвращаемые значения). как это просто делается в го том же
https://play.golang.org/p/_yeomPlxW1A

в кристале же какие-то пляски с Proc неочевидные
источник

G

GNU/Плюшка in Сrystal Lang — русскоговорящее сообщество
Anton Korotkikh
ну хз, у кристала, имхо, есть существенные проблемы с синтакисом, например сигнатуры функций (когда они используются как передаваемые и возвращаемые значения). как это просто делается в го том же
https://play.golang.org/p/_yeomPlxW1A

в кристале же какие-то пляски с Proc неочевидные
в го же нет перегрузки функций
источник

G

GNU/Плюшка in Сrystal Lang — русскоговорящее сообщество
в кристале приходится явно указывать типы аргументов, а так почти то же самое можно делать
источник

AK

Anton Korotkikh in Сrystal Lang — русскоговорящее сообщество
GNU/Плюшка
в го же нет перегрузки функций
а причём здесь это? речь про поддержку функций высшего порядка
чтобы ими спокойно оперировать как возращемыми занчениями так и аргументами, при этом сравнительно легко описывать получившиеся сигнатуры.
источник