LINUX.ORG.RU

Почему Go это плохо, и он вам, на самом деле, не нужен.

 ,


7

15

Давайте я вам поясню про язык Go, откуда у него растут корни, и почему его на самом деле не стоит использовать. То что напишу ниже, это взято как из инсайдерской информации, так и из материалов, доступных в интернетах.

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

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

Но дело вот в чем. В гугле, на самом деле, над каждой командой гошников стоит тимлид, или целая группа, который/которая вот этим взаимозаменяемым роботам-гошникам расписывает всю систему, чуть ли не вплоть до состояния конечного автомата, до if-ов, и показывает куда и что писать. Поэтому же Go на корню режет всю креативность, поэтому там нет практически никаких средств абстракции, и поэтому он не дает делать вообще ничего сложного. Дабы программисты на нем вообще ничего лишнего не думали, а кодировали все чуть ли не побуквенно по указаниям умных людей.

Из гугла же идет маразматическая система управления зависимостями Го, которая заточена на монорепы.

Тут возникает вопрос - а почему этому тимлиду не дать в руки кодогенератор, вместо всей этой accidental complexity, возникающей из-за огромного количества строк кода, и из-за затрат на коммуникацию?

А тут надо понимать, как внутри устроены огромные корпорации типа гугла.

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

Естественно, это все отражается на качестве продуктов, и это видно как по полному прекращению инноваций в гугле, так и по постоянно мелькающим и закрывающимся высерам этой компании - hangouts, duo, google plus, google wave, и прочее и прочее, можете еще вспомнить много чего.

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

Никакой мифической простоты в отладке и в понимании кода Go не приносит. Да и сложность программных систем растет совершенно не из-за понятности/непонятности какой-то отдельной взятой строчки кода или функции. Потому, что, во-первых, понятность это понятие субъективное, во-вторых потому, что, отдельно взятая фунцкия на 5 строк понятна любому опытному программисту, будь она написана хоть на Rust, хоть на Common Lisp.

Сложность программных систем возникает из-за их размера. И Go эту проблему значительно ухудшает. Человек не может удерживать в голове слишком много вещей, даже если каждая отдельная вещь - очень простая. Количество RAM в голове ограничено.

В случае если вы не хотите выкидывать кучу денег просто так, и скорее предпочли бы нанять немного, но более-менее опытных программистов, Go будет только вреден, потому что все вменяемые люди от него, на самом деле, плюются. Он реально отталкивает опытных людей, которые способны понять сложные требования и написать, и поддерживать, более-менее сложные системы уровнем хотя бы нескольких сервисов плюс БД и MQ.

★★
Ответ на: комментарий от lovesan

Java-апплеты были не так уж плохи.

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

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

Что правда, то правда. Желание гугеля сделать свою платформу для приложений на базе сраного просмотрщика документов – это полный ПДЦ.

Я даже не знаю, что хуже: таскать софт с венды через Wine или охреневать от того, что каждый сайт теперь – огромная программа на 100500 строк кода, которая запускается на моём компьютере.

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

Причем, ЧСХ, и тогда и сейчас находятся умники, которые считают, что якобы никакого выдавливания плагинов(и вообще NPAPI итп) не было, и жопаскрипт победил якобы эволюционным путем, т.к. он якобы лучше, ага. Вот как они ща про Golang говорят(микросервисы, ага, конечно), или там про Лисп(скобки, lisp curse, прочая).

Вот это то самая простота которая хуже воровста, натурально.

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

Снова теории заговора, корпорации СГОВОРИЛИСЬ и выдавили java-апплеты, Flash и Silverlight… и Lisp заодно.

java-апплеты померли потому что разрабы браузеров решили что программный интерфейс подключаемых модулей (NPAPI) нафиг не нужен по причине того что это дыра в безопасности и тормоз в производительности.

Flash помер от того что Adobe задолбалось латать дыры в безопасности этого швейцарского сыра. Он запускал собственный процесс с отдельным контейнером памяти внутри браузера и оттуда уже можно было лезть в общую память в системе.

Silverlight был оч неплох по безопасности по сравнению с Flash, но также помер из-за отказа от NPAPI. Интерфейс подключения отчекрыжили и все: нет ножек - нет мороженного.

Это называется «эволюция», мало знакомое понятие для Лисперов.

JS конечно - говно и вообще не должен быть на бекенде, но то что Microsoft удалила свой Silverlight из своего же браузера потому что сговорилась сама с собой это уже шиза.

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

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

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

в чем-то более попсовом по сравнению с лиспом

Так а что попсовее лиспа может быть? Здесь полон тред «специалистов» по лиспу, не хуже чем в темах про плюсы, например 🤷‍♂️.

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

Лисперы выбирают круглые скобки, потому что те напоминают женские прелести своей округлостью, а плюсовики треугольные, потому что… Так, проехали 😊.

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

Иными словами кроме JS все остальные обгадились в попытке создать защищённую и производительную песочницу.

Ну и Стив Джобс, мир его праху, таки окончательно вбил гвоздь в гроб со всем этим непотребством, отказавшись поддерживать что-либо кроме JS на благословенном Айфоне.

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

Так а что попсовее лиспа может быть?

Basic и точка.

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

Иными словами кроме JS все остальные обгадились в попытке создать защищённую и производительную песочницу.

Получилось не у самого js, он как был говном так и остался, особенно в бизнес логике где много математики. Получилось у движка V8 тк он стал не только быстрым за счет отказа от промежуточной компиляции в байт-код, но и стал использовать контексты на каждый вызываемый сценарий отдельно. Это позволило работать с памятью без образования утечек и очень быстро собирать мусор.

Движок V8 оказался настолько удачным что яваскриптизеры прорвались на бекэнд оседлав node.js, но сам язык от этого лучше не стал. Как был однопоточным говном так и остался, event loop в ноде также однопоточный из-за того что js архитектурно создан чтобы лазить по DOM дереву, а оно больше одного потока не терпит.

Пришлось обмазываться асинхронностью (async/await) и обещать (promise) что это говно уровня «все объект» будет работать.

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

Получилось не у самого js, он как был говном так и остался, особенно в бизнес логике где много математики. Получилось у движка V8

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

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

Снова теории заговора, корпорации СГОВОРИЛИСЬ и выдавили java-апплеты, Flash и Silverlight…

Ну, да. Так и было. Гугель сотоварищи выдавили конкурентов. А что тебя удивляет-то? Ты ещё сделай вид, что такая говнина в первый раз произошла и что одни корпораты никогда не вставляли другим палки в колёса.

Ей богу, не понимаю, почему люди считают теории заговоров чем-то странным, ведь заговоры – вполне вещь вполне себе обыденная.

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

Сейчас гошка становится мейнстримом, потому-что уже написано куча важного и нужного софта.

может раст, может си, может питон(его бы с гошей похоронил хотя на том и том много кода написал)

s-warus ★★★
()
Ответ на: комментарий от lovesan

флешь, это по сути тот же js (actionscript) без костылей, js создаёт проблему, а потом героически её решает добавляя стрелочные функции и тп, в actionscript не было проблем поэтому и костылей добавлять не нужно было.

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

а) Господь любит нас

Появление на замену C++ именно Rust-а заставляет в этом усомниться.

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

Ну вот, «разрабы браузеров решили», т.е. сговорились. То же и про лисп - была «зима искусственного интеллекта». Эволюция в общем-то в вашей модели мира так и работает: одни других поубивали и получилось, что убитые не прошли естественный отбор. Не потому, что они были хуже во всех отношениях, а просто у них зубы не такие большие оказались. Или так решила незримая рука Хаоса. Или геноцидщики сговорились и поубивали проигравших в результате заговора, напав из засады. Чтобы напасть из засады, вообще не надо быть лучше и сильнее, просто фактор внезапности, и всё. Заговоров в истории вообще-то полно, нет оснований в них не верить. Т.е. вопрос не в том, есть ли заговоры, а вопрос в том, какие именно заговоры есть на сегодня. И есть вопрос, что из событий объясняется заговором, а что объясняется по-другому. Априори считать, что любое событие не является следствием заговора - не менее глупо, чем считать, что любое событие является следствием заговора. Всё сходится.

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

А кто, собственно, эти илитарии? Линус Торвальдс, который в редакторе, написанном на лиспе, творит свою нетленку? На лиспе тоже написана кучка важного и нужного софта.

З.Ы. Нет, вру похоже, там был МикроЕмакс, который вроде написан на Си. Ну что, не осилил значит. Есть другой софт, например, G2, список пользователей я видел, но не скажу вам. И ещё другой, американский страховой бизнес. И тоже составляет индустрию.

Также есть Z3 (используется в Clang Static Аnalyzer), там внутри своя реализация лиспа, которая является основным входным языком. Вполне себе современный продукт.

Я уж не говорю про AllegroGraph

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

Если я хочу теперь посмотреть на лисп - то куда смотреть и что использовать? И вообще ворох вопросов:

  • Что является лиспом? Только Common Lisp?
  • Scheme - это лисп? А Racket?
  • Стоит ли смотреть Clojure или это вообще не имеет отношение к лиспу?
  • Какие есть хорошие книги/тьютуриалы для лиспа?
Elidee
()
Ответ на: комментарий от Elidee

Если я хочу теперь посмотреть на лисп - то куда смотреть и что использовать?

Смотри всё подряд. Составишь собственное мнение о том, что такое лисп, придёшь и нам расскажешь.

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

Плохой совет. Во-первых - это время. А во-вторых - может не понравиться какой-то из этих вариантов(?) лиспа, я скажу что лисп остой, а мне в ответ - так ты же не лисп смотрел. И возможно будут правы. Нужно мнение эксперта.

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

Нужно мнение эксперта.

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

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

Пока правил, уже ответили. Исправленный вариант:

Хороший вопрос, с чего начать, я даже не знаю, что сказать. Я интересовался ИИ и начал с CLISP. Потом нашёл EMACS, потом Lispworks (там есть бесплатный ограниченный вариант), в итоге закончил тем, что написал свою IDE для SBCL. Хотя она сырая откровенно, в ней Windows-подобные сочетания клавиш. Если полезешь в EMACS, там одних сочетаний клавиш хватит, чтобы сломаться.

Вроде бы в Allegro Common Lisp Free Edition более человечные сочетания клавиш, но я его почти не ковырял. Так-то это лидирующая коммерческая реализация CL, страшно дорогая, но для ознакомления сойдёт.

https://franz.com/downloads/clp/survey

Но времена меняются. Сегодня есть ClojureScript и Clojure из популярного. В EMACS вполне себе лисп. Ещё есть вот это:

https://compsys-tools.ens-lyon.fr/z3/index.php

Оно для доказательства теорем, но основано на лиспе. Локально можно запустить как-то так z3 -smt2 -in, но (+ 2 2) там не вычисляется, мне некогда разбираться.

Но так-то вообще, если используешь любой лисп, то тебе нужен EMACS. То, что есть в VS Code - это пародия на лисп-среду. И даже в Lispworks редактор на базе EMACS сделан.

Так что начни с EMACS lisp. Насколько мои сведения не устарели, EMACS для работы с окамлем и языками лисп-семейства просто не имеет замены на сегодня. Так что, если будешь заниматься лиспом, то от емакса никак не уйти. Изучение EMACS требует мужества.

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

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

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

В дополнение: по Clojure/Clojurescript есть вакансии, обычно за них хорошо платят. Если ты джавист/фронтендщик, тебе это вполне может помочь. Лисп лечит (ну или калечит, смотря к кому он применён). А вот я посчитал в Z3, сколько будет 2+2. Это не лисп-система, а система доказательства теорем, поэтому так сложно.

$ z3 -smt2 -in
(declare-fun x () Int) ; хз что это значит, ChatGPT набредил
(assert (= (+ 2 2) x)) ; добавляем в теорию уравнение 2 + 2 = x
(check-sat) ; решаем нашу теорию
sat ; z3 нам сказал, что есть решение
(get-value (x)) ; извлекаем, чему же равен x в этом решении
((x 4))
den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Emacs не проблема - использую как редактор, но не как IDE.

Еще как условие для отбора лиспа - хотелось бы поработать с ним в реальных задачах. Для меня сейчас это работа с сервисами AWS: DynamoDB, SQS, SNS. Сбор и обработка данных, нотификация других сервисов в случае отклонений, и т.д. Поэтому очень желательно наличие библиотеки доступа к сервисам AWS.

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

Тут не посоветую, не в курсе. Не факт, что оно есть. Мне кажется, это какие-то девопс задачи, мне ни разу не встречался лисп в этом контексте. Но если там используется java и js, то это показания для использования clojure/clojurescript. Если используется python, то мне тут недавно советовали язык hy, но я не успел с ним толком покопаться, не знаю, насколько он хорош.

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

Такой вариант возможен, риски понятны, но готов согласиться с тем что скажет и предложит @lovesan

Вежливо ты сформулировал. Я понимаю, что я могу выглядеть одиозно, однако в то время, как @lovesan уже давно слился и работал на .Net, я зарабатывал лиспом деньги. Я применял лисп на 5 своих работах. В двух случаях генерил какой-то там код. В третьем случае я его в итоге засунул в прод, не очень я хорошо поступил, но это было оправдано, т.к. так мне было быстрее разрабатывать, а команду расширять до адекватных размеров начальство жабилось.

В четвёртом случае собрался клан лисперов и мы убедили начальство переписать код с питона на лисп. Это был эпик фейл, т.к. лисп окзался медленнее. Это шок, конечно, но дело было в FFI - формат строк в лиспе не UTF-8, и на преобразованиях мы потеряли слишком много скорости. Только сегодня я додумался, что надо было просто научиться работать со строками в UTF-8. Но уже поздно. В итоге переписали обратно на Python, и не факт, что это хорошо, потому что именно в этой программе горячая замена и JIT-отладка пришлись бы прямо очень и очень по делу. И там я до сих пор работаю.

Также в двух случаях меня именно нанимали кодить на лиспе. Правда, в одном случае я не прошёл испытательный срок (там были гуманитарные проблемы, а не технические). Так что возможно, что у меня длиннее. Когда @lovesan предъявит свой более длинный… опыт применения лиспа в работе, то прислушайся к его словам вперёд моих :)

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

Итого: даже у матерого лиспера в двух случаях из пяти лисп не был оправданным выбором. Отличная статистика, говорит сама за себя.

Но, видимо, на job security лисп работает как никакой другой язык.

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

Как ты насчитал два? Ну а так вообще смертность IT - проектов, ЕМНИП, порядка 70%. Если бы даже ты был прав со своими 40%, то это хороший показатель. Но на самом деле этот показатель 20% - это вообще отличный результат. Кроме того, и в том случае, когда лисп проиграл, задача была решена. Проблема была в том, что решение оказалось неконкурентоспособным по производительности на тот момент. По большому счёту, если бы мы тогда выстояли, сейчас было бы лучше, потому что мы могли бы те задачи, которые сейчас месяц решаем, решать за неделю.

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

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

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

Как ты насчитал два?

Элементарно, Ватсон (c)

Номер раз:

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

Номер два:

В четвёртом случае собрался клан лисперов и мы убедили начальство переписать код с питона на лисп. Это был эпик фейл, т.к. лисп окзался медленнее.

Как-то так.

Если бы даже ты был прав со своими 40%, то это хороший показатель.

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

В частности там, где вы проиграли в производительности питону, какая-нибудь Scala могла бы порвать оба ваши решения в клочья. А если проект еще и под Win был, то смело сюда можно было бы добавить и C# с F#.

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

На job security лисп не работает. Как бы хорош не был коэффициент job security, вакансий по CL просто ничтожно мало.

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

Из того, что вы рассказываете лисп как раз на такой сценарий отлично работает :)

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

собрался клан лисперов и мы убедили начальство переписать код с питона на лисп. Это был эпик фейл, т.к. лисп окзался медленнее. Это шок, конечно, но дело было в FFI - формат строк в лиспе не UTF-8, и на преобразованиях мы потеряли слишком много скорости. Только сегодня я додумался, что надо было просто научиться работать со строками в UTF-8.

Отлить в платине, прикрутить к гранитной стене криптонитовыми анкерами, установить на Главной Площади Мира, чтобы всех топящих за лисп бить об центр получившейся конструкции лицом.

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

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

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

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

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

Только сегодня я додумался, что надо было просто научиться работать со строками в UTF-8.
Только сегодня
я додумался
что надо было просто научиться
работать со строками в UTF-8.

На какой-то там год
Один
ОДИН!
Из Клана Лисперов!!
ДОДУМАЛСЯ!!!
Что надо было ПРОСТО!!!
ПРОСТО НАУЧИТЬСЯ!!!
НАУЧИТЬСЯ РАБОТАТЬ СО СТРОКАМИ!!!!1111111ААААААА

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

Угу, но контора сама по себе может закрыться, и тогда все вот эти приготовления окажутся бесполезными. Однако я так не делал, я просто делал свою работу, используя те инструменты, которые считал правильными. Более того, я даже нашёл себе напарника в этой ситуации, поскольку я могу уйти в отпуск или попасть под трамвай, а никто же не интересовался тем, чтобы предприятие не остановилось из-за того, что в коде что-то сломается. Тут даже лисп не нужен - любая достаточно сложная система не может быть быстро починена, если нет информации об её устройстве.

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

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

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

Так что считать это неудачей нельзя.

Я и не говорил про «неудачу», если быть точным то:

Итого: даже у матерого лиспера в двух случаях из пяти лисп не был оправданным выбором.

Т.е. у выбора в пользу Лиспа оказались достаточно сильные негативные последствия, чтобы даже вы о них говорили.

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

Скорее всего, Scala слила бы ещё эпичнее, т.к. это JVM. Строки там точно так же не в UTF-8 внутри. Лисп компилирует в машинный код, а не байткод исполняет, а все эти басни про JIT компиляцию разбиваются об опыт работы в явовских IDE. А преимуществ лиспа у Scala при этом нет.

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

А что такое «оправданный выбор»? Выбор точно не оправданный, если проект потерпел неудачу. Если бизнес-задача решена, решение устраивает заказчика, деньги пришли на расчётный счёт, заказчик не подал в суд, не проклинает разработчиков на утренней молитве ежедневно, то значит выбор был оправдан. Даже если можно было сделать по-другому, то это не означает неоправданности выбора. Но если ты решил заняться софистикой, то валяй.

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

ЧЕГО Я РАЗОРАЛСЯ ААА ЧЕГО Ж Я РАЗОРАЛСЯ-ТО ДАЖЕ НЕ ЗНАЮ ГГГГГГГ СУКАСУКАСУКА Ух блин фух всё, всё.
Две тыщи каментов этот топик ожидал лиспера с историей успеха, и лиспер не подкачал.

thesis ★★★★★
()
Ответ на: комментарий от s-warus

может раст, может си, может питон(его бы с гошей похоронил хотя на том и том много кода написал)

Си и питон да, куча всего написано (операционные системы, ML etc) и это мейнстримные ЯП (в отличии от сабжевого лишпа). Раст же есть пристанище выскачек и горлопанов, грозящихся переписать всю вселенную, но у которых дальше создания CoC.md дело не идет. И не случайно.

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

готов согласиться с тем что скажет и предложит @lovesan

И так понятно, что он скажет. Навернуть борща половником %)

Почему бы и нет, собственно.

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

убедили начальство переписать код с питона на лисп. Это был эпик фейл, т.к. лисп окзался медленнее

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

Хотя это та самая крепость задним умом с моей стороны, наверное, и реально никто не ждал такого афронта.

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

Оно для доказательства теорем, но основано на лиспе. Локально можно запустить как-то такz3 -smt2 -in, но(+ 2 2)там не вычисляется, мне некогда разбираться.

Оно не основано на лишпе. Оно использует s-expr как формат данных, но в основном потому что никто в здравом уме это всё руками не пишет. Код для Z3 генерится другим кодом почти всегда, и тут s-expr как нельзя кстати.

Хотя если у тебя лишп – это всё что использует s-expr, то тогда может быть.

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