Pull to refresh
1
0
Send message

Я рад что в 13 лет, в местной библиотеке, мне на глаза попалась книга В.Н Андреев, А.Я. Иоффе "Эти замечательные цепи", классное научпоп введение в Марковские цепи.

Там от ML рожки да ножки остались. До версии 1.0 можно было говорить про ML-подобный синтаксис, потом началась игра в «поддавки» C-подобному синтаксису.
Тогда внедорожник назвали бы «Аляска», а смарт — «Курилы».
Ура, наконец-то нормальная обзорная статья по Cyclone.
Жаль, что он не вышел за рамки исследовательского проекта. Cyclone мне нравятся больше чем Rust.

В статье упоминается, что работы по типизированному ассемблеру предшествовали работам над Cyclone. Но при этом из текста не очевидно, что Cyclone генерировал этот самый типизированный ассемблер. В Rust-е такого нет.
Так же не упоминается язык ParaSeil, который разрабатывается с 2009 года компанией AdaCore (они занимаются развитием языка Ada). Там тоже управление памятью на основе регионов + может предотвращать гонки данных во время компиляции. Да и сама Ada с 2005 года взяла несколько идей у Cyclone, например ненулевые ссылки.
Я давно уже понял, что обсуждение синтаксиса это всегда вкусовщина, тут нет истины, нет конкретики, всегда все субъективно.
Одного воротит от отступов, другого от begin end, третьего от таких скобок "(" и ")", но зато он фанатеет от "{" и "}";
один ценит краткость, другой информативность; один привык воспринимать код как плоский текст, другой же и шагу не ступит без нормальной IDE, и т.д и т.п. Любой аргумент одного будет восприниматься других в штыки.
И вот это Ваше: «Пожалуйста, хватит ругать синтаксис» — это неуважение к собеседнику с мнением отличным от вашего.
Получается, что все вокруг дураки одни вы умные. И чем с таким отношение к собеседнику, вы отличаетесь от с++ шников?
Там тоже считают, что все решения, которые принимает комитет, все они продиктованы реальной постребностью, а все попытки обойтись без этих решений наивны и смешны.
И да текущий синтаксис раста, это то что бывает когда начинаешь как исследовательский ml-подобный проект, а потом на середине переправы понимаешь, что с и с++ ники такой синтаксис не примут и надо подстраиваться под них.
Для меня, красноречивым стал спор коллег какой синтаксис лучше reason с заискиванием с js, или классический occaml.
Вот прям идеальная иллюстрация того, что у людей разные представления о хорошем.
Так это Роб Пайк автор языка Го, он же и один из соавторов Plan 9)
все же есть разница меджу паскалевским begin-end и модула 2 — ада end-вым синтаксисом, который переняла Lua, а за ней Julia, а теперь внезапно и Scala 3 подтянулась dotty.epfl.ch/docs/reference/other-new-features/indentation.html#the-end-marker
Думаю все, кто сидят в «чатиках по Rust» знают, что fafhrd91 та еще истеричка «ранимая душа», что не скажи все в штыки, все воспринимает на свой личный счет, еще до всей ситуация с Reddit, НО:
1. fafhrd91 не взял и тупо удалил репу, хотя мог и такое сделать, я бы лично не удивился, а пока просто перенес в личный аккаунт, и дал себе несколько дней на обдумывание дальнейшей жизни проекта. за что респект!
2. наверняка появятся форки проекта, которые сделают свой «идеальный actix», конечно не с такими темпами развития, но все же.
Так что не все так печально и трагично, как могло бы быть.
Просто Rust дорос до той точки развития, когда у технологии (язык, фреймворк и т.д) появляется устойчивое подсообщество фанатиков. И если на ранних этапах, это были люди на уровне «городской сумасшедший», то теперь это уровень «святая испанская инквизиция».
В язык пришли хаскелисты, для которых Rust «не ну, это, конечно не богоподобный Haskell, но для системщины пойдет». В язык пришли C/C++, которым C++ в ночных кашмарах сниться, а им обещали «безопасный C++». Или наоборот те кто зашли посмотреть на очередного «убийцу C++», и начинают троллить растовиков «че не можете без unsafe?)) теперь понимаете, все что есть в C++ не от балды сделано, это все необходимость, реалии жизни?»
Вот так и сформировался cargo (хех!) культ вокруг unsafe. И теперь все что использует unsafe признано смертным грехом(
Но можно смотреть на Rust и unsafe по-другому, можно считать Rust, как «С с ограничениями». Ведь по сути в языке нет какой-то rocket science, если вы знаете как работает сборщик мусора, вы быстро поймете, что все эти «владение, области видимости и т.д» это просто перенос сборки мусора с runtime в compile time. Все эти вещи можно в принципе считать как эвристики, которые программист, теоретически конечно, мог бы соблюдать и сам, как набор правил типа того же MISRA. Но на практике все понимают, что это тот еще гемор, поэтому этим занимается не программист, а компилятор. И вся функциональщина в языке служит в первую очередь для компилятора. И когда вы используете unsafe, это не: «Код Красный! Повторяю, Код Красный! У нас тут какой-то умалишенный на минное поле забрел!», это: «Ок, Компилятор, ты мне очень помог, но тут я сам как-нибудь разберусь. Следовательно, вся ответственность на мне!» Вы просто возвращаетесь на уровень C, ничего страшного не произошло, работайте так как работали с C. Все! Но кому какое дело, у нас же тут чистота арийской расы беспрекословное соблюдение принципов функционального программирования.
Что опять складывание чисел? Опять создают иллюзию «магии», которая за вас все сделает. И опять игнорируют тот факт, что за «магией» скрывается нетвиальная мат теория, которую следует знать, потому что очень быстро можно столкнуться с «ой, а почему тут за меня не вывели тип? а что надо было явно указывать?».
И да вся история про «автовывод типов» очень хороша, когда у вас под рукой инструмент, который вам если что подскажет какой тип у данного выражения, но когда вы смотрите код на каком-нибудь гитхабе, то бывает очень «весело» угадывать этот самый тип.
ну так первая версия Rust была написана на OCaml, и первоначальный Rust значительно отличался от текущей версии и был намного ближе к ML потомкам.
P.S И по-хорошему, в этом контексте надо вспоминать не про OCaml, Haskell и т.п, а Standard ML вот там было идеальное сочетание функционального и императивного программирования.
Ясно, понятно, так и запишем «глючное гов**»(
Не видел еще ни одно крупное приложение на Electron, которое бы не жрало оперативу и проц.
У вас же есть Kotlin/Native, почему его не использовали?
Казалось бы, есть веб версия, но она у вас написана на kotlin-react, т.е на Kotlin to JavaScript, и я сомневаюсь, что на таком огромном проекте это производительное решение.
Ага, а свой кастомный js прям отличная идея?

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Registered
Activity