Комментарии 45
Make web great again!
В js все обьекты передаются по ссылке (наследие явы)
Какой ещё Явы? Эти два языка не имеют к друг другу ни малейшего отношения.
да не, смотрите, префикс же общий java и javascript :)
Кажется, тут нужно пояснить: ява и js - два разных языка, хотя к оригинальности имен имеются вопросики. Ходят слухи, что javascript написали за две недели "на коленке", если так, скорее всего было влияние какого-то сильного предшественника. Если посмотреть на так называемую стандартную библиотеку js, мы найдем очень похожие идеи и интерфейсы из явы. Соответсвенно, cемантика передачи по ссылке (by ref) само собой адаптирована и в новом языке (того времени).
Влияния всяких предшественников там было много, но Джава там просматривается менее всего. Язык должен был называться LiveScript (и это значение до сих пор можно использовать в атрибуте language тега script), но в последний момент для хайпа дали имя JavaScript, потому что Java тогда сильно набирала популярность.
Нет, там наибольшее влияние оказал лисп (поэтому что это изначально и был лисп). Ну а передача по ссылке была почти во всех языках с гц того времени, поэтому от явы тут ничего нет.
а раст лучший язык программирования
исключений нет
памятью управлять не умеет (постоянно требует у программиста информации об этом)
нормальной асинхронщины нет
и как это можно называть лучшим языком программирования?
Исключения не нужны (даже вредны), если есть алгебраические типы данных с вспомогательным сахаром.
Не знаю какой такой информации он у вас требует, у меня пока ничего не требовал.
Асинхронщина нормальная. Есть несколько специфических приколов, а где их нет?
математика и растущий из неё функциональный анализ — устарели с появлением второго языка моделирования мира — мутабельного императивного программирования.
поскольку все процессы в мире мутабельны (начиная с коллапса волновой функции), то наиболее адекватное моделирование получается в императивной мутабельной парадигме.
А потому все попытки продвигать функциональное программирование, все попытки запрещать исключения — ретроградство и луддизм
Не стоит ссылаться на квантовую механику, если не разбираешься в этом. Особенно если собеседник разбирается. Коллапс волновой функции — это вообще не процесс. Процессы происходят во времени и пространстве, коллапс же не таков.
Вообще представление о мире как о чём-то существующем в данный момент и меняющемся с течением времени, наталкивается на серьёзные трудности из-за теории относительности. Вот почему в современной философии популярен этернализм, согласно которому Вселенная существует как нечто неизменное, зафиксированное и включающее прошлое и будущее на равных правах.
Но всё это на самом деле имеет мало отношения к программированию. У программирования свои законы. А исключения кстати есть даже в Хаскелл, так что связь с функциональным программированием тут весьма косвенная.
Практика показывает, что исключения неудобны что в функциональном программировании, что в императивном. Они не отражаются в типах, из-за чего компилятор не помогает их правильно обрабатывать. Они имеют громоздкий синтаксис. У них крайне ограничена выразительность (например, вы не можете иметь коллекцию исключений).
Исключения не нужны (даже вредны), если есть алгебраические типы данных с вспомогательным сахаром.
Ещё бы у этих типов данных был сахар для сбора стектрейсов...
этот сахар называется try-catch
Где, в алгебраических типах данных?
сантаксис вида «в каждой функции проверять возвращаемое значение, при ошибке делать return с ошибкой» полностью эквивалентен исключениям, но ЗНАЧИТЕЛЬНО БОЛЕЕ ГРОМОЗДКИЙ
ну и стектрейсы по причине громоздкости не собирает.
соответственно, если довести до ума «синтаксический сахар», как запрошено выше, то получится try-catch
Мы тут вроде Rust обсуждаем, где в нём синтаксис try-catch?
в нем этого синтаксиса нет, а потому каждый программист в каждой функции вынужден писать кусочки кода от такой системы
в нем также нет нормального управления памятью, и снова программист выгужден постоянно думать об этом
и так далее
в общем, язык для мозахистов
Нормальное это GC? Ну так раст для тех случаев когда gc не подходит.
GC бывает разным, бывает что процесса GC нет вовсе, и здесь та же парадигма что у раст получится, но более удобно
в 21 веке язык позиционирующийся «можно в вебе» и отсутствие системы управления памятью — такое себе
Использовать backtrace? :)
Ну ставите anyhow и вот вам стэктрейс.
памятью управлять не умеет..... как бы сказать...
Я вот вообще мало что понял. Кроме того, что нечто довольно круто.
Да и вообще железные шканты - нет ни в коем случае.
Где? Какие шканты. Нахрена они вообще!? Согласитесь ничего не понятно.
Какая я то героическая история, как на ровном месте, из ничего, создать себе проблем, и героически же с ними бороться. Вместо того чтобы использовать более подходящие и проверенные инструменты.
Можно, но не нужно.
В такие моменты хочется чтобы текст написал AI, ибо человеческий этот понять невозможно.
Ну так прежде чем хаять Rust создайте что-то своё лучшее. Если сравнивать C\C++ то Rust куда лучше.
вроде интересная статья, не ии, доля иронии ( быстРАСТь ) а дизы ставят, интересное место хабр)

Растом можно в вебе