ak_47: (Default)
[personal profile] ak_47
Навеяно постом в ленте.

Есть известный в узких кругах индекс языков программирования: TIOBE Programming Community index

Кроме самого рейтинга языков, интересен график популярности за последние 25 лет:

- Неожиданным образом в феврале 2020 года выстрелил Visual Basic. Связано ли это с ковидом? Или мелкомягкие выложили какую-то гигантскую историческую репозиторию в открытый доступ?

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

- Python прошёл пик в июле 2025г и идёт на спад. Не представляю за счёт чего. Ни один из других скриптовых языков не поднимается.

- Динозавр C за 50+ лет никуда не делся. Занимает второе место и даже пошёл на подъём. Тоже непонятно за счёт чего. Может зуммеры и хипстеры полюбили сишечку.

- C++ много лет шёл вниз наряду с Java. Но во второй половине 2010-х Страуструп и сочувствующие сумели переломить тренд. Это потребовало многолетних титанических усилий. Как технических, так и организационных, и маркетинговых. Думаю, если бы не Страуструп, то ничего бы не получилось. Страуструп сильно недооценён как коммуникатор и властитель умов.

- C# уверенно идёт вверх. Если тренд не сменится, то уже в следующем году перегонит Java. Это будет смена вех, не меньше.

Date: 2026-01-28 12:19 pm (UTC)
chaource: (Default)
From: [personal profile] chaource
Я когда-то немного высказывался на родственную тему - https://chaource.dreamwidth.org/203521.html

Вообще Java и C# это одинъ и тотъ же языкъ, также мало отличающiйся отъ C++. Я не вижу вообще смысла ихъ различать.
Edited Date: 2026-01-28 12:21 pm (UTC)

Date: 2026-01-29 08:25 am (UTC)
chaource: (Default)
From: [personal profile] chaource
Люди въ индустрiи используютъ тотъ или иной языкъ не потому, что этотъ языкъ даетъ то, что люди хотятъ. А потому, что менеджеръ сказалъ. А это уже зависитъ отъ банально корпоративной рекламы даннаго языка (Java рекламировали съ жуткой силой) и отъ того, насколько менеджеръ думаетъ, что ему будетъ легко нанимать много дешевыхъ программистовъ, отъ привычекъ самихъ программистовъ и т.д.

Скажемъ, на Java / C# есть null, который даетъ exception. А въ Objective C / Swift есть nil, который не даетъ exception. А въ SQL есть NULL и сложныя правила работы съ ними. A Go-lang придумалъ, что надо писать res, err := my_function() и каждый разъ провѣрять, res != nil, err != nil.

И то, и другое, и третье, и четвертое - уродливые костыли, которыхъ вообще нѣтъ въ "элегантныхъ" языкахъ. Но программисты божатся, что только такъ и надо (null, nil, NULL, res, err != nil). И что именно это "рѣшаетъ конкретныя задачи за прiемлемую цѣну". Я считаю, что разсужденiе о "прiемлемой цѣнѣ", о "прагматической цѣнности" языковъ - это просто самообманъ и стокгольмскiй синдромъ. Программистъ вынужденъ пользоваться уродливымъ, тяжелымъ языкомъ и уговариваетъ себя, что такъ и надо.

Поэтому я бы не дѣлалъ вывода о томъ, полезны ли "элегантные" языки, рѣшаютъ ли они конкретныя задачи. Это вообще не важно, когда рѣчь идетъ объ индустрiи. Индустрiя очень долго сопротивлялась и Фортрану, и С, и С++, потому что вѣдь на ассемблерѣ надо писать, только такъ будетъ правильно. Потомъ тѣ, кто перешли на Фортранъ, не хотѣли С, а тѣ, кто перешли на С, не хотѣли С++ и т.д.

Но программисты подспудно понимаютъ, что тамъ все-таки что-то не такъ въ этихъ языкахъ (а что именно, точно не знаютъ). И поэтому всегда возникаетъ желанiе сдѣлать новый языкъ, но новый языкъ тоже всегда выходитъ криво.

Элегантные языки требуютъ свѣжей головы и готовности изучать абстракцiи. Въ сегодняшнемъ мiрѣ это уже рѣдкость. Но еще 10-20 лѣтъ назадъ было не такъ. Примѣръ - Jane Street, они взяли OCaml въ томъ видѣ, которомъ онъ былъ - никакой экосистемы, одна сплошная голая элегантность. И добились большихъ успѣховъ. Въ 2010-е годы въ Санъ Франциско такъ же брали Скалу - съ готовностью изучать монады и функторы и создавать экосистему самостоятельно. Элегантность на самомъ дѣлѣ прагматически очень полезна.
Edited Date: 2026-01-29 08:29 am (UTC)

Date: 2026-01-29 01:22 pm (UTC)
chaource: (Default)
From: [personal profile] chaource
Это скорѣе аргументъ о выборѣ острой пилы или тупой пилы. "Мужикъ пилитъ дерево въ лѣсу. Пилитъ, пилитъ - никакъ не перепилитъ. Прохожiй говоритъ ему - пойди пилу наточи, затупилась! Тотъ отвѣчаетъ - некогда, пилить надо, работы видишь сколько!"

Вотъ всѣ эти аргументы - что менеджеръ не согласится на рѣдкiй языкъ, нужна экосистема и т.д. - они и раньше теоретически были. Но почему-то въ 1970-е, 80-е годы это никого не останавливало. Дѣлали новые языки каждый для себя, или выбирали новые и сложные направленiя работы. Цѣлые новые процессоры даже разрабатывали. Сегодня первая мысль менеджера - какъ бы чего не вышло.

Языки "элегантные" - это мощный инструментъ, острая пила.

Эксперименты с языками тестируют разные идеи. Если идея оказывается успешна, то адаптируется под мейнстримные языки.

А потомъ приходитъ голангъ и выбрасываетъ всѣ эти идеи, замѣняя ихъ на if err := nil.

Bѣдь знали прекрасно, какъ можно. Уже былъ даже вполнѣ индустрiальный языкъ Swift, на которомъ Apple пишетъ свои продукты. Тамъ уже было видно, какъ можно обрабатывать ошибки нормально.

Нѣтъ, потому что надо, чтобы было "попроще". Эта новая революцiонная идея - что работа программиста будетъ проще, если у него будутъ болѣе тупые инструменты.

Date: 2026-01-30 08:59 am (UTC)
chaource: (Default)
From: [personal profile] chaource
Я считаю, что аргументы "въ сторону упрощенiя" начались послѣ 1990-хъ. До этого ни программисты, ни менеджеры не считали, что работа упростится, если инструментъ будетъ болѣе тупой. Я вижу здѣсь примѣръ общаго "поворота назадъ" къ стагнацiи и распаду.

Скажемъ, въ Германiи въ 70-80е годы фирмы разрабатывали принципiально новые языки программированiя для индустрiальныхъ приложенiй (станки и роботы съ ЧПУ).
https://www.sps-tutorial.com/programmierprachen/
Языки сѣмейства SPS - чисто нѣмецкая разработка. Фирма, гдѣ работала моя жена, была основана въ 70-е годы и сразу взяла на вооруженiе эти совершенно новые языки. Почему-то въ 70-е и 80-е годы никто не выдвигалъ аргументовъ о томъ, что, молъ, эти языки непопулярны или слишкомъ сложны.

И фирма сидитъ на нихъ до сихъ поръ, постепенно бизнесъ растетъ и ширится, но въ 21 вѣкѣ въ области программированiя инновацiй больше никакихъ не было. Системы, основанныя на SPS, несовмѣстимы ни съ чѣмъ, даже git для нихъ толкомъ не работаетъ (потому что файлы не текстовые). Сегодня никто не сталъ бы брать на вооруженiе какой-то новый, только что придуманный языкъ программированiя.

Date: 2026-01-28 01:00 pm (UTC)
vit_r: default (Default)
From: [personal profile] vit_r
> Занимает второе место и даже пошёл на подъём. Тоже непонятно за счёт чего.

Практически весь embedded и mission critical или С, или очень сильно обрезанный С++.

Date: 2026-01-29 06:37 am (UTC)
vit_r: default (Default)
From: [personal profile] vit_r
Это же проценты. В штуках может быть просто стабильность в поддержке старых проектов, пока другие падают.

Date: 2026-01-29 07:01 am (UTC)
vit_r: default (Default)
From: [personal profile] vit_r
Я просто посмотрел, что упало и попытался связать с известными мне процессами.

Один индикатор показывает только изменение индикатора. Для переложения на реальность надо смотреть несколько.

Причём там всё сложно. Есть данные, кого и за сколько нанимают, но нет данных, кого увольняют. И так далее.

Date: 2026-01-28 03:35 pm (UTC)
yankel: (Default)
From: [personal profile] yankel
Недавно прошел короткий курс С++, для освежения знаний.
Охренел от количества изменений

Date: 2026-01-28 05:24 pm (UTC)
birdwatcher: (Default)
From: [personal profile] birdwatcher
Да, на Страуструпе многое держится.

Date: 2026-01-29 12:58 am (UTC)
birdwatcher: (Default)
From: [personal profile] birdwatcher
Именно так. А в последнее время ещё и отгоняющий государственную сволочь с её рекомендациями, как писать безопасный код.

Date: 2026-01-29 01:27 am (UTC)
birdwatcher: (Default)
From: [personal profile] birdwatcher
Это пока не придумают, что fiduciary duty требует писать все на расте.

Date: 2026-01-29 02:36 am (UTC)
birdwatcher: (Leif Gram: Mr. Fix)
From: [personal profile] birdwatcher
тут не поспоришь

Date: 2026-01-28 06:16 pm (UTC)
aka_human: (Default)
From: [personal profile] aka_human
Perl с 32 места на 11?!? Не верю. Его использует всё меньше и меньше. Некоторые другие цифры тоже вызывают сомнение (Visual Basic, Pascal)

Date: 2026-01-29 04:30 am (UTC)
cali4nickation: (Default)
From: [personal profile] cali4nickation
Товарищи явно начали считать звезды на гитхабе до изобретения гита. Странные у них методологии.

Например про Java в 2002 только-только узнали и то в основном на фронтэнде GUI. До доминирования в бэкэнде оставались годы. В худшем случае Java5 это был пик. А в наши дни ее надо наверное суммировать с Котлин в таких подсчетах.

C# в Долине вообще неизвестен как объект структ класс последние лет 20. Вы бы еще Azure вспомнили.

А конкурент Python конечно Type Script.

Date: 2026-02-02 03:07 pm (UTC)
pan_szymanowski: (Default)
From: [personal profile] pan_szymanowski
Зуммеры и хипстеры вообще не знают что такое "C". Это профессиональный язык, на котором написано 90% современного софта. Вот послали вы пост сюда, а он взял и отобразился на экране. Я вас уверяю, что этот процесс сделан не на Питоне. На С написаны все Юниксы. Вот видите вы dreamwidth, а он хостится на Linux машине, и использует Apache как сервер. Все написано на C. Весь интернет написан на С. А сами Линуксы работают в больших черных ящиках, которым не нужны ни мониторы, ни клавы, ни мыши. Я думаю, хопстеры об этом даже не подозревают. Не подозревают они и о существовании профессиональных программистов, которые всё это создали.

Profile

ak_47: (Default)
АК-47

Most Popular Tags

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios