LINUX.ORG.RU

Почему ООП стало более популярным и соответствующие языки и технологии программирования чем то же ФП?

 ,


2

4

Заранее прошу прощения за то, что не в Talks, а сюда. Так получается, что теперь в Talks просто так постить нельзя, нужна некая карма и я должен «страдать» (Почему я не могу писать в раздел Talks? (комментарий)). Я в упор не помню данные своего старого аккаунта. Зарабатывать карму здесь и сейчас у меня нет ни времени, ни возможности, ни необходимости. Почему сюда, а не на другие форумы? Потому что считаю, что здесь обитают люди, которые смогут ответить на вопросы ниже и, возможно, даже, которые застали те самые времена (если конечно те самые люди ещё здесь).

Всем доброго времени суток! Не срача ради, а понимания для. Хочется понять историчность и почему так произошло. Понятно, что сейчас уже стали внедрять функциональные фичи много куда (в те же Java, C++, C# и т.д.). Стало появляться много функциональных языков (в том числе совсем новых). Но почему спустя столько времени? Почему спрашиваю:
- Functional programming has its origins in lambda calculus, a formal system developed in the 1930s (!!!) to investigate computability, the Entscheidungsproblem, function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus (отсюда: https://en.m.wikipedia.org/wiki/Functional_programming);
- Lisp появился ажно в 1958 году;
- после лиспа ещё была целая куча функциональных языков (APL, IPL, ML, Miranda, Erlang, etc.);
- C++ в 1985;
- Haskell в 1990;
- Java в 1995;

Сама идея ООП (и то я так понял весьма размытая, каждый понимал (и, кстати, по-моему до сих пор понимает) по-своему) вроде как витала со времени создания самого лиспа, но до конкретных реализаций она добралась ближе к концу 80-х - начала 90-х годов.
(поправьте меня, если не прав)
И это ещё при всём при том, что ФП имеет под собой весьма конкретный математический базис (чего я, пожалуй, не могу сказать про ООП).
Я так понял, что благодаря таким крупным компаниям как Microsoft, Oracle...
Но почему они так сильно повлияли на развитие этих технологий и как именно они это сделали я, честно говоря, не совсем понимаю.
Ок, ладно, тогда железо было не такое как сейчас, памяти было маловато для нормального существования функциональных языков на x86 платформе.
Но ведь была же та же, например, Symbolics, которая вроде бы весьма активно продавала лисп-машины?
Ок, Symbolics развалилась благодаря неблагоприятному стечению обстоятельств и «эффективным» манагерам, но их наработки оказались никому не нужны что ли?
И опять-таки, когда нужное железо появилось почему выбор этих и других крупных компаний пал именно на эти языки?
Почему не на функциональные языки?
Потому что в то время функциональные языки в основном использовались сугубо в академической среде или как?
Или если перефразировать всё вышесказанное словами моего коллеги: «если всё так круто (про ФП), то почему оно ещё не захватило рынок?»

Потому, что ООП — это удобно, а функционпльщина — жуткая нечитаемая мудохрень.

WitcherGeralt ★★
()

- Lisp появился ажно в 1958 году;

- после лиспа ещё была целая куча функциональных языков (APL, IPL, ML, Miranda, Erlang, etc.);

- C++ в 1985;

Говно ваш лисп и «куча функциональних языков». Древнее говно мамонта из эпохи ламповых ЭВМ.

Далее

функциональные языки в основном использовались сугубо в академической среде

Потому что это оторванные от реальности художества чертей, не имеющих отношения к разработке операционных систем, браузеров, компиляторов, баз данных и так далее. Вот и получается у них «нишевый продукт» от чертей и для чертей.

example_cat
()
Ответ на: комментарий от ComradeMajor

от обоих далеко, но эксплуатирующие его языки компиляторов: llvm и аналогичный gcc, а также CUDA и opencl ближе к С

next_time ★★★★★
()
Ответ на: комментарий от example_cat

Потому что это оторванные от реальности художества чертей, не имеющих отношения к разработке операционных систем, браузеров, компиляторов, баз данных и так далее. Вот и получается у них «нишевый продукт» от чертей и для чертей.

Не говори, эти ушлёпки PhDшники в индустрии не работают, компиляторов и операционных систем не пишут, только знай себе клепают ElectronJS приложения от рассвета до заката. Кто бы прогресс двигал, если бы не мы, 10x прагматисты?

ComradeMajor
()
Ответ на: комментарий от ComradeMajor

не ты чо, ты сидишь за компом, где ядро, дрова, DE, браузер и всё остальное написано на ФП. Потому что ФП сила, ФП облегчает разбработку и вообще, «конкретный математический базис».

example_cat
()

Смешно читать, когда некоторые личности говорят про каких-то «академиков, оторванных от реальности». Это какой-то комплекс неполноценности среди программистов после университетского курса матана?

Вообще всю тему можно использовать как иллюстрацию к этой статье: https://ru.wikipedia.org/wiki/Список_когнитивных_искажений

rassol
()
Ответ на: комментарий от rassol

лучше б ты привел ссылку на список софта, разработанного академиками.

понтуешься матаном, как будто ты сам его придумал.

anonymous
()
Ответ на: комментарий от anonymous

лучше б ты привел ссылку на список софта, разработанного академиками

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

Во-первых, у меня слово «академик» в кавычках, потому что некоторые здесь явно не знают его значения. Хочу лишь напомнить, что не все учёные — академики.

Во-вторых, сначала придумывают себе врага «академика», потом борются с ним всеми силами, а затем ещё и просят ссылки на софт, который разработал их выдуманный «академик». Кто выдумал этого «академика», тот пусть и приводит тебе ссылки.

В-третьих, противопоставление «академик—программист» — типичный пример дихотомического мышления — тупое и ущербное.

В-четвёртых; Кнут, Дейкстра, Макилрой, Вольфрам, Моулер, Майерс, Александреску и т. д. — все PhD. Они академики или программисты?

понтуешься матаном, как будто ты сам его придумал.

Оставь свои проекции при себе.

rassol
()
Ответ на: комментарий от rassol

Я думаю у них травма от ветхих дедов из пост-совковых универов, которые лет 20 занимаются псевдонаукой и им это сходит с рук из-за непоотчетности системы образования за реальные результаты применения их исследований в индустрии

vertexua ★★★★★
()
Ответ на: комментарий от monk

Это хорошо когда для себя программируешь, а когда заказчику быстрей скорей, там лишь бы не падало и собрано всегда из одних костылей. И в этом месте вижу превосходство открытого софта над закрытым, который пилится сообществом от души и для души, хотя в крупных проектах душа утрачивается, то же ядро linux с академической точки наверняка куда хуже, чем openbsd или hurd, но куда юзабельней для обычных людей.

ponchik-2
()
Ответ на: комментарий от rassol

они академики в смысле Августина - вне зависbмости от того что все тобой перечисленные phD (при этом не медиции, не юрии, не теологи, а отчего-то филомудрии)

Во-первых, у меня слово «академик» в кавычках, потому что некоторые здесь явно не знают его значения. Хочу лишь напомнить, что не все учёные — академики.

anonymous
()
Ответ на: комментарий от Eddy_Em

Всякие ReactiveJS отлично справляются с GUI и во многом даже удобней. Мне кажется, что функциональщина просто немного сложнее и не была распиарена корпорациями, в отличии от ООП. Даже в Perl-среде, HOP была для многих открытием и разрывом шаблона. Любую парадигму надо без фанатизма применять, в этом плане Perl очень мудрый язык, а в шестёрке эту мысль ещё сильнее развили. Ларри Уолл даже пошутил: «All Your Paradigms Are Belong To Us».

Сочетай открыто и смело! 359

perl5_guy ★★★★★
()
Последнее исправление: perl5_guy (всего исправлений: 1)
Ответ на: комментарий от perl5_guy

Всякие ReactiveJS отлично справляются с GUI и во многом даже удобней.

но только для отдельного класса задач - если заказчику хочется разнообразного интерфейса и свистелок, то оно становится не так интересно

next_time ★★★★★
()
Ответ на: комментарий от anonymous

лучше б ты привел ссылку на список софта, разработанного академиками.

Весь софт: от браузеров и ЯП, до ОС. Автор сишки Dennis Ritchie - PhD, вся core team wasm'а - с PhD, Торвальдс - MS, но среди контрибьюторов много PhD, автор Scala - PhD. В общем, они повсюду.

anonymous
()
Ответ на: комментарий от example_cat

Говно ваш лисп и «куча функциональних языков». Древнее говно мамонта из эпохи ламповых ЭВМ.
...
Потому что это оторванные от реальности художества чертей, не имеющих отношения к разработке операционных систем, браузеров, компиляторов, баз данных и так далее. Вот и получается у них «нишевый продукт» от чертей и для чертей.

Пардон, у меня вопрос: мсье когда-то пробовал писать на лиспе? Лисп эти 60 лет не стоял на месте, и в контексте нынешних технологий имеет очень хорошие перспективы, по моему мнению.

byko3y ★★★★
()
Ответ на: комментарий от rassol

Смешно читать, когда некоторые личности говорят про каких-то «академиков, оторванных от реальности». Это какой-то комплекс неполноценности среди программистов после университетского курса матана?

У меня по университетскому матану была пятерка.

Я как раз хотел написать, что я слишком акцентировал внимание на Страуструпе в своем гневном разносе - дядька вполне полезно хотел внести фичи выведения типов в более статичные языки. Проблема его, как и проблема Алана Кэя, заключалась в менеджерской прослойке, которая принимает окончательные решения и выбирает направления движения. Конкретно Страуструп очень, очень аккуратно пытается говорить о том, что иерархия, вообще-то, может подходить не всем приложениям. Я выразил эту мысль более смело, у меня нет наград и на моем авторитете не держится целая индустрия - я написал, что иерархия не подходит приложениям почти всегда.

В этом проблема многих академиков, и я в этих ситуациях сам был: необходимо периодически прогибаться и лизать очко, чтобы сохранять/повышать свою позицию и завоевывать расположение разношерстного начальства. Десять академиков сказали «строить индустрию на классово-ориентированной концепции - это бред», десять сказали «ООП имеет перспективы», а Страуструп сказал «знаете, не стоит ограничиваться одной концепцией, давайте пусть все окажутся правыми и никто не будет обижен» - он просто решил проблему кабинетной грызни, за что его и короновали. Стоит ли винить человека за какое-то «его» мнение, когда у него самого своих мнений толком и нету? А если и есть - он все равно не выскажет их.

Алан Кэй аналогичным образом не был согласен с использованием наследования, но и не возмущался - за что, опять таки, был коронован изобретателем ООП, которое, на самом деле, не имеет отношения к тем идеям, которые он сам преследовал.

byko3y ★★★★
()
Ответ на: комментарий от rassol

В-четвёртых; Кнут, Дейкстра, Макилрой, Вольфрам, Моулер, Майерс, Александреску и т. д. — все PhD. Они академики или программисты?

Знаешь, у нас в школе висел плакат, который я до сих пор не забываю - настолько он зацепил меня. Там была нарисована пирамида: «Задатки. Способности. Одаренность. Талант. Гениальность» - снизу вверх, от самой широкой до самой узкой. Суть это пирамиды я понял сильно позже: дети, которые с рождения имеют задатки, оказываются покалеченными родителями, не имеющими никаких педагогических способностей, и детсадами, которые в большинстве наполнены педагогами-неудачниками - лишь часть из детей к школе приходит со способностями; в школе способности заменяются однообразным мышлением и подчинением авторитету - небольшая часть из способностей развивается в одаренность; человек выходит из школы, где его ждет либо институт, либо работа, которые в большинстве случае успешно справляются с задачей уничтожения одаренности, и крошечная доля спустя годы выходит с талантом. Если это горстка одиночек сможет развивать свои таланты, то они станут гениальностью.

О чем это я? Кнут, Дейкстра, Вирт, Хоар, Кэй - они прошли эту полосу с препятствиями, которую многие пройти не сумели. Этот опыт не прошел для них бесследно - их ум усеян шрамами, воспоминаниями о бессонных ночах в окопах и о погибших в этом бою товарищей. Они - исключения, а не правило. Правило же - это кабинетная крыса, которая помнит всё, через что ей пришлось пройти, и ждет справедливого вознаграждения. Судить, кто из них программист, кто - теоретик, а кто тупо отыгрывает роль менеджера - я не буду, тем более, что четкого разграничения нет.

byko3y ★★★★
()
Ответ на: комментарий от monk

Какая структура данных оптимальна для хранения состояния если пишется небольшая библиотека? Хэш-таблицу использовать или придумать struct? Речь главным образом о Racket (но не обязательно).

Hertz ★★★★★
()
Ответ на: комментарий от perl5_guy

Всякие ReactiveJS отлично справляются с GUI и во многом даже удобней

С GUI хорошо справляется команда разработки браузера в гугле, потому что гугл вкладывает астрономические средства в эту разработку - и таки он установил контроль над большей частью десктопов. ReactiveJS здесь делает не больше, чем профессионал, кодящий мышкой формочки.

Если конкретно обсуждать старое доброе Reactive Programming, то необходимость добавлять его поддержку еще и в ноду вызвана той ситуацией, что рак JS в сфере разработки отдельностоящих приложений перетек в тяжелую стадию, и теперь даже V8 не может адекватно вывозить весь тяжелый софт, который пишут современные индусы - приходится иммитировать многозадачность при помощи событийной асинхронности.

byko3y ★★★★
()
Ответ на: комментарий от vertexua

Ну расскажи как надо чтобы не было рака

Нужно понимать, что JS, как и PHP - это языки, ключевая технологическая фича которых заключалась в возможности освоить язык умственно отсталым индусом. Отсюда возникает вопрос: чтобы было как надо где и что?

Пока вы думаете над ответом - я хотел бы вам немного представить разработчиков популярного фремйворка ReactiveX:
https://avatars0.githubusercontent.com/u/1269157 - Дэвид Дрискол
https://avatars0.githubusercontent.com/u/8270563 - Трэйси Ли
https://avatars3.githubusercontent.com/u/198247 - Сумит Арора
https://avatars0.githubusercontent.com/u/4744080 - Ашвин Сурешкумар
Ей богу, у меня такое впечатление, что отбор был по принципу «найти таких же малолетних д-ов, как и потребители этого фреймворка».

Итак, надо где и что? Надо для грамотного проектирования и реализации приложений? Выгнать всех индусов. Естественно, сделать это можно только в проектах с серьезным бюджетом - иначе кто будет кодить за еду? А при серьезных бюджетах проблемы с GUI как-то не возникает.
Мы вычеркиваем крупнобюджетные проекты - как же нам надо в малобюджетках? Тут мы сталкиваемся с проблемой - кто будет что-то разрабатывать для малобюджеток? Зачем? Как потом возвращать с них затраченные на разработку ресурсы? Вклад опенсорс-сообщества незначителен, более значим вклад крупных корпораций, которые опенсорсят свои продукты потому, что не видят в этом потери/конкуренции, а видят возможность использовать наработки сообщества в своих проектах. Здесь можно долго фантазировать о том, что мог бы сделать гугл или фейсбук, но они не сделали и не сделают - я даже не хочу грузиться по этому поводу, ведь я не их CEO/COO/Chief Engineer, и не претендую на эту позицию.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

это языки, ключевая технологическая фича которых заключалась в возможности освоить язык умственно отсталым индусом

Нет, они просто делались давно, когда не было наработаного опыта по эргономике языков программирования. Чем они проще? Сборщиком мусора? Они просто более убогие, но это не делает их простыми

Итак, надо где и что? Надо для грамотного проектирования и реализации приложений? Выгнать всех индусов

Преображенский, Шариков, «взять и поделить»

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от byko3y

Здесь можно долго фантазировать о том, что мог бы сделать гугл или фейсбук, но они не сделали и не сделают

Ну культуру сильной необходимости «брендинга», высоко кастомных сайтов для каждого магазина с помидорами они не могут поменять.

Ведь реально этим бизнесам на черта не сдался сайт, они просто об этом не догадываются. У них есть Фейсбук, где они бы сделали магазин, там такая фича есть, и горя бы не знали. Это вроде даже бесплатно и оно бы и рекламировалось, и не падало, и скейлилось и CEO и что хочешь. И на мобильные устройства, и для глухих, слепых, дальтоников. Там есть широчайший инструментарий для ведения любого бизнеса, прямо встроено в бизнес профиль ФБ

И че? Нет, все клепают визитки на реактах, потому что так принятно. Ну что поделаешь, разводят руками

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от vertexua

Нет, они просто делались давно, когда не было наработаного опыта по эргономике языков программирования. Чем они проще? Сборщиком мусора? Они просто более убогие, но это не делает их простыми

Много чего делалось давно, когда не было наработанного опыта. Конкретно JS и PHP возникли, когда технологиям высокоуровеных ЯП был уже больше 35 лет - здесь нельзя говорить, что прям таки не было опыта. Это было фишкой JS и PHP, это стало их ключем к успеху - их должен суметь освоить полный даун. Сборщик мусора здесь - это просто еще одингг мелкий штришок.

В это же время семимильными шагами рынок захватывал MS Office, сотворенный вокруг аналогичной идеи.

Итак, надо где и что? Надо для грамотного проектирования и реализации приложений? Выгнать всех индусов

Преображенский, Шариков, «взять и поделить»

Я серьезно же. Кадровый вопрос представляет собой важную и сложную составляющую успеха фирмы. Если вы сможете найти команду кодеров на каком-нибудь лиспе за вменяемый оклад, которые не свалят и не будут шантажировать - тогда почему бы и не лисп?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Много чего делалось давно, когда не было наработанного опыта

И все сделано плохо, от PHP до плюсов, и от джавы до лиспа.

Это было фишкой JS и PHP, это стало их ключем к успеху - их должен суметь освоить полный даун

Совершенная ерунда, на них еще проще нажраться битого стекла, никто всерьез не заседал в башне демиургов «йо, делаем язык для тупых».

тогда почему бы и не лисп?

Потому что он говно. JavaScript с расширеными возможностями стрельбы в ногу. Это сейчас его элитка приватизировала, ну пускай они хоть что-то там знают. А ты его в браузер засунь и смотри как с неба сыпятся горящие камни

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от byko3y

к сожалению да, лабы жене писал. «имеет хорошие перспективы» сродни «альтернативно красивый» или «лицо с гибким местом жительства». жопа она и есть жопа, как не называй.

example_cat
()
Ответ на: комментарий от vertexua

Ну культуру сильной необходимости «брендинга», высоко кастомных сайтов для каждого магазина с помидорами они не могут поменять.

Russian, mthfckr, can you speak it?

Высокоиндивидуальные инфоресурсы для торговых марок, подаваемые на английском и транслитерировано, впариваются теми, кто зарабатывает на клепании этого говна за еду, а также зарабатывает на содержании индусов, клепающих это говно за еду. И впариваются они тем, кто решительно ничего не понимает в IT технологиях. Я имел честь участвовать в создании такого коммерческого сайта, к слову. Меня порвала в клочья аргументация заказчика подобного сайта: «люди, которые этим занимаются, сразу понимают, что нужно - и картинки готовые вставят, и меню сделают».

И да, у меня очко горит от того, каким ужасно плохим становится веб. Особенно коммерческий, как ни странно - когда человек пишет сайт для души, то он не отягощен «кастом сайтами для брендинга, отображающий чёткий и значимый набор ценностей и атрибутов», а просто делает удобный сайт, которым хотелось бы пользоваться самому.

Я сам лично делал такие фейсы, и долго не мог понять, кому же может понадобиться такое говнище. А теперь знаю, и мне от этого знания грустно.

byko3y ★★★★
()
Ответ на: комментарий от vertexua

И все сделано плохо, от PHP до плюсов, и от джавы до лиспа.

Ну я же пишу - языков было создано сильно больше, чем кол-во получивших популярность. Я вот пишу на паскале, который никому не нужен, несмотря на все попытки некоторой конторы популяризировать этот язык. Сам базовый паскаль, по моему мнению, - хороший, грамотно спроектированный язык. Он забыт, он плохо развивался с тех пор.

Хороший язык бьется об стену гонокодеров, совместимости с имеющимися технологиями, и как преодолеть этот барьер - я не знаю. Имено потому сам вкатываются в технологии с большим кол-вом недостатков, но меньшее из зол, если так можно выразиться.

на них еще проще нажраться битого стекла, никто всерьез не заседал в башне демиургов «йо, делаем язык для тупых»

Неправда. JavaScript был сделан именно из этого соображения. По поводу PHP я бы не стал так категорично судить, но предельная простота была одним из ключевых критериев при «проектировании» языка. Проектирование в кавычках, потому что его не проектировали, а просто ляпнули что попало по образу и подобию - организация уровня «карго культ».

тогда почему бы и не лисп?

Потому что он говно. JavaScript с расширеными возможностями стрельбы в ногу. Это сейчас его элитка приватизировала, ну пускай они хоть что-то там знают. А ты его в браузер засунь и смотри как с неба сыпятся горящие камни

Хорошо, я уточню: лисп есть разный, лисп много раз преображался, потому лисп, который я имею в виду - это просто один из множества лиспов, которые многопарадигменны, с макросами, и с s-выражениями в качестве фундаменталньой конструкции. Как видишь, это весьма широкое определение.

byko3y ★★★★
()
Ответ на: комментарий от example_cat

к сожалению да, лабы жене писал. «имеет хорошие перспективы» сродни «альтернативно красивый» или «лицо с гибким местом жительства». жопа она и есть жопа, как не называй.

Ну. а кто название языка называть будет? Ты сейчас спалил свое поверхностное знакомство с лиспом, на самом деле: https://en.wikipedia.org/wiki/Lisp_(programming_language)#Timeline

Или, может, ты на том самом LISP 1/1.5/2 писал?

byko3y ★★★★
()
Ответ на: комментарий от vertexua

JavaScript с расширеными возможностями стрельбы в ногу.

То есть таки надо «йо, делаем язык для тупых»?

yyk ★★★★★
()
Ответ на: комментарий от byko3y

Нужно понимать, что JS, как и PHP - это языки, ключевая технологическая фича которых заключалась в возможности освоить язык умственно отсталым индусом.

Всё же не стоит забывать и то, что их изначальное предназначение это делать несложные анимации и заполнять простенькие шаблоны. Ну не виноват детский пластмассовый совочек, что его взрослые мужики в шахту взяли угля на гора выдавать.

ugoday ★★★★★
()
Ответ на: комментарий от vertexua

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

Завязывать ключевой бизнес на технологическую платформу, в которой вы ни байта не контролируете и из который могут в 5 секунд турнуть без объяснения причин и права на апелляцию — так себе решение.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

плесень не озадачивается вопросами - она растёт если есть субстрат

«95%» потребительской экономики - ровно такова - и это не баг а фича.

anonymous
()

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

Любой достаточно высокоуровневый ЯП, избавляющий от необходимости лезть на уровень ниже будет страдать этой побочкой.

Кроме ЯПов со сложной семантикой, конечно. Типа того же хаскеля (да и то, там надо учитывать откладывание вычислений и другие нюансы).

anonymous
()
Ответ на: комментарий от byko3y

JavaScript был сделан именно из этого соображения.

Нет, он был сделан чтобы делать короткие вставки. Язык ембеддед 10-строчечников в HTML страницу. О интеллекте разрабов ни слова.

Только потом началась волна сложных приложений на нем.

Это так же если бы разрабы awk сделали свой язык чтобы парсить строчки потоком. Потом индустрия изнасиловала бы awk, начала писать на нем софт для космических ракет, а потом бы орала, мол, какой дебил это изобрел, тут же в языке всего 5 фич, из них только 2 нормальных. Наверное для тупых делали

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от ugoday

Нет, это отсутствие нездоровой паранойи. Причем очень выборочной, что-то лишь совсем упоротые парятся что они не контроллируют электричество, водоснабжение и доступ до инета.

Еще раз, цена и что получаешь взамен. Фейсбук - цена никакая. Получаешь взамен столько, что тебе 20 человек за год такое не напишут.

У тебя риск один, что твой бизнес где-то в Иране и тебе завтра вообще может инет выключат насовсем. Ну что же, не нужно жить в Иране. Плюс, почему-то большинство планетки не живет в зонах такого риска, но говновизитки клепает

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от yyk

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

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Языки могут быть быстрыми, гибкими, мощными и все это без компромиссов с надежностью

Быстрый, мощный и, при этом надежный? Да ладно. Надежность и скорость, в общем-то, противоречат друг другу.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Быстрый, мощный и, при этом надежный? Да ладно. Надежность и скорость, в общем-то, противоречат друг другу.

Да, Rust - все три вещи без компромиссов. Большинство средств защиты вытирается компилятором. Почти весь оставшийся оверхед на безопасность вполне обьясняется что если бы плюсовый код делал бы те же проверки, то стоил бы столько же. Причем проверки отключаются unsafe и другими приемами, если хочется дожать последний 1% производительности. По моему это адекватный подход.

А теперь сравним с языками 90х. О, нужно безопасно! Вкатаем как VM, JIT и сборщик мусора и будем оптимизировать это 20 лет, пока на планете не останется человек 20 понимающих этот код

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Сколько человек на планете понимают код LLVM?

shdown
()
Ответ на: комментарий от eao197

И еще

Надежность и скорость, в общем-то, противоречат друг другу.

Моя позиция заключается в том, что этот закон действует только если мы уже исключили все факторы. Мы уже на пике производительности и надежности, вот тогда начинается компромисс. Rust как раз на этом раздорожье, достигнув пика когда все еще можно и то и то, и потом поворачивая по дефолту в сторону надежности. Это неплохо раз вся индустрия вообще не дошла до этой развилки.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Да, Rust - все три вещи без компромиссов.

И тут мы вспоминаем про unsafe.

если хочется дожать последний 1% производительности

Там не процент будет. Там разы на определенных операциях будут (типа перемножения матриц).

А теперь сравним с языками 90х

В 80-х был сделан Eiffel, в котором не было ни VM, ни JIT-а, только сборщик мусора. И сделан он там был как раз для обеспечения надежности.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

И тут мы вспоминаем про unsafe.

Выбор каждого, пользоваться или нет. По дефолту не unsafe

Там не процент будет. Там разы на определенных операциях будут (типа перемножения матриц).

Обычно таки процент. А множить матрицы если припечет, то можно на unsafe или в функциональном стиле (вытирается больше проверок)

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Нет, это отсутствие нездоровой паранойи.

Для нас, серьёзных мужчин, не зафиксированные в контракте обязательства не существуют. «vertexua пацанское слово дал, всё нормально будет» не относится к классу зафиксированных в контракте обязательств.

У тебя риск один

Называется фэйсбук.

К слову, я не считаю, что ваша идея совсем лишена резона, для мелкого кустаря, например, вполне подойдёт. Особенно если распараллеливать с ебеем и амазоном.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Так контракт то и с фейсбуком подписывается, особенно если им что-то платить (все равно меньше чем команде еникеев с реактом)

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

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

Да, выбор: быстро или нет.

А множить матрицы если припечет, то можно на unsafe

И опять же приходим к тому, что либо у нас быстро, либо надежно. Просто так и того, и другого не бывает. Ибо надежность она проистекает из контроля за ошибками пользователя. Не все ошибки можно выловить в compile-time (даже когда за это приходится платить усложнением разработки за счет борьбы с компилятором и продумывания лайфтаймов). Следовательно, придется платить за проверки в run-time.

Никаких чудес.

Ну и да, Rust пока еще не доказал свою жизнеспособность в дикой природе. В отличии от Java/C#. Не удивлюсь, если даже на маргинальном Eiffel есть проекты таких масштабов и объемов, которые Rust-оманам пока и не снились.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

И опять же приходим к тому, что либо у нас быстро, либо надежно.

Я же написал выше. Только когда уперлись в предел, когда нужно выбирать. А пока индустрией рулят одновременно медленные, одновременно опасные и одновременно негибкие языки.

Не удивлюсь, если даже на маргинальном Eiffel есть проекты таких масштабов и объемов, которые Rust-оманам пока и не снились.

На Rust уже есть проекты глобального масштаба. Firefox, npm registry, Facebook Libra, Google Fuschia, Chrome OS crosvm, Facebook Mononoke. Уже писал тут

Вышел Rust 1.37.0 (комментарий)

vertexua ★★★★★
()
Ответ на: комментарий от ugoday

Мимо в «быстрый», на одном ядре далеко не разгонишься. Мощный и надежный, ну из того что я смотрел достаточно неплохо по сравнению с многими.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.