Здравствуйте, s_aa, Вы писали:
DM>>в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками. DM>>их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
_>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
да он этот по-моему, "программист шарепойнт"
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется)
Да. Еще хотя бы потому, что все в мире написано на Java или C++ (очень грубо говоря).
K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Скорее всего похоронен, потому что у Мозиллы закончится или интерес или деньги или и то и другое.
K>Haskell все еще используется (только в Standard Chartered)
Только теоретиками. И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
K>Perl все еще жив
Вот что нет, то нет
K>про .net не знаю (я и сейчас не знаю ничего)
.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти). После этого они или окончательно взлетит или окончательно загнется.
Ну и забыл про PHP. Через 10 лет на нем все равно будет все то, что не на C++ и Java :D
Еще есть слабая вероятность, что Руби или Птитон или оба вместе падут под натиском какого-нибудь языка. Но какого, неизвестно.
Туманно будущее Erlang'а, но оно всегда было таким (несмотря на опенсорсность, разрабатывает его очень маленькая группа людей, целиком зависящая от Эрикссона)
Здравствуйте, Mamut, Вы писали:
K>>Haskell все еще используется (только в Standard Chartered) M>Только теоретиками.
Хаскелл для этого, собственно и создавался.
M> И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
Форкать не надо. Надо брать обкатанные на нем вещи и добавлять в язык. Вон те же continuation monad утянули многие современные языки. А хаскелл пусть остается тестбедом для экспериментов.
K>>про .net не знаю (я и сейчас не знаю ничего) M>.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти).
Здравствуйте, Философ, Вы писали:
Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
Ф>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
Ф>
Здравствуйте, Аноним931, Вы писали:
ARK>>Кстати, в С-подобных языках поля ведь тоже объявляются "отдельно от их использования"?
А>Он имел в виду, что в паскалях переменную нельзя объявить в теле функции/процедуры (внутри BEGIN...END), а можно только "наверху" в VAR-блоке. Т. е. между объявлением и использованием могут находиться over 9000 строк кода, что типа напрягает.
Я это прекрасно понял. И в ответ заметил, что в С++ декларация и имплементация класса не просто разделены over 9000 строк кода, а вообще находятся в разных файлах.
А>Правда, товарищ скромно умалчивает, что и в "с-подобных" языках легко находятся такие же косяки
Гораздо худшие.
А>Но, видимо, фигурные скобки и отсутствие VAR с лихвой перекрывают все недостатки.
Не знаю, пояснений гражданин не дал. Видимо, приступ бугурта был слишком силен, чтобы писать ответ.
Здравствуйте, Философ, Вы писали:
Ф>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек). Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
namespace'ы не нужны, а вот глобальные переменные это да, плохо.
Ф>из-за наследования конструкторов
А что в этом плохого?
Ф>и тучи других причин масштабом поменьше.
Например?
В С-подобных языках есть свои тучи причин. Например, оператор switch с break в каждой ветке. Или корявые конструкторы, не позволяющие сделать в одном классе "Foobar(int x, int y)" и "Foobar(int width, int height)".
Ф>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
M>> И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
НС>Форкать не надо. Надо брать обкатанные на нем вещи и добавлять в язык. Вон те же continuation monad утянули многие современные языки. А хаскелл пусть остается тестбедом для экспериментов.
Да, действительно. Об этом я не подумал
K>>>про .net не знаю (я и сейчас не знаю ничего) M>>.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти).
НС>И в чем это распутье заключается?
Пока непонятно, умрет ли он, останется ли уделом корпоративных приложений или станет достаточно массовым (ну, не прямо ruby-php, но куда-то в этом направлении). ИМХО
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
Мой прогноз:
1) процедурные языки обладающие свойством мобильности (кроссплатформ по russky) и производительности будут удерживать свои позиции. Это (фактически в отсутствии конкурентов) С. Но я полагаю возможно появление более гибридных с asm и оптимизированных ваираций С для embedded, telecom и finance area
2) Строгие ООП языки компилирующиеся в натив с ручным/гибридным управлением памяти скорее слегка потеряют свои позиции. В них упор будет делаться на мобильность, ооп flexebility, native compatibility with С, но не на производительность. Это С++, golang, rust
3) ООП языки с VM и GC сборщиками мусора будут лидировать. Сейчас это java и c#. Java на мой взгляд будет опережать c#. JVM perf сравнится с c++ native code.
4) Интерпретируемые языки типа php, ruby и perl станут сильно нишевыми и потеряют свои позиции.
Pyhton наоборот увеличит свои позиции и станет стандартом в science и скриптинге.
5) SQL никуда не уйдет, сохранит свои позиции.
6) FP платформы слегка прибавят. Здесь должен наметиться лидер — haskell или ocaml (f#).
7) Javascript будет лидировать среди скриптовых языков и в вебе в целом
Здравствуйте, kurchatov, Вы писали:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив K>про .net не знаю (я и сейчас не знаю ничего)
1) C и C++ постепенно начинают сходить на "нет". Rust+1 становится популярен в системном программировании.
2) В Java появился LINQ и pattern matching.
3) На Haskell'е тренируются в новых фичах, типа доказуемо правильного кода.
4) Python, Ruby и прочие JavaScript'ы из-за вмонтированного в CPU железного JIT'а и опциональной типизации становятся сравнимы с C/C++.
5) LLVM используется как платформа для большинства языков (от хардкорного С до высокоабстрактного Haskell'а) и ходят слухи, что в следующем CPU биткод LLVM будет исполняться напрямую.
6) .NET полностью зарефакторился на платформу LLVM (см. выше) и держит уверенную нишу.
7) Переконфигурируемое железо становится популярным, что вызывает всплеск интереса к System C. Начинаются эксперименты по интеграции FPGA-программирования в обычные языки.
8) GPU окончательно сливается с CPU, OpenCL и другие тяжеловесные интерфейсы умирают за ненадобностью.
9) GCC умер.
10) Perl 5 жив. Perl 6 обещают выпустить к концу 2027-го.
11) В 2025-м окончательно закончена поддержка Python 2.7, но часть проектов так и не перешла на Python 3.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>А что новое появилось ? Да в общем , ничего.
PD>D — как его не было по существу, так и нет. PD>Питон — вот это вроде популярность повысил. Или мне кажется ?
Питон сильно повысил популярность в научных кругах: просто скриптинг, numpy, scipy, pandas — это всё делает его неплохой заменой Матлабу во многих областях. Но и вообще в мире Питоном пользуются много.
Также в академических кругах набрал популярность R, который открыт и расширяем. Смотрим, выстрелит ли Julia.
Но Матлаб всё равно остаётся на своих сильных позициях.
Из-за роста популярности Эппловской продукции очень сильно скакнул Objective C. Надеюсь, его скоро заменят новые языки, которые уже существуют.
GPGPU разродился в целую серию языков и технологий, что-то из этого да получится хорошее и более менее универсальное. но это однозначно тренд, а не сиюминутная мода.
* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов)
* появились надстройки над JS (точнее, другие языки, компилящиеся в него, типа ClojureScript, CoffeeScript)
* Python/Ruby стали совсем мейнстримом из «новомодных технологий для хипстеров»
* появился Swift
* везде расползлась функциональщина и параллельное программирование на агентах Erlang-style
* насколько я понимаю, выстрелила Scala
* насколько я понимаю, выстрелил LLVM (в принципе меняя картину про «появление новых языков»)
Здравствуйте, Nuzhny, Вы писали:
N>Питон сильно повысил популярность в научных кругах: просто скриптинг, numpy, scipy, pandas — это всё делает его неплохой заменой Матлабу во многих областях. Но и вообще в мире Питоном пользуются много. N>Также в академических кругах набрал популярность R, который открыт и расширяем. Смотрим, выстрелит ли Julia. N>Но Матлаб всё равно остаётся на своих сильных позициях.
N>Из-за роста популярности Эппловской продукции очень сильно скакнул Objective C. Надеюсь, его скоро заменят новые языки, которые уже существуют.
N>GPGPU разродился в целую серию языков и технологий, что-то из этого да получится хорошее и более менее универсальное. но это однозначно тренд, а не сиюминутная мода.
Кроме Питона и отчасти Objective C(отчасти потому что его нигде больше нет фактически) , все остальное специализированное, а не общего назначения. R, Matlab, GPU.
Здравствуйте, Гест, Вы писали:
Г>* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов) Г>* появились надстройки над JS (точнее, другие языки, компилящиеся в него, типа ClojureScript, CoffeeScript) Г>* Python/Ruby стали совсем мейнстримом из «новомодных технологий для хипстеров» Г>* появился Swift Г>* везде расползлась функциональщина и параллельное программирование на агентах Erlang-style Г>* насколько я понимаю, выстрелила Scala Г>* насколько я понимаю, выстрелил LLVM (в принципе меняя картину про «появление новых языков»)
JS — да, я же писал, что если раньше его совали куда надо и куда не надо, то теперь суют еще больше.
Питон — согласен
Руби — согласен намного меньше
Функциональщина точно, расползлась.
Scala — Пока неясно, выстрелила ли.
Г>а так-то ничего не изменилось, да
Мэйнстрим изменился не сильно. Все вышеперечисленное либо к нему пока не относится, либо относится с оговорками.
Хотя с другой стороны, С# 2.0 и C# нынешний — это можно рассматривать как разные языки. Из-за функциональщины в основном.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Мэйнстрим изменился не сильно. Все вышеперечисленное либо к нему пока не относится, либо относится с оговорками. PD>Хотя с другой стороны, С# 2.0 и C# нынешний — это можно рассматривать как разные языки. Из-за функциональщины в основном.