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.

★★

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

не нужно расстраиваться

Дело не в расстройстве. Просто это неспортивно. Одно дело, когда тебе пишут «вот вы сказали, что бизнес – это вот это, а на самом деле – это вот это» или «вот вы думаете, что CL медленный, и для него нет библиотек, а на самом деле все не так, а вот так». Тогда от срача получаешь не только удовольствие, но и обнаруживаешь собственные заблуждения.

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

Ну не спортивно это, убивает всю ценность срача :)

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

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

Уйдёт пионер, который это придумал, нового человека на замену три года будешь с собаками искать

Я там выше про это говорил уже, да.

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

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

Где конкретика?

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

Или же у него постоянный напряг из-за того, что душа просит работы на CL, а вокруг разве что .NET и Go. Вот и накрывает из-за несоответствия ожиданий и реальности.

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

Глядючи как сейас парни на работе всячески пытаются порезать используемые инстансы

IT состоит из страдания. Сейчас будут нарезать на микросервисы, чтобы использовать дешёвые виртуалки. Потом замучаются управлять этим зоопарком, приколхозят оркестратор. На пол пути поймут, что уже написали половину кубернетеса, начнут на него переходить. Затем вам кто-то Istio вкорячит, потому что прочитал, что сервис-меш это круто и за ним будущее. И текущие проблемы с «порезать инстансы» будут вспоминать с доброй улыбкой и ноткой ностальгии. Таков путь!

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

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

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

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

текущие проблемы с «порезать инстансы» будут вспоминать с доброй улыбкой и ноткой ностальгии. Таков путь!

Шо поделаешь, не всё можно сделать топором без единого гвоздя. Поэтому и приходится для чего-то сложнее избушки на курьих ножках тянуть кабели, использовать сложные станки, строить заводы, университеты и коллайдеры. Таков путь %)

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)

До Golang были Newsqueak, Alef, Limbo (да и сейчас есть).

И вообще, не понимаю как проблемы корпораций и «сложного» ПО влияют на ЯПы.

Принцип KISS никто не отменял.

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

И вообще, не понимаю как проблемы корпораций и «сложного» ПО влияют на ЯПы.

Корпорации вынуждены набирать народ массово. А при массовом наборе невозможно укомплектовать команды на 100% специалистами высокого уровня. Поэтому «в среднем по больнице» у компании с 10000 программистов уровень обычного разработчика будет ниже, чем у компании с 20 программистами.

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

Отсюда и требования к ЯП: быть простыми, но при этом допускать разработку объемного ПО большими коллективами.

Принцип KISS никто не отменял.

Как раз появление таких языков как Java и Go и подчеркивает этот самый принцип. Java оказалась гораздо проще, чем тогдашний мейнстримный C++. Go оказался проще, чем сегодняшняя мейнстримная Java.

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

Как раз появление таких языков как Java и Go и подчеркивает этот самый принцип. Java оказалась гораздо проще, чем тогдашний мейнстримный C++. Go оказался проще, чем сегодняшняя мейнстримная Java.

Java 1 на мой взгляд не сложней Go. Сложность накрутили позже. Иронично, что Go повторяет историю Java, с теми же генериками, прикрученными гораздо позже релиза.

Лично мне было бы приятней писать на чём-то вроде Java 1. Без генериков, я бы ещё ООП там кастрировал (убрать наследование и модификаторы доступа), ну и, конечно, стандартную библиотеку переделать нормально. Не удивлюсь, если к этому всё и придёт. Может самому сделать свой язык.

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

Иронично, что Go повторяет историю Java

Может, так и задумано? Выкатываем простой язык, завоевываем публику. Усложняем язык, чтобы на нем еще и код нормально писался. Python, PHP, VB подобное проходили. И с другой стороны - сразу сложный Rust, мало кому интересный.

Кто не мечтает повторить историю (т. е. успех) Java…

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

Java 1 на мой взгляд не сложней Go.

Так я же не зря сравнивал Go с более современной Java.

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

И с другой стороны - сразу сложный Rust, мало кому интересный.

Скорее не так: он то много кому интересный (ну, реально, хайп вокруг Rust-а был и покруче, и подольше, чем хайп от какого-нибудь Ruby-On-Rails), но примеряется значительно реже, чем можно было бы ожидать от такой волны хайпа.

И тут, имхо, причина не столько в сложности Rust-а, сколько в востребованности нативных языков без GC (вроде Rust, C++, Ada) в современном мире. Ниш для того, чтобы оправдать сложность программирования в отсутствии GC, не так уж и много, а конкуренция большая. Плюс в этой конкуренции против Rust работает наследие на чистом Си и С++.

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

Есть язык (синтаксис), а есть культура его применения. Становление Явы произошло в период веры в ООП, поэтому там любят обмазываться абстракциями. А Go — напротив, появился во время разочарования в ООП, поэтому задачу там принято решать наиболее прямым методом.

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

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

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

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

ява позиционировалась как простой аналог с++, разумеется практически со всем ООП фаршем.

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

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

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

нужен новый хайп, как двигатель струй капитала

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

Может, поэтому на Го пишут кубернетесы, а на расте — эмуляторы терминала? %)

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

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

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

Другой вариант это компилятор SBCL

Там метаобъектный протокол - прямо реализуется, ну и макросы повсюду.

https://github.com/sbcl/sbcl

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

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

Становление Явы произошло в период веры в ООП

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

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

Они были одними из главных зачинателей мод в мире корпоративного софта тогда.

Забавно, что первоначально Java позионировалась на рынке как инструмент для разработки апплетов, которые интегрируются в Web-странички.

Трансформация Java в язык для корпоративного сервер-сайда произошла спустя несколько лет, когда уже стало понятно, что Java-апплеты не взлетели (а вместо них взлетел JavaScript).

В общем, интересная история о том, как начинали делать одно (замена C++ для разработки начинки для умных устройств), на рынок вывели другое (язык для разработки апплетов для Web-страниц), мейнстримом стало третье (язык для сервер-сайда и корпоративных систем), а потом, уже в мейнстриме, Java нашла себе нишу в разработке мобильных приложений для Android. Но, при этом, свое слово она сказала даже в своем первоначальном предназначении (умные устройства) в виде Java card и STK-апплетов для мобилок начала нулевых годов.

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

В частности, макросы там используются как для простенького синтаксического сахара, в стиле Obj-C/PowerShell

[:System.Console WriteLine "Hello, World"]

Так и для введения в язык конструкций из C#

(with-disposable (object ...)
    ...)

==>

using(var obj = ...)
{
    ....
}

или

(exception-case
    ...
  (System.ArgumentNullException (e) ...))

==>

try
{
    ....
}
catch(System.ArgumentNullException e)
{
    ....
}

Так и для создания конструкций необходимых для бутстрапа библиотеки, напрямую связывающих лисп и код на дотнете

(declaim (ftype (function (dotnet-type t) string) get-enum-name))
(defknown get-enum-name (System.Type :method GetEnumName System.Object)
    "Retrieves a name for enum value")
(hostcall get-delegate-for-lisp-function
              :pointer (make-pointer (%alloc-lisp-handle function))
              :pointer (%dotnet-object-handle delegate-type)
              :pointer rv
              :pointer code
              :pointer ex)

Или же просто для дедупликации бойлерплейта

(define-dotnet-printer-for-names print-assembly (asm stream)
    (Location IsDynamic IsCollectible)
  (format stream "~a~_ " [asm %FullName]))

Метаобъектный протокол позволяет связать объектную систему лиспа - CLOS, с дотнетом.

(defclass view-model-base ()
  ((property-changed :dotnet-name "PropertyChanged"
                     :kind :event
                     :handler-type PropertyChangedEventHandler
                     :reader vm-property-changed))
  (:metaclass dotnet-callable-class)
  (:documentation "Base class for view models")
  (:interfaces INotifyPropertyChanged))

или то же самое, но обернутое в макрос для удобства:

(define-dotnet-callable-class
    (view-model-base (:interfaces  INotifyPropertyChanged)) ()
  "Base class for view models"
  (:event property-changed PropertyChangedEventHandler
   :reader vm-property-changed))
lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

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

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

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

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

Т.е. код на лиспе, когда вызывает дотнет, на самом деле вызывает указатель на «сишную» функцию, с сишным ABI, которая является на самом деле методом из .NET, созданным с помощью Linq.Expressions, скомпилированным и далее превращенным в указатель через Marshal.GetFunctionPointerForDelegate, который занимается распаковкой параметров из примитивов и вызовом настоящего метода.

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

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

Ну допустим. что все макаки и им это непонятно. И что? Вся индустрия встала и все ждут прихода мессии с лишпом? Нет, все цветет и пахнет. Тогда что именно ты тут пытаешься доказать? Поплакаться? Ну дык это не мужское дело. Си когда-то стали стандартом индустрии системного софта, потому-что деятельные чуваки написали на нем системообразующий софт. Софт, который, собственно, эту индустрию и создал. Другой пример, начал некий Столлман пилить софт активно, напилил много, потянулись последователи, вроде Торвальдса. И вот уже через некоторое время образовался целый фонд софта, такой, что корпорации прониклись. Не абы какие, а ораклы с межделмашами. Там те самые эффективные манагеры увидели возможность профита. Захрустели банкноты. И вот сейчас вся индстрия на этом работает. Короче, вместо обзывания всех тупыми макаками и все технологии говном, лучше бы сделал что полезное и заметное, как Торвальдс с Столлманом. Но нет, как только тут тебе это предлагают, сразу начинаешь говорить про лички и сколько это будет стоить. Да кому оно надо? А когда в личке никого не оказывается, снова приходишь на ЛОР и обзываешь всех тупыми макаками и технологии говном.

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

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

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

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

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

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

это какая-то наивная вера

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

если у вас строгие типы, то ооп …

… не особо помогает. По крайней мере кто пытается программировать на типах, идут в сторону функциональщины.

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

По крайней мере кто пытается программировать на типах, идут в сторону функциональщины.

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

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

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

Ну допустим. что все макаки и им это непонятно.

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

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

И что? Вся индустрия встала

То что индустрия вся встала, это правда. Клепают говно, инновации прекратились совсем. Бабки тратятся немерянные, а софт получается только хуже и хуже.

Нет, все цветет и пахнет.

Говном.

Тогда что именно ты тут пытаешься доказать?

Меня спросили, я ответил.

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

Не поэтому.

Софт, который, собственно, эту индустрию и создал.

Не на Си она создана, и точно не макаками-юниксоидами из беркли.

Другой пример, начал некий Столлман пилить софт активно, напилил много, потянулись последователи, вроде Торвальдса.

Почитал бы хотя бы кто такой Столлман, где он работал, и что делал, и чем знаменит был в ранние годы, умник.

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

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

а ораклы с межделмашами.

Говно распильное. Их софт и их поделия и их бизнес-модель приводить в пример как стандарты индус-трии это вообще последнее дело.

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

Возможность распила, да. И промоушнов.

И вот сейчас вся индстрия на этом работает.

Потому что 95% индус-трии наполнено идиотами, изображением бурной деятельности и распилом.

Короче, вместо обзывания всех тупыми макаками и все технологии говном

Они и есть говно. И макаки. Это констатация факта.

Но нет, как только тут тебе это предлагают, сразу начинаешь говорить про лички и сколько это будет стоить.

Зачем мне что-то бесплатно делать каким-то анонимам?

как Торвальдс

Ну там заплати мне как Торвальдсу платят, я и сделаю.

А когда в личке никого не оказывается

И вообще, про тот момент с оплатой - я конечно понимаю, что у аутистов-аспергерщиков с ЛОРа понимания иронии ноль, но это совсем уж какой-то тупняк.

всех тупыми макаками и технологии говном.

Потому что тупые макаки, и их технологии - сраное говно. И они настолько тупые что этого даже сами не понимают.

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

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

ЧСХ, менеджерки как раз в личных разговорах часто признаются о распильности, и в аутсорсах и в крупных корпорациях, и в стартапах. Но аутисты вон нет, сидят доказывают какой голанг хороший, или плюсы. Трешак.

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

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

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

На моей памяти разговоры о том, почему Lisp-ы так и не взлетели (их популярность осталась где-то в 1980-х, может быть еще чуть-чуть в начале 1990-х) ведутся на профильных форумах уже где-то около 20 лет. И, как правило, оголтелые лисповоды прибегают к одному и тому же аргументу. В грубой форме он звучит так «тупое быдло не в состоянии осознать, освоить и использовать мощь и гибкость Lisp-а».

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

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

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

Кстати говоря, сейчас в стартапах запросто может происходить тоже самое.

Но вот только уже в 1990-х это уже очевидно перестало работать, т.к. не масштабировалось.

А вот упоротые лисперы как не видели того факта, что разработка ПО – это не только (а на больших масштабах и не столько) про технологии, это про людей и их организацию. Вот их и шпилит от того, что такой прекрасный инструмент, как Lisp, в современных условиях не обращают внимания.

Почему они при этом с таким упорством обвиняют окружающих в тупости… Вот это вопрос.

Я бы мог предположить, что приобщение к Lisp-у как-то непропорционально прокачивает ЧСВ. Но, скорее всего, ошибусь :)

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

Ну да, количество идиотов типа тебя в индус-трии зашкаливает, это так.

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

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

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

То ли дело С, где каждый проект изобретает свой собственный способ работать со строками (а в крупном проекте их может быть сразу 3 разных).

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

Вроде бы, если следовать правилам логики, из того, что у Lisp-а есть недостатки, вовсе не следует, что у Си недостатков нет.

Так что смысл вашего комментария я не понял.

Си занял место в нише, где безопасные языки с GC не взлетели сколько их не пытались туда засунуть.

Почему это же место не занял какой-нибудь Modula-2 (или другой прямой наследник Algol-а) – это отдельный вопрос. К проблемам Lisp-а отношения не имеющий, кмк.

Ну и да, Си – откровенное говно.

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

Читать «критику лиспа» от людей, которые про лисп только на форумах читали, зато мнение имеют, это очень смешно. Ну типа, от таких как ты.

На моей памяти разговоры о том, почему С++ так и не взлетел (его популярность осталась где-то в 1990-х, может быть еще чуть-чуть в начале 2000-х) ведутся на профильных форумах уже где-то около 20 лет. И, как правило, оголтелые крестовики прибегают к одному и тому же аргументу. В грубой форме он звучит так «тупое быдло не в состоянии осознать, освоить и использовать мощь и гибкость C++».

При этом когда C++-ерам показывают статьи с критикой C++, в которых чуть ли не в каждой второй говорится, что одна из главных проблем C++ – это то, что каждый C++ник создает API под себя и чуть ли не каждый С++ сходу обосрет API, созданный «под себя» другим С++ником.

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

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

Кстати говоря, сейчас в стартапах запросто может происходить тоже самое.

Но вот только уже в 2000-х это уже очевидно перестало работать, т.к. не масштабировалось.

А вот упоротые крестовики как не видели того факта, что разработка ПО – это не только (а на больших масштабах и не столько) про технологии, это про людей и их организацию. Вот их и шпилит от того, что такой прекрасный инструмент, как C++, в современных условиях не обращают внимания.

Почему они при этом с таким упорством обвиняют окружающих в тупости… Вот это вопрос.

Я бы мог предположить, что приобщение к C++-у как-то непропорционально прокачивает ЧСВ. Но, скорее всего, ошибусь :)

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

Читать «критику лиспа» от людей, которые про лисп только на форумах читали, зато мнение имеют, это очень смешно. Ну типа, от таких как ты.

lovesan, внимательный вы мой, а могли бы вы привести цитату, в которой я бы критиковал Lisp? Вот именно я взял бы и сказал, что у Lisp-а плохо вот с этим, вот с этим и вот с этим.

На моей памяти разговоры о том, почему С++ так и не взлетел (его популярность осталась где-то в 1990-х, может быть еще чуть-чуть в начале 2000-х) ведутся на профильных форумах уже где-то около 20 лет.

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

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

Ты понятия не имеешь о чем говоришь

Как раз имею. Например, персонажи, вроде вас, либо не проходили бы собеседования вообще. Либо вылетали бы еще на испытательном сроке.

А после таких истерик получали бы волчий билет и были бы вынуждены менять профессию.

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

На моей памяти разговоры о том, почему Java так и не взлетела (её популярность осталась где-то в 2000-х, может быть еще чуть-чуть в начале 2010-х) ведутся на профильных форумах уже где-то около 20 лет. И, как правило, оголтелые джависты прибегают к одному и тому же аргументу. В грубой форме он звучит так «тупое быдло не в состоянии осознать, освоить и использовать надежность, переносимость и простоту Java».

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

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

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

Кстати говоря, сейчас в стартапах запросто может происходить тоже самое.

Но вот только уже в 2010-х это уже очевидно перестало работать, т.к. не масштабировалось.

А вот упоротые джависты как не видели того факта, что разработка ПО – это не только (а на больших масштабах и не столько) про ООП, это про людей и их организацию. Вот их и шпилит от того, что такой прекрасный инструмент, как Java, в современных условиях не обращают внимания.

Почему они при этом с таким упорством обвиняют окружающих в тупости… Вот это вопрос.

Я бы мог предположить, что приобщение к Java как-то непропорционально прокачивает ЧСВ. Но, скорее всего, ошибусь :)

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

lovesan, внимательный вы мой, а могли бы вы привести цитату, в которой я бы критиковал Lisp?

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

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

Так написали такие макаки как ты, во времена популярности C++, до сих пор расхлебываем это дерьмо. Щас еще электрон вон повсюду, провалиться б ему.

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

Как раз имею. Например, персонажи, вроде вас, либо не проходили бы собеседования вообще

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

А после таких истерик получали бы волчий билет и были бы вынуждены менять профессию.

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

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

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