The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Crystal 1.16"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск языка программирования Crystal 1.16"  +/
Сообщение от opennews (??), 11-Апр-25, 12:22 
Опубликован релиз языка программирования Crystal 1.16, разработчики которого пытаются совместить удобство разработки на языке Ruby с высокой производительностью приложений, свойственной языку Си. Синтаксис Crystal близок к языку Ruby, но не полностью совместим с ним, несмотря на то, что без переработки выполняются некоторые ruby-программы. Код компилятора написан на языке Crystal и распространяется под лицензией Apache 2.0...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63052

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


3. "Выпуск языка программирования Crystal 1.16"  +3 +/
Сообщение от Аноним (3), 11-Апр-25, 12:33 
Конпиляется всё ещё только шлангом? Точнее, не конпиляется вообще..
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от Аноним (4), 11-Апр-25, 12:48 
До сих пор компилираует "Привет, Мир!" пять минут?
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск языка программирования Crystal 1.16"  –5 +/
Сообщение от Аноним (-), 11-Апр-25, 15:55 
>с высокой производительностью приложений, свойственной языку Си

Читайть умеешь?

Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск языка программирования Crystal 1.16"  +3 +/
Сообщение от Аноним (59), 11-Апр-25, 19:06 
Мусьё в силах понять разницу между производительностью работы программы и скоростью компиляции этой программы компилятором из исходников? И, кстати, скорость компиляции си-программ тоже так себе.
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от ilowryemail (?), 11-Апр-25, 19:24 
Быстрее Си (не путать с Си++) только разве у Паскаля.
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск языка программирования Crystal 1.16"  +3 +/
Сообщение от Аноним (65), 11-Апр-25, 20:37 
У си отвратительная скорость компиляции. https://www.opennet.dev/opennews/art.shtml?num=56449 Для ускорения компиляции нужны некоторые фундаметнальные изменения, типа отказа от взаиморекурсивного включения файлов. Кроме паскаля нужно обратить внимание как минимум на go и ocaml.
Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от Аноним (78), 12-Апр-25, 01:29 
У окамла вообще кажется лучший компилятор, что был придуман.
Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (65), 11-Апр-25, 22:18 
Да
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

5. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (5), 11-Апр-25, 12:50 
Это ещё что за def - end конструкции? Где блин фигурные скобочки?
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск языка программирования Crystal 1.16"  –15 +/
Сообщение от Аноним (6), 11-Апр-25, 12:54 
Да и то и другое что-то прошлый век, отступов вполне достаточно.
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск языка программирования Crystal 1.16"  +10 +/
Сообщение от Аноним (5), 11-Апр-25, 12:56 
Ты про питоновские отступы что ли? Абсолютно тупое решение. Стоит туда сюда код покопипастить, сразу всё сбивается.
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск языка программирования Crystal 1.16"  –6 +/
Сообщение от Аноним (6), 11-Апр-25, 13:03 
Зато приучает к порядку.
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск языка программирования Crystal 1.16"  +2 +/
Сообщение от User (??), 11-Апр-25, 16:22 
Не, ну если ваша работа "детей к порядку приучать" то что вы здесь-то делаете? Чат второй ясельной группы детсада 122 в whatdsup'е ведётся...
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от Аноним (12), 11-Апр-25, 13:12 
Nim
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

21. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от Аноним (65), 11-Апр-25, 14:27 
Отступы должны ставится автоматически, как на https://try.ocamlpro.com/. Вы ещё попросите программистов самостоятельно синтаксис подсвечивать, словно текст в ворде набирается, и с неправильной подсветкой - не компилировать.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

43. "Выпуск языка программирования Crystal 1.16"  –2 +/
Сообщение от User (??), 11-Апр-25, 16:27 
Второй раз мне уже про эти чудеса рассказывают, прям даже спросить хочется - а другие практические преимущества, окромя автоматической расстановки скобочек и отступов есть? Где и для чего можно с практической пользой написанным на - попользоваться? Глядишь - заценю/пойму чего...
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от n00by (ok), 11-Апр-25, 16:40 
MLDonkey на OCaml написан.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от User (??), 11-Апр-25, 16:50 
Ээээто должно мне что-то сказать? Т.е. память мне подсказывает, что лет *цать назад я это название слышал, но и только.
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от n00by (ok), 11-Апр-25, 18:40 
Ну, не знаю, может надо с практической пользой закачать торрент.
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от User (??), 11-Апр-25, 18:47 
> Ну, не знаю, может надо с практической пользой закачать торрент.

А... у этого клиента есть какие-то практические преимущества перед <clientname> кроме того, что он написан на языке, ide которого справляется с расстановкой скобочек и отступов?

Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от n00by (ok), 11-Апр-25, 19:15 
Сейчас вряд ли, поскольку другие сети (он поддерживает несколько разных) вроде бы умерли, а торрент-клиентов понаписано много. Но он достаточно легковесный был, если правильно помню.

Впрочем, можно считать преимуществом работу со строками - исключены некоторые ошибки.

Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (75), 11-Апр-25, 22:43 
вы бы еще Kazaa вспомнили бы :)))
Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от n00by (ok), 12-Апр-25, 08:53 
Просто помню, что этот MLDonkey авторы OCaml написали с целью прорекламировать язык. Достаточно сложный проект и далеко не худший для своего времени. Может, стоит вспоминать про него в темах с рекламой других языков? :)
Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (89), 12-Апр-25, 15:07 
А как для настоящего времени? Что в нём устарело, чего не хватает?
Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (75), 12-Апр-25, 16:36 
> Что в нём устарело, чего не хватает?

вопрос некорректный, вот к примеру, чего не хватает в русском языке? - русских слов?

Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Вы забыли заполнить поле Name. (?), 12-Апр-25, 13:00 
GNUtella
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

69. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (65), 11-Апр-25, 21:42 
>Второй раз мне уже про эти чудеса рассказывают

В исходном сообщении речь шла об оформлении блоков кода. Какие ещё вы хотите преимущества найти? Тут в пору спрашивать, а почему это есть только для Ocaml, а где авторы других языков, неуж-то неосилили?
>а другие практические преимущества

Язык даёт уникальное сочетание фич, конкурента, который давал бы эти вещи сразу - нет.
- Мощная система типов, предотвращающая кучу проблем типа Null Pointer Excepiton, здесь конкуренты разве что Rust и Haskell, (и куча других малоизвестных языков), другие относительно известные языки типа Kotlin-а или C# только движутся в этом направлении и неизвестно, придут ли к нему окончательно. Как говорится, скомпилировалось - значит работает. Сюда же следует добавить лёгкость рефакторинга
- Язык не слишком сложный в отличии от хаскеля и c++, но и не слишком простой, в отличии от go и lua.
- Быстрая компиляция, здесь из конкурентов может быть только go и pascal(не пробовал). Следует заметить, что некоторым скриптовым языкам типа typescript тоже нужна компиляция, и она бывает очень долгой
- Довольно легко читать чужой код, в отличии от того же хаскеля или c++, в отличии от условного php, js в коде нет неожиданной магии
- Можно собрать код статически и деплоить только один файл, как в go. Вычёркиваем всякие питоны и прочее, где нужен как сам интерпетатор, так и куча библиотек
- Язык гибкий. Хаскель форсирует написания чистого(без побочных эффектов) функционального кода, go - наоборот форсирует написание изменяемого кода с глобальным состоянием, Ocaml позволяет брать эти возможности по необходимости. Можно даже программировать с использованием ООП(да, здесь есть наследование, в отличии от того же раста)
- Стабильность: у языка есть стабильный релиз, переписывать код после каждой новой версии не придётся. Сразу вычёркиваем кучу языков типа zig или v. Аналогично, у языка есть библиотеки и инструменты, например, можно собрать его в js.
- Язык препятствует возникновению случайных ошибок, типа опечатак в имени переменной - будет ошибка компиляции. В условном питоне молча объявится новая переменная, в условном js  запросто появится NaN
- Код сохраняет семанитку языка: в отличии от си не будет ошибок сегментации и прочих UB.
- Есть REPL, что довольно удобно для написания прототипов.
- AOT компиляция, что делает код довольны быстрым, в отличии от того же python. Если сравнивать с языками где есть продвинутый JIT типа js, то будет гораздо более экономный расход памяти
- Начиная с Ocaml 5 есть поддержка многоядерности, как в условном си или go, в отличии от js или python, которые будут ютится на одном ядре
- Можно расписывать и дальше, но я думаю, что и этого уже хватит
>Где и для чего можно с практической пользой написанным на - попользоваться?

Функциональное программирование с сильной типизацией очень удобно для работы с исходным кодом, в частности компилятор rust изначально был написан на Ocaml. А так, язык универсальный, на нём можно писать почти что угодно. Хотите - MirageOS как unikernel программу, которая будет работать без операционной системы сразу под управлением гипервизора, хотите - пишите плагины для i3 типа Spatial shell, Jane Street для финансовых операций используют, хотите - вот человек для тренировки написал game boy и запустил в браузере https://habr.com/ru/articles/645237/.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

88. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от User (??), 12-Апр-25, 13:50 
Воу! Крутая штука, не то, что этот наш гвидобейсик - а то, что за 30 лет так ничего полезного и не (пере|на)писали - то, понятно, фигня.
А если это чудо еще и в emacs под NixOS - то и вовсе, все дивчОнки мои будут!
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (65), 12-Апр-25, 16:45 
>А если это чудо еще и в emacs под NixOS

Сенсей-сама, как вы догадались, что я пишу в эмаксе под NixOS?

Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от ИмяХ (ok), 11-Апр-25, 21:48 
Благодаря скобкам можно написать огромную программу в одну строку
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

14. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Профессор Кукушкин (?), 11-Апр-25, 13:23 
Там же, где и в Ruby -- взаимозаменяемы с do ... end.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

15. "Выпуск языка программирования Crystal 1.16"  +2 +/
Сообщение от Аноним (3), 11-Апр-25, 13:34 
ты ещё про пустые скобки у методов спроси,
и вообще про все сишные "чипыжи"
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

13. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (13), 11-Апр-25, 13:21 
Fiber::ExecutionContext::MultiThreaded

мода на многословность?

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск языка программирования Crystal 1.16"  +2 +/
Сообщение от Аноним (59), 11-Апр-25, 19:10 
на понятность
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от Аноним (13), 11-Апр-25, 21:14 
пять плюс восемь равно тринадцать

понятность

Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск языка программирования Crystal 1.16"  –2 +/
Сообщение от Аноним (-), 11-Апр-25, 13:51 
>в виде легковесных потоков, именуемых файберами (Fiber)

Слово Fiber с аглицкого переводится как "клетчатка". Эти легковесные потоки должны переводится как "клетчатки".

Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (12), 11-Апр-25, 14:16 
Целлюлоза
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск языка программирования Crystal 1.16"  +5 +/
Сообщение от Аноним (65), 11-Апр-25, 14:27 
Волокно же!
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

24. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от Аноним (24), 11-Апр-25, 14:30 
Fiber optics - клетчаточная оптика?
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

56. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (-), 11-Апр-25, 18:07 
n00by считает что правильнее - нитчатая оптика.
Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (75), 12-Апр-25, 16:51 
нить - результат прядения, а прядение это:

https://ru.wiktionary.org/wiki/прядение

"""
процесс продольного складывания и спирального скручивания отдельных волокон для получения длинной и прочной нити
"""

То есть волокна это кусочки такие, а точнее:

https://ru.wiktionary.org/wiki/волокно

"""
тонкая непряденая нить растительного, минерального или синтетического происхождения
"""

И вот тут прикол, нить это пряденное волокно, волокно это непряденая нить :)
Синоним волокна - фибра:

https://ru.wiktionary.org/wiki/фибра

"""
жилка, нерв, волокно животной ткани
"""

Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от n00by (ok), 11-Апр-25, 16:42 
"Нить" это переводится, и потоки так называются.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

63. "Выпуск языка программирования Crystal 1.16"  +2 +/
Сообщение от Аноним (59), 11-Апр-25, 19:32 
Ну, вроде как "thread" - нить, а "fiber" - волокна, из которых состоит эта нить. И очень логично названо: тред - поток исполнения с аппаратной поддержкой в процессоре и в распространенных ОС обычно еще и вытесняющиеся по времени, а уже внутри потока куча файберов - сопрограмм с "кооперативной" многозадачностью (вытеснения нет по времени, передача управления следующему файберу происходит или добровольно явно или при входе в вызов ввода/вывода).
Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от n00by (ok), 12-Апр-25, 09:19 
Для английского действительно логично. С переводом возникает путаница, thread переводят и как "поток" (встречаю такое чаще), и как "нить". Последней вариант используют обычно, когда "легковесных потоков" нет. В любом случае, оно не клетчатка.

ЗЫ у thread-а нет аппаратной поддержки в процессоре (IA32/AMD64) в смысле каких-то команд или специально предназначенных регистров. Под "аппаратно" понимается вызов планировщика по таймеру, может заодно меняться регистр fs или gs, через который адресуется thread local storage, но это "просто сегментный" регистр, без особого смысла как у ss (сегмент стека).

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Bottle (?), 12-Апр-25, 15:41 
Фибры.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

17. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от th3m3 (ok), 11-Апр-25, 13:52 
И после этого, ещё Rust ругают за синтаксис?
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск языка программирования Crystal 1.16"  –2 +/
Сообщение от Аноним (5), 11-Апр-25, 14:03 
Синтаксис у него может и не самый плохой, но отсутствие хорошей IDE портит всё впечатление.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск языка программирования Crystal 1.16"  –5 +/
Сообщение от Аноним (24), 11-Апр-25, 14:35 
IDE нужна для джунов, вполне комфортно писать и без неё. Тут всё впечатление портит сам язык.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от Аноним (65), 11-Апр-25, 14:40 
Для любого крупного проекта нужна IDE, или как минимум языковой сервер
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск языка программирования Crystal 1.16"  –2 +/
Сообщение от th3m3 (ok), 11-Апр-25, 14:43 
Нет.
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от User (??), 11-Апр-25, 16:29 
Ага. Особенно, если окромя хелловрота ничего писать и не собираешься.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от Аноним (32), 11-Апр-25, 15:32 
"Блокнот" и компилятор командной строки.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

74. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (74), 11-Апр-25, 22:32 
И мазохизм, конечно
Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (89), 12-Апр-25, 15:09 
Emacs!
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

76. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от YetAnotherOnanym (ok), 11-Апр-25, 23:10 
> языковой сервер

Не напоминай про эту мерзость

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

98. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (65), 12-Апр-25, 16:44 
Это лучшее, что случалось с IDE. Теперь редактор можно развивать отдельно, а поддеркжу языка - отдельно, и не мирится с отвратительной IDE ради хорошей поддержки языка
Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (85), 12-Апр-25, 12:35 
Есть crystalline, хотя проект лишь "пассивно обновляется" автором.

https://github.com/elbywan/crystalline/blob/master/assets/sm...

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

34. "Выпуск языка программирования Crystal 1.16"  +3 +/
Сообщение от Аноним (34), 11-Апр-25, 15:48 
> вполне комфортно писать и без неё.

Хелловорлды — да.

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

41. Скрыто модератором  –1 +/
Сообщение от Аноним (13), 11-Апр-25, 16:17 
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

55. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (55), 11-Апр-25, 17:56 
Да, у Crystal синтаксис гораздо лучше.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

25. "Выпуск языка программирования Crystal 1.16"  –9 +/
Сообщение от Аноним (24), 11-Апр-25, 14:34 
Надоели уже новости о pet-язычках, на которых никто кроме автора не пишет и писать не будет. В которых даже идей новых нет. Crystal, nim, zig, v, сколько этого мусора уже наплодили...
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (30), 11-Апр-25, 15:08 
а где есть идеи?
Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от User (??), 11-Апр-25, 16:30 
Поезд уже ушёл, ага. Llm учить не на чем --> ненужно.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

53. "Выпуск языка программирования Crystal 1.16"  +3 +/
Сообщение от anonimus (?), 11-Апр-25, 17:22 
Вас кто-то насильно заставляет их внимательно читать? Или если Вам не нужно, то и всем остальным должно быть не нужно? Какое-то детское-потребительское мышление
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

87. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (-), 12-Апр-25, 13:14 
> Crystal, nim, zig, v, сколько этого мусора уже наплодили...

Продолжайте список

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

27. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от Аноним (65), 11-Апр-25, 14:38 
>разработчики которого пытаются совместить удобство разработки на языке Ruby

Интересно, какие это удобства писать на руби? Скобки при вызове можно опускать, как следствие для функционального программирования возникает проблема - имя функции неотличимо от вызова, как следствие возникают примеры типа этого

coll.reduce(0, &:+)

Подобная проблема внезапно есть в php.

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

a b == a(b)
a(b(c))

>с вычислением макросов

Макросы не гигиеничны
>В языке применяется статическая проверка типов, реализованная без необходимости явного указания типов переменных и аргументов методов в коде

Идея с выводом типов весьма интересна
>генерацией кода во время компиляции

Компиляция весьма долгая, словно в хаскеле

Идеи в языке интересны, но язык далеко не самый удобный

Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск языка программирования Crystal 1.16"  –3 +/
Сообщение от Аноним (51), 11-Апр-25, 16:51 
Лучше уж бороться со скобочками в руби и опционвльно собираться в натив, чем бороться с питонистами, не понимающими, что такое map и упорно заставляющими писать типы в скриптухе.
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск языка программирования Crystal 1.16"  –2 +/
Сообщение от Аноним (65), 11-Апр-25, 21:55 
>и упорно заставляющими писать типы в скриптухе.

Это позор питона, ведь код

def test(a : int):
  print(a)
  
test("a")

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

List.iter print_string ["hello "; "world"]

let result = let sum a b = a + b in
  List.map sum [1; 2; 3]

Хотя в этих строках тип данных не указан ни разу, компилятор знает тип каждой переменной

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (6), 12-Апр-25, 08:55 
Кому позор, а кому и регулярно помогает находить трудновыявимые баги до того, как они себя проявят. Да и в своём коде ещё ладно, а вот в коде зависимостей не всегда очевидно. Видимо, ты никогда не работал ни с чем сложнее привет мира, и не понимаешь, чем полезна индикация ожидаемого типа программисту (и не компилятору).
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (65), 12-Апр-25, 16:42 
>Кому позор, а кому и регулярно помогает находить трудновыявимые баги до того, как они себя проявят

В нормальных языка будет ошибка компиляции, ещё до запуска программы. В питоне может-быть где-то промелькнёт ошибка линтера, однако далеко не факт, что её хоть кто-то исправит. Это первый момемнт.

Второй момент - питон превращается в некую жабу, где нужно писать тип буквально на каждой строке.

Ответить | Правка | Наверх | Cообщить модератору

102. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (6), 12-Апр-25, 17:05 
Никто не заставляет это делать, пихай, что хочешь. Тайпскрипт вон по понятным причинам лучше жс прижился в приличных проектах. В питоне система типов хоть и более адекватная, но без тайпхинтов не очень удобно (и всегда возможно) угадывать.
Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Нуину (?), 11-Апр-25, 19:33 
Нужно что-то такое для питона. Да, я знаю, что есть mypyc, nuitka, codon и несолько других проектов.
Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск языка программирования Crystal 1.16"  +1 +/
Сообщение от BrainFucker (ok), 11-Апр-25, 21:08 
Cython.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Нуину (?), 11-Апр-25, 21:36 
> Cython.

Он более низкоуровневый чем сrystal?

Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск языка программирования Crystal 1.16"  –1 +/
Сообщение от Аноним (65), 11-Апр-25, 22:12 
Он не только более низкоуровневый, у него гораздо слабее система типов. Для Crystal код типа этого

10.times do
  a = Random.rand 10

  if a > 6
    b = "2"
  elsif a > 3
    b = "error"
  else
    b = 1
  end

  if b.is_a?(String)
    puts "b is string"
    c = b.to_i?
  else
    c = b
  end

  if !c.nil?
    puts c + 1
  end
end

не проблема, crystal позволяет присваивать переменной значения разных типов, и обрабатывать в зависимости от типа, cython так не сможет

Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (89), 12-Апр-25, 15:12 
Более низкоуровневый, чем CPython. Но, наверное, не сильно более.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

80. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (6), 12-Апр-25, 07:43 
Это всё не то (да и не даёт никакого профита), ты, видимо, ищешь shedskin или cython.
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

103. "Выпуск языка программирования Crystal 1.16"  +/
Сообщение от Аноним (103), 12-Апр-25, 20:00 
Возьмем по ведру фишек от каждого яп'а и с этим попытаемся взлететь.
Отличный план, только высота полета низенькая
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру