Здравствуйте, sergii.p, Вы писали:
SP>сейчас почти каждый язык каждые пару лет выпускает новую версию. Может кардинально новых идей и не так много, но синтаксис меняется довольно активно. А SO — должен помереть именно из-за ИИ. Все эксперты SO раньше фактически работали как агрегаторы информации: где-то находили информацию, обрабатывали и выдавали в форме ответов. Это и ИИ делает приемлемо. А для пищи любому ИИ достаточно статьи с обзорами новых фич языка. У тонн мусора на SO ценность сомнительная.
А я и не спорю, что видимость движухи большая. Выпускают, мол, новые версии, но этого как-то мало по сравнению с движухой на рубеже 80-90х, да даже на рубеже 90х-нулевых или нулевых-десятых. Я просто смотрю, какие по интересующим меня языкам программирования появились основополагающие книги, и вижу, что последняя такая движуха была в районе 2010 года, плюс-минус года два-три. Но это моя выборка по интересующим меня технологиям: F#, Scala, Clojure, Erlang. В какой-то части справедливо и для Haskell, но он всегда идет в своем темпе.
Активная движуха для C# мне запомнилась в начале нулевых и в районе середины нулевых. Сначала, когда на основе одной из лучших реализаций Java того времени сделали первый .NET. Потом — когда добавили генерики (разработал, кстати, создатель F#). После особо не следил, но качественных изменений не наблюдаю со времен WPF. Может быть, просто из-за того, что перестал интересоваться.
Про Java, вообще, скажем, что там основной движ был на рубеже 90х-нулевых, когда Java стали массово внедрять в банках, особенно, когда туда в Java добавили генерики (при участии автора Scala, кстати, — не находите любопытную тенденцию?). Сама же Java старше — начало-середина девяностых. Но на рубеже нулевых-десятых она как язык уже успела многим надоесть. Так родились Scala и Clojure (последний — как реинкарнация Лиспа), а несколько позже и Kotlin (как ответ на неустраивающую в некоторых аспектах Scala — а вы попробуйте, например, собрать через Scala простое приложение для андроида с каким-нибудь Array и без ProGuard!).
Про Go-lang особо сказать ничего не могу. Как-то не цепляет. Ну, здорово, конечно, что реализовали идею всеобъемлющей асинхронности IO (как в Haskell и Erlang), и при этом сделали это доступным для массового потребителя. Это сделать очень трудно, и у них получилось! А тут еще докер подсобил на пару с микро-сервисами.
А вот про Rust скажу особо. Уж очень мне понравился сам язык, зацепил, хотя если смотреть вдолгую, то нахожу крайне уязвимой его экосистему, основанную на пакетном менеджере, который тянет что-то откуда-то (как к системе сборки вопросов нет, но тут соединили их вместе). У меня как человека с тягой к контролю, от этого факта волосы начинают на голове шевелиться. Но сейчас такова мода, общая тенденция. Мы просто еще не подошли к тому моменту развития, когда такая схема распространения библиотек станет критически опасной, хотя первые звоночки уже давно есть.
Тем не менее, сам язык Rust для своей ниши прекрасен как производительный язык без автоматического сборщика мусора. Мне как любителю (статически типизированного) функционального программирования, и просто как человеку, который любит контролировать код, нравится, что в Rust очень многое проверяется на уровне системы типов (если вы пытались писать много шаблонного кода на C++, то меня поймете).
Про JavaScript. Большие игроки сделали ставку на JavaScript. Аплеты, сильверлайт, флеш — больше не удел. Там, где не хватает скриптинга — там сделали ставку на wasm. Вы знаете, что я скажу? Как человек, на глазах которого прошел весь жизненный цикл тех же Java-аплетов, могу предположить, что неизвестно, что будет работать в браузере лет через пять-десять... Сие есть тайна, неведомая никому. И не нам, простым смертным, это решать.
А так, если взять книги по Scheme, Common Lisp и Smalltalk, то видишь, что в самом программировании мало что поменялось. Скорее, отшлифовали материал, а гранит остался тем же. Со статическими языками сложнее, но тоже все меньше языков программирования меня приятно удивляет. Последним был как раз Rust, а вот в конце 80-х я когда-то фанател от Ada.
Про С++ могу сказать, что я его постоянно использую последние годы. В сети стало популярным сравнение C++ с ПЛ/1. Кто слышал об истории падения последнего (когда появились микрокомпьютеры и персоналки, для которых открылись новые ниши, и когда перестал быть нужен такой сложный язык как ПЛ/1), то тот поймет, что может ожидать C++ с его неповоротливостью и довольно таким приличным грузным весом, где большинство программистов даже боится заглядывать в новые стандарты.
Хотя мы все субъективны по своей природе. Мы никак не можем быть объективными. Может быть, что-то и изобрели такое в области языков программирования, что я с интересом изучил бы, посмотрел бы.
Просто есть еще один фактор — экономический. Раньше у небольших фирм был шанс создать что-то новое, прорывное, и иногда даже на этом заработать денег, но чаще — разориться. А сейчас такое время, что даже колоссам, фирмам-гигантам, часто не под силу разработать и протолкнуть такое, что понравилось бы основной массе программистов. Рынок языков программирования стал массовым, и здесь важнее стала роль денег, а меньше стало возможностей для одиночек. Да и само программирования много где превратилось из искусства в ремесло, а у последнего — другие приоритеты.
Что касается вопросов на SO. Ну, большую часть вопросов задали, и на них ответили. Произошло еще естественное насыщение в условиях стагнации самой области языков программирования. Особо нечему удивляться. А на ИИ-агенты еще многое можно сейчас списать (это даже стало модным), хотя как поисковики они хороши, безусловно