The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.48, opennews (ok), 19-Ноя-20, (0) [смотреть все]

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


130. "Выпуск языка программирования Rust 1.48"  +1 +/
Сообщение от nomad__email (ok), 20-Ноя-20, 08:17 
Лучший, если уж на то пошло, SML (хотя и он не лишен недостатков).
С++ на звание лучшего никак не тянет, тогда уж С.
Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

351. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от burjui (ok), 24-Ноя-20, 21:29 
SML - это, конечно, прекрасно, но вот отсутствие стандартизированной системы модулей убивает весь кайф, особенно без вменяемой системы сборки и зависимостей вроде Cargo. Опять же, 2020 год на дворе, а UTF-8 всё ещё не завезли, и в целом стандартная библиотека скудновата. Короче, язык сильно нуждается в допиливании, после которого он будет почти идеален. Впрочем, оттуда почти всё удобное завезли в Rust (кроме GC и функторов), так что уже, в общем-то, и не нужно.
Ответить | Правка | Наверх | Cообщить модератору

354. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от nomad__email (ok), 24-Ноя-20, 21:49 
> без вменяемой системы сборки

https://www.smlnj.org/doc/CM/index.html

> UTF-8 всё ещё не завезли

https://www.smlnj.org/doc/smlnj-lib/Util/str-UTF8.html

> стандартизированной системы модулей

https://ru.wikipedia.org/wiki/%D0%AF%D0%...

> в целом стандартная библиотека скудновата

https://www.smlnj.org/doc/smlnj-lib/index.html
https://smlfamily.github.io/Basis/index.html

> не нужно

Кому как. Ничего не имею против Раста, но вот он мне как раз не нужен, в отличие от SML.

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

356. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от burjui (ok), 24-Ноя-20, 22:03 
Я не про те модули, не путай красное с тяжёлым. Что до SML "по версии" SMLNJ, ну, я рад за них. А можно эти плюшки завезти во все реализации - через стандарт, например? Язык-то хороший, я же ничего не говорю, но не без изъянов, как и его инфраструктура. Порядка не хватает, отсюда и непопулярность. Хотя, есть же C++... Короче, ты понял, о чём я.
Ответить | Правка | Наверх | Cообщить модератору

357. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от nomad__email (ok), 24-Ноя-20, 22:28 
> Я не про те модули, не путай красное с тяжёлым

Про аналог Cargo? Ну нет такого, да. Либо я пока о его существовании не знаю.

> А можно эти плюшки завезти во все реализации - через стандарт, например?

В MLton все это тоже вроде есть. Как минимум юникод. И бинарник он компилит вроде как без лишних телодвижений (утверждать не берусь, т.к. пока с SML/NJ работаю).
А стандарт у SML один - The Definition. Единственный нормальный стандарт из мной виденных. У Раста, кстати, пока вообще никакого стандарта нет. Точнее, он определяется единственной реализацией.

> Хотя, есть же C++...

Фу-фу-фу, его точно не надо.

> Порядка не хватает, отсюда и непопулярность

Скорее, тут в целом непопулярность ФП. У Лиспа вон все вышеуказанное есть, однако ж тоже малопопулярен. Erlang - то же самое. Народу гораздо привычнее сношать мозг кучей паттернов и антипаттернов ООП, и с умным видом цитировать банду четырех.
Порядка в SML как раз побольше, чем у остальных.
А есть еще вот такая штука: http://cml.cs.uchicago.edu/. Пока не пробовал, но выглядит интересно.

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

358. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от burjui (ok), 24-Ноя-20, 22:47 
Ну вот я про то, что юникод, модули в смысле Rust (они и без Cargo работают, кстати), систему сборки и т.п. лучше бы включить в стандарт. А заодно бы ad-hoc polymorphism завезти, а то стыдно как-то в 2020 году использовать разные операторы сложения для int и float. Насчёт ФП не согласен. У SML и с императивщиной всё прекрасно, в отличие от того же Haskell, так что дело явно не в ФП. Про ООП и паттерны полностью согласен. Вообще, такое впечатление, будто основная разработка ведётся профессиональными мазохистами-писькомерами. Типа, чем дольше по колючей проволоке можешь проползти голый, тем ты круче - особенно, если ползёшь agile'ово. Ну, тут всё как в жизни: где невидимая рука рынка смажет, там и будут роиться.
Ответить | Правка | Наверх | Cообщить модератору

360. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от nomad__email (ok), 25-Ноя-20, 05:48 
> А заодно бы ad-hoc polymorphism завезти, а то
> стыдно как-то в 2020 году использовать разные операторы сложения для int
> и float.

Ну уж что что, а полиморфизм в ML есть из коробки (система типов ХМ же):
- fun f x y = (x, y);
val f = fn : 'a -> 'b -> 'a * 'b

и хоть ты int туда передавай, хоть real - все одно.
Кстати, я очень удивился, когда увидел type variable. До ML я познакомился с Rust и теперь постоянно смотрю: а что же в Rust взяли из ML. Обозначение 'a, например, взяли, но поменяли семантику: теперь это не type variable, а life time. Оператор match - это один в один case из ML и т.д.
Чего не хватает Расту, так это формального определения и доказанной корректности. Хотя систему типов уже вроде верифицировали и RustBelt чего-то там ковыряют дальше. Доковыряли бы до конца - цены б Расту не было, идея с ownership мне прям очень нравится.

А вот в модном нынче Go, например, полиморфизма как раз нет - надо определять вагон и маленькую тележку функций для каждого возможного типа параметров. Или писать одну функцию, принимающую interface{}, а в ней - длиннющий type case. Ну не костыль ли, а?

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

359. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от burjui (ok), 24-Ноя-20, 22:53 
Кстати, есть ещё MLKit с region-based memory management:
https://github.com/melsman/mlkit

Занятная фича.

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

361. "Выпуск языка программирования Rust 1.48"  +/
Сообщение от nomad__email (ok), 25-Ноя-20, 05:50 
> Кстати, есть ещё MLKit с region-based memory management:
> https://github.com/melsman/mlkit
> Занятная фича.

Ага. Но мне сейчас нужны для работы SML/NJ и CakeML.

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

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

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




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

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