URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 128678
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Crystal 1.6"

Отправлено opennews , 17-Окт-22 13:59 
Опубликован релиз языка программирования Crystal 1.6, разработчики которого пытаются совместить удобство разработки на языке Ruby с высокой производительностью приложений, свойственной языку Си. Синтаксис Crystal близок к языку Ruby, но не полностью совместим с ним, несмотря на то, что без переработки выполняются некоторые ruby-программы. Код компилятора написан на языке Crystal и распространяется под лицензией Apache 2.0...

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


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 13:59 
Этим кто-то пользуется? Кажется оно ещё мертвее Ruby

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 14:15 
я

я им пользуюсь


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 21:21 
Why people leaving crystal?

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 14:24 
Manas Technology Solutions, 84 codes, Nikola Motor Company, PlaceOS.

"Выпуск языка программирования Crystal 1.6"
Отправлено Анонус , 17-Окт-22 14:57 
>Nikola Motor Company

Это которая макеты электрогрузовиков под горку катала?


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 06:45 
Она самая;)

"Выпуск языка программирования Crystal 1.6"
Отправлено YetAnotherOnanym , 17-Окт-22 16:06 
Лишь бы ты им не пользовался. А то ныть начнёшь "сделайте мне то, добавьте мне это, как я привык в том одном-единственном языке, который сумел осилить".

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 16:55 
Я пользуюсь

"Выпуск языка программирования Crystal 1.6"
Отправлено Hck3r , 17-Окт-22 22:24 
А для чего?
Web?

"Выпуск языка программирования Crystal 1.6"
Отправлено iiiypuk , 18-Окт-22 13:43 
Да, когда узнал о языке, начал использовать вместо Go, так как раньше я на Ruby писал.

А так пишу ещё мелкие консольные утилиты, где необходима работа с интернетом, когда лень на Си писать.

В целом мне нравится язык и стандартная библиотека, но скорость компиляции убивает.


"Выпуск языка программирования Crystal 1.6"
Отправлено penetrator , 17-Окт-22 14:25 
удобство разработки на языке Ruby

поржал


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 15:14 
Да этим только легаси ускорять.

"Выпуск языка программирования Crystal 1.6"
Отправлено inferrna , 17-Окт-22 16:10 
Версия 1.6
>Изменена логика перегрузки

В нормальных языках такое делают или в версии 0.х, или в отдельной мажоронй ветке. А тут кто-то через полгода из реп накатит, а потом будет попу вазелином мазать.


"Выпуск языка программирования Crystal 1.6"
Отправлено iiiypuk , 17-Окт-22 16:57 
Такие вещи там грамотно проектрируют.

Я компилировал код с фичами из новых версий старым компилятором и ничего не ломалось.


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 08:18 
> Такие вещи там грамотно проектрируют.

Что там можно грамотно проектировать для этого случая, если один и тот же код, в зависимости от компилятора, теперь будет разный результат давать?
Условно(!):

раньше, старый код/старый компилятор: 2x2=66 (а в логике - "активно покупать!")
теперь, тот же старый код/новый компилятор: 2x2=177 (в логике - "активно продавать!").

И разработчик чешет репу: что же там поломалось, что он кучу денег пролюбил, ведь ничего не менял же, только компилятор обновил на не мажорную версию.

А теперь представь что это произошло в глубинах чужих исходников, которые ты себе в проект затащил.

Да, конечно, надо тестами покрывать. Но надо и в отдельной мажорной ветке несовместимую версию компилятора  выпускать.


"Выпуск языка программирования Crystal 1.6"
Отправлено iiiypuk , 18-Окт-22 13:50 
Ну вообще ты прав. Такое себе решение, если язык хочет быть серьёзным продуктом

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 19:06 
Когда у языка пользователей целое ничего, это не имеет значения.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 01:46 
Это, кстати, хрень какая-то же.
Более частное теперь менее специфично, чем более общее.

"Выпуск языка программирования Crystal 1.6"
Отправлено Skullnet , 17-Окт-22 16:24 
Хороший язык программирования, но его не распиарили так как Go.

"Выпуск языка программирования Crystal 1.6"
Отправлено Имя , 17-Окт-22 16:48 
А какова его "фишка"?
Golang позиционировался изначально, одна задача - одно решение.
А здесь одна задача и тысяча и одна ночь на решение (выбор одного решения из тысячи).

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 18:13 
то есть ты не знаешь фишку, но берешься судить. классика опеннета

"Выпуск языка программирования Crystal 1.6"
Отправлено lflfl , 17-Окт-22 19:06 
Ну тыж не рассказываешь.

"Выпуск языка программирования Crystal 1.6"
Отправлено Skullnet , 18-Окт-22 01:13 
> А какова его "фишка"?

Нормальная стандартная библиотека, а не как в СИ. Возможность компилировать код в бинарник.


"Выпуск языка программирования Crystal 1.6"
Отправлено leap42 , 18-Окт-22 05:52 
> Хороший язык программирования, но его не распиарили так как Go.

И кто пиарит Go? Только не говорите Google, эти Go не любят, проекты на нём не пиарят, не одабривают его использование для своих проектов. Как докажу? Ну во-первых об этом говорят многие гуглеры, а во-вторых крупных проектов на Go, которые Google бы поддерживал, пиарил и продвигал, нет вообще (а первая стабильная версия, по-моему, 12 лет назад вышла, что как бы очень давно по меркам гугла).


"Выпуск языка программирования Crystal 1.6"
Отправлено Facemaker , 18-Окт-22 10:49 
>И кто пиарит Go?

Что-то странное ты говоришь. Go пиарили изо всех утюгов несколько лет подряд. Это я хорошо помню. Сейчас, может быть, уже не так, но и нужды нет - Go "взлетел", стал популярным (что как раз указывает на говённость этого языка, но это уже другая тема).


"Выпуск языка программирования Crystal 1.6"
Отправлено leap42 , 18-Окт-22 16:30 
> Что-то странное ты говоришь.

Я по факту говорю. Гугл утюгам не платил. Никто не платил.


"Выпуск языка программирования Crystal 1.6"
Отправлено Hck3r , 18-Окт-22 11:31 
Kubernetes?)

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 18:38 
Макросыыы.. а идея была непло.. а что за идея была ? Сделать руби ? Почти получилось

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 19:31 
Идея была сделать руби со статической типизацией (и соответственно настолько быстрый насколько позволит LLVM).

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 19:30 
Разве из помеси питона с паскалем может получиться что-то хорошее?

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 19:31 
Это про Nim. Crystal это скорее помесь С с Ruby.

"Выпуск языка программирования Crystal 1.6"
Отправлено Golangdev , 17-Окт-22 19:52 
Есть ли интероперабельность с C ?

Т. е. могу ли я в Crystal заюзать любую C либу, как в Kotlin любую Java-либу ?


"Выпуск языка программирования Crystal 1.6"
Отправлено kipar , 17-Окт-22 20:13 
Интероперабельность с С есть почти у всех языков. Во всяком случае, с бекендом LLVM для этого особых усилий не надо - просто скорми линкеру сишные библиотеки.
Вопрос только в том насколько хорош автоматический конвертер заголовков для этого языка. У кристалла он с одной стороны неплохой (библиотеки типа GSL или LAPACK я конвертил с минимумом ручных правок), а с другой - эээ, слегка мертвый? судя по https://github.com/crystal-lang/crystal_lib/issues/2 есть какой-то альтернативный скрипт, но я его завести так и не смог, так что пользуюсь бинарником конвертера скомиленным еще три года назад.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 20:26 
Нет конечно. Потому что из jar-файла Kotlin может прочитать все классы, интерфейсы и методы со всеми типами. А вот из C-библиотеки ничего кроме имени функции автоматически не получишь. Ни аргументов, ни типов.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 01:47 
А хедеры на что?

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 02:53 
Внезапно, для С-компилятора.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 14:25 
Для хедеров есть конвертеры в другие языки

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 19-Окт-22 00:14 
Хедеры далеко не всегда есть. А вот динамическая библиотека с C-нотацией экпорта функций - без проблем.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 19-Окт-22 17:11 
Наоборот - хедеры уж точно есть, если конечно библиотека опенсорсная. А вот сама библиотека - далеко не всегда (может и не собираться под данную платформу, а только под целевую).

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 19-Окт-22 18:07 
> хедеры уж точно есть, если конечно библиотека опенсорсная

Но вот как раз хедеры есть не всегда. Только для случая C и C++. Имея хедеры для C++ ещё и невозможно однозначно определить имена экспортируемых функций в имеющемся бинарнике динамической библиотеки, поскольку разные компиляторы C++ по-разному их формируют.

И вопрос был в сравнении с Kotlin, который, сидя на JVM, вообще не имеет никаких проблем с восстановлением имён, аргументов и типов из бинарника. И такому подходу никакие хедеры не нужны. В отличии от C, который далеко не всегда используется по-умолчанию.


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 20-Окт-22 18:02 
С котлином - да, не сравнить. В каком-нибудь бейсике так вообще - в библиотеке не то что имена, весь исходный текст доступен, можно поправить под себя если что не так.

Но мне кажется странной фраза "А вот динамическая библиотека с C-нотацией экпорта функций - без проблем.". С (и другие нативные языки) как раз позволяют собирать программу имея только хедеры, сама библиотека может быть недоступна. Например, сидя на линуксе линковаться с kernel32.dll.
Ну и примеры библиотек для которых нет хедеров было бы интересно услышать.


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 17-Окт-22 22:20 
Carbon, разумеется.

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 13:17 
> Carbon, разумеется.

Карбон это замена для Раста. При чем здесь Кристал?


"Выпуск языка программирования Crystal 1.6"
Отправлено Прохожий , 19-Окт-22 07:05 
Карбон - это замена Плюсам, всё-таки.

"Выпуск языка программирования Crystal 1.6"
Отправлено Facemaker , 19-Окт-22 11:32 
Carbon не замена Расту. Об этом говорится прям на заглавной странице:

Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should.

Carbon для тех плюсистов, которым влом изучать что-то совсем новое. То есть замена C++. На этом поле он, конечно, является конкурентом Раста.


"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 18:41 
Только ленивый ещё свой язык не сделал

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 18-Окт-22 23:07 
:D студентами помню изучали "yacc" то там у каждого были лабораторные работы где мы свои компилируемые ЯП создавали. так вот нужно было отправлять свои поделки в опеннет с приставкой безопасный )))

"Выпуск языка программирования Crystal 1.6"
Отправлено Аноним , 23-Окт-22 03:51 
Вот объясните, нафига в синтаксис пихать слово end? Людям не надоедает его вводить? Неужели нельзя по пробелам блок вычислить или сделать нормальные скобки?