Просто пришло время, когда продукт с запланированным дефектом можно улучшить. Всё по методичкам эффективных. А до поры приходилось придуриваться, что авторы Go чего-то там не понимают в CS. Или думают над дизайном. Думают год, думают два... Дедушки старенькие, думают медленно. Цирк такой.
Получается дедушки понимают в бизнесе раз Go так взлетел. В языки делаются для бизнеса, а не чтобы щекотать эстетическое чувство школьников-хаскеллистов.
Презираю Го как язык в какой-то абстрактной ситуации, но признаю что он хорошо решает все задачи которые на него в итоге начала возлагать индустрия.
Дома, когда у меня нету сроков, когда есть время для развлекательного кодинга и экспериментов - я бы на Го не писал
А я всегда думал - делаются для повышения производительности программиста и качества получаемого ПО. Впрочем согласен, в копроэкономике должен победить Go.
Но не сбрасывайте со счетов джаву. И этого франкенштейна приводят в божеский вид.
Тупые джуны выросли и стали опытными инженерами (те, кто выжил). Теперь можно им и получше ЯП дать. А джунов больше в Го не берут. Да скоро всё IT окуклится в закрытую касту, и там будут более сложные концепции в почёте. Эпоха пыхпыхов заканчивается. Даже жаль, я вот уже не осиливаю расты всякие. Мне пыхпых в самый раз по уму.
Все нужные языки уже изобрели в прошлом веке. Ящитаю, нужно запретить изобретательство новых язычков, чтоб не распылять интеллектуальные усилия впустую, а кто не осилил существующие - в биореактор. Так победим!
Иногда мальчикам хочется, чтобы компилятор проверил типы в их коде и сурово отшлепал, если типы не сходятся. Я тоже не понимаю таких извращений, но кому-то нравится.
Программеры стали сами себе килобаксы платить, штоле? Нед, всё так же клиенты и продукты их кормят
Да они уже по факту на велфере у гигантских корпораций. Кто сейчас будет платить за продукты? В лучшем случае донаты какие-то перепадают. Доходы айтишных контор очень мутные. Там реклама-хренама какая-то. Всё это прикрытие распила государственных бюджетов. А мелкие ремесленники с пыхыпой уже никому нахрен не нужны. Там бизнес уже уровня сантехников из жэка: кран подтянуть, толчок прочистить.
Программист копипастит лапшу быстрее чем пишет универсальный расширяемый код, что бы он там не утверждал.
Это работает в утилитах уровня grep, а когда пилишь проект очередного гугла, на худой конец просто CRM, то копипаст резко снижает производительность труда разрабов после пересечения определенной границы. И бизнес вынужден нанимать миллион мартышек, чтобы постоянно поддерживать этого уродца от сваливания всей конструкции в бездну.
Но как я и говорил, в современной копроэкономике это работает, а если работает - не трожь.
Получается дедушки понимают в бизнесе раз Go так взлетел. В языки делаются для бизнеса, а не чтобы щекотать эстетическое чувство школьников-хаскеллистов
А теперь перечисли проекты, которые не взлетели. Тот факт, что нода успешно конкурирует с Go, говорит о том, что язык таки ни разу не безупречный. При том, что нода появилась примерно в одно время с Go, и стиль писания на ноде значительно отличался от обычного клиентского JS.
Но в контексте данного треда я могу понять, почему обобщение не хотели вносить в язык — слишком уж убого с ними выглядит код.
Презираю Го как язык в какой-то абстрактной ситуации, но признаю что он хорошо решает все задачи которые на него в итоге начала возлагать индустрия
А я давно пишу, что Go — это специализированный язык для написания микросервисов. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются. По этой причине я считаю некорректной формулировку «задачи которые на него в итоге начала возлагать индустрия», потому что изначально эта же задача и стояла перед гуглом, никакой другой не было.
Го — скучный язык решающий все задачи. Раст — нескучный язык не решащий ни одной задачи. Се ля ви. Нескучные языки удел яйцеголовых мутантов. Для народного хозяйства непригодны.
Ну то, что Полухин, за что ему огромное спасибо, написал километры портянок за нас, я в курсе. Потому и спросил ещё и про классы с нетривиальным конструктором.
То, что на плюсах костылями и подпорками, типа перебора возможных типов на основе размера и sfinae можно делать много метамагии я не спорю, но это именно метамагия, а не метапрограммирование, т.к. она содержит странные ограничения и может сломаться в неподходящий момент. Типа немного изменили тип поля класса и отвалился вывод в лог или сериализация.
Однако ты виртуозно владеешь этой феней, намного лучше меня. Наверно потому что я только наполовину украинец. Хотя у тебя же родной язык такая феня, что российские подонки нервно курят в коридоре. Здесь люди стесняются такой лексики, а вам там прямо в газетах и по телеку такое задвигают черноземные интюлюхенты. Поэтому привычка к хамству вырабатывается с детского садика.
Go — это специализированный язык для написания микросервисов. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются
Си — это специализированный язык для написания операционных систем. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются.
Питон — это специализированный язык для написания скриптов непрограммистами. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются.
php — это специализированный язык для написания веба. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются.
java — это специализированный язык для написания бизнес логики. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются
…ну ты понял. Почему-то в дикой природе выживают именно «специализированные» языки, а не академические сферические кони.
ну ты понял. Почему-то в дикой природе выживают именно «специализированные» языки, а не академические сферические кони
Наконец хотя бы до одного дошло. Могу пояснить конкретно по каждому языку:
Си — это специализированный язык для написания операционных систем
Возможности расширения исчерпать сложно, но скорее потому, что в этом процессе разработка превращается в ад. Писать большую сложную систему на Си — это примерно как писать драйвер nvidia на PHP. Вообще вся история приложений на Си говорит, что прикладуха на Си находится примерно в той же категории, что и прикладуха на ассемблере, то есть: тяжело разрабатывать, очень глючное, но вынужденная мера, если ресурсы целевого железа крайне ограничены. Очень часто такая «прикладуха» приколачивалась гвоздями к более низкоуровневой системной функциональности. Типичный такой пример — это Cisco, где модуль маршрутизации пакетов и модуль обеденного чая для конкретного заказчика находятся в одном адресном пространестве и одном уровне привелегий.
Питон — это специализированный язык для написания скриптов непрограммистами. Слишком уж много вещей в нем приколочено гвоздями к языку, чтобы проще было херак-херак, но возможности расширения очень быстро исчерпываются
Исчерпать расширяемость тяжело, но проблема как раз в том, что прибитые гвоздями «расширения» никсового скриптования прибиты насмерть, и для достижения эффективного «общего назначения» нужно эту расширяемость выкорчевать из языка. Но тогда получится уже другой язык. По той причине, что никсовое скриптование может использоваться для самых разных целей, питон и считается «общего назначения».
php — это специализированный язык для написания веба
А это нужно доказывать? Я уже приводил цитаты из доков php 27-летней давности — PHP тогда делал почти то же, что и сейчас. Из пяти упомянутых это, наверное, наименее развившийся язык.
java — это специализированный язык для написания бизнес логики
Это самая сочная тема. Чисто теоретически, Java — это язык для написания прикладухи. То есть вообще любой. А следовательно, у него нет какой-то конкретной целевой сферы (если в вашем IT вся разработка не сводится к системному программированию, привет сишке). C# доказал, что Java может быть использована для писания десктопного гуя. Если брать Java с ее конкретной стандартной библиотекой образца 2005 года, то у нее нарисовался недвусмысленный уклон в сторону бизнес-серверов. Гуглу, чтобы перейти обратно к нише-первоистоку, а именно — к писанию прошивки утюгов, пришлось переделать VM и стандартную библиотеку.