Выцепил несколько серий сообщений из телеграма на тему OCaml’а и его популярности в контексте того, что по примерно такой же схеме и шум-поплуярность раста через пару лет пройдут. Может кому интересно полистать будет или есть чем дополнить.
Alexander:
Вот, вспомнил - ocaml, на старте был вообще огонь язык. Вот это точное зеркало из прошлого раста.
Andrey @ozkriff Lesnikov:
я бы даже окамль одним из родителей раста называл. но он, как минимум, рантаймом толстоват.и с окамлом, насколько я представляю, была сильная беда что в годы, когда у него реально была какая-то инерция, у него экосистемы никакой не было практической. даже на уровне текущего crates.io . Ну и вечно избегающий успеха хаскель окамлу попортил репутацию.
Alexander:
Ну что вы мешаете всё в кучу, ну зачем про крейта писать, когда в те времена это мало вообще кого интересовало. И кстати что-то вроде крейтса для него было очень давно, но конечно не в таком виде. Это никак не повлияло. У него был огненный сборщик, но его не смотри на мультредовость разнести - это был первый удар по нему.
Andrey @ozkriff Lesnikov:
Точно мало кого интересовало? На сях-плюсах была куча готовых библиотек уже, а тут все самому писать надо было - важный экономический фактор жеж.Ну т.е. ты уверен что плюсы с нами навсегда и никто никогда их не подвинет из текущих обширных ниш, потому что замены нет. Может и так получится, а будущая смерть раста навсегда отпугнет все попытки “убить плюсы”, но это такое ужасное будущее, что надо прямо сейчас начинать изобретать машину времени, что бы грохнуть страуструпа в молодости. И Айка прихватить между делом.
Alexander:
На окамле было норм библиотек и биндинги простые очень.
Andrey @ozkriff Lesnikov:
Это расходится с моей картиной мира. Может ошибаюсь, не кинешься ссылками на сравнение состояния экосистем до 2000 года? Я так сходу нагуглить не могу ничего более-менее точного.
Alexander:
Я поищу, но тоже хз. Просто у меня он был тогда в проде, я протащил его на один проект, который на плюсах сначала писался, и помню падал постоянно. Особенность окамла была - скорость огромная и гц очень быстрый при этом тоже, те реально заменой плюсов его пророчили тоже. Хотя тогда плюсы были популярнее конечно.<…> Я сам надеюсь что такого не будет, но просто описал один из сценариев развития. Но вот окамл - хороший пример все же выплыл.
Andrey @ozkriff Lesnikov:
Про экосистему окамла без конкретики рассуждать сложно, а вот вшитиый в язык гц, пускай и очень быстрый, это “сразу нафиг” от 90% плюсовиков, которые даже разбираться дальше не станут. Т.е. это даже не так что бы реальный фактор, скорее рекламно-репутационно-психологический. Положение раста в этом плане меня несколько обнадеживает.
Alexander:
Тогда бенчил окамл и он плюсы обгонял, не говоря о всяких бустах. Он реально был в лиге первых по производительности, как и Раст сейчас. Кстати на нём и игры писать начинали и они не тормозили.
Andrey @ozkriff Lesnikov:
производительность кода и его предсказуемость таки несколько разные вещи. с гц второе обычно сильно страдает. ну и, как сказал, это уже фактический аргумент, который не факт что на эмоциональном уровне плюсовикам убедителен будет)а что за игры с ядром на окамле кинешься ссылками? я не в теме.
Alexander:
Это было я боюсь вспомнить сколько денег назад, 10-12 минимум!
Я знаю что оно как бы теоретичечки так, но практически окамл имел очень интересный сборщик.
@larhat:
у окамла с предсказуемостью всё ок
Andrey @ozkriff Lesnikov:
кинешься ликбезом на тему?Ну и в целом, если кто знает хорошие ссылки на тему “почему ocaml не ‘выстрелил’?” тоже киньтесь почитать, пожалуйста.
@larhat:
да в реал ворлд окамле хотя бы –
гц простой у окамла достаточно и компилятор тоже весьма тупой и генерит понятный асм
Andrey @ozkriff Lesnikov:
ссылки попозже почитаю детально, но по беглому просмотру чего-то принципиально решающего проблемы встраивания ocaml библиотек в неродное окружение и меньшей (по сравнению с RAII всякими) предсказуемости не увидел.
@freecoder:
Я не знаю OCaml, но предположу, что он просто опередил свое время. Не попал в тренд. А Rust, я думаю, попадает.У OCaml синтаксис более академический, и на мой взгляд еще менее понятный, чем растовский. Без острой необходимости в повышении производительности и переходить со всяких Java не понятно, зачем.
- еще нужно знать, что там в OCaml с модульной системой. Насколько легко создавать “кирпичи” и потом из них что-то складывать. Где-то начиная с 2000-х это одно из решающих свойств, я считаю.
Andrey @ozkriff Lesnikov:
модули о окамла точно божественные. навороченней растовых.
@freecoder:
Значит придерживаюсь пока старой позиции: опередил свое время + взрывной синтаксис. С последним можно было бы и смириться, если бы не первое (то есть если бы не отсутствие острой практической необходимости брать что-то вне тогдашнего мейнстрима).Значит придерживаюс
Теперь постепенно OCaml перетащат в Rust )
Andrey @ozkriff Lesnikov:
Так-то изначальный дизайн Раста и правда наамного ближе к окамлу был, чем к теперяшнему расту.
@freecoder:
Нужен был мост, переходный вариант от Си. Им и стал Rust
@savant_d:
ML-языки очень долго оставались игрушкой для чучоных и дальше их среды не выходили. Конкретно с окамлом проблема ещё в том, что они его только последние пару лет начали учить нормальной многопоточности, чтобы потоки работали параллельно, что ставило крест на применении в чём-то многоядерном. Плюс некоторая непривычность языка и ломающие мозг модули, хотя по раскумару кажется прикольной штукойплюс у окамла родовая травма в виде отдельных операндов для операций с плавающей точкой. Ну и рантайм который надо за собой таскать.
А так, лично мне знакомство с окамлом сильно упростило вкатывание в концепт раста
тому что ноги растут из одних идей, к расту ещё прикрутили бороучекер и оторвали модули и объектыобъекты не особо жалко, они и в окамле сбоку бантик ИМХО