Рейтинг языков программирования в 2016 году



    Спор о том, какой язык программирования лучше, не утихает долгие годы. Многие соглашаются с тем, что все же нельзя говорит о «лучшем языке программирования». Какие-то более распространенные, какие-то — менее. Причем изучая один какой-то язык программирования, приходится учить связанные с ним вещи, что нередко приводит к изучению еще одного языка программирования, потом — следующего и так далее…

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

    Рейтинг RedMonk


    Эта аналитическая компания регулярно публикует собственный рейтинг языков программирования. Он строится на основе оценки сочетания популярности на GitHub, плюс активность обсуждений на Stack Overflow. Лидерами здесь являются JavaScript, Java, PHP и Python.

    • JavaScript
    • Java
    • PHP
    • Python
    • C#,
    • C++
    • Ruby
    • CSS
    • C
    • Objective-C
    • Shell
    • R
    • Perl
    • Scala
    • Go
    • Haskell
    • Swift
    • Matlab
    • Visual Basic
    • Clojure




    IEEE Spectrum


    IEEE Spectrum — это журнал, который издается Институтом инженеров электротехники и электроники (IEEE). Несколько дней назад этот журнал опубликовал свой рейтинг популярности языков программирования. Как видим, лидером здесь является Си, следом идут Java, Python и C++.

    В этом рейтинге довольно необычным является выход R на пятое место. Объяснение здесь простое — этот язык востребован в системах обработки больших объемов данных. Соответственно, растет количество запросов на Stack Overflow. Следует учесть и то, что на GitHub появилось сразу 62 тысячи новых репозиториев. Много новых вакансий и упоминаний языка в научно-исследовательских публикациях.



    Для создания своего рейтинга специалисты IEEE использовалис 12 различных метрик из 10 источников. Основное — это поиск результатов по запросу «название языка programming» на ряде популярных сайтов. Учитываются и материалы, которые выдаются в поисковой выдаче Google, данные Google Trends, упоминания в социальных сетях.

    TIOBE


    Компания TIOBE Software, публикуя свой рейтинг, отмечает рост популярности ассемблера. Согласно этому рейтингу язык поднялся на две позиции — с 12 на 10 место. Это объясняется бурным развитием сферы интернета вещей. Анализ данных проводится на основе результатов поисковой выдачи многих систем, включая Google, Google Blogs, Yahoo!, Wikipedia, MSN, YouTube, Bing, Amazon и Baidu.



    Что все это значит?


    Только то, что лучшего в мире языка программирования попросту не существует. Многие разработчики работают не с одним, а несколькими языками программирования, попутно изучая новые технологии. Кроме того, популярность и востребованность языка программирования во многом зависит от востребованности технологии, которая требует использования определенного языка. Сейчас трендом является Big Data, и, как видим, начинает расти значимость R. Еще мы видим, что однозначными лидерами всех трех рейтингов можно назвать С, Java и Python. Хотите учить какой-то из этих языков? Вряд ли прогадаете.

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

    Другие наши публикации:
    King Servers 77,55
    Хостинг-провайдер «King Servers»
    Поделиться публикацией
    Похожие публикации
    Комментарии 102
    • 0
      Странно в рейтингах языков программирования видеть языки разметки (*ML) и SQL.
      • –4
        Эээ. С какого боку SQL — язык разметки?
        • +7
          Языков разметки (*список языков) и (отдельной) SQL.
          • +9
            Хорошо. Чем вас смущает SQL среди языков программирования?
            • +2
              Меня вот тоже смущает. Без расширения PL/SQL это язык структурированных запросов, не описывающий алгоритмы.
              • 0
                Что вы имеете ввиду под «не описывающий алгоритмы»? То есть по вашему, на sql не возможно написать программу которая будет получать на вход список целых чисел и выдавать на выходе эти же числа но в порядке возрастания (алгоритм сортировки)?
                • +1

                  А описание алгоритмов — обязательное свойство языка программирования? Скажем, языки пятого поколения (типа пролога) никакие алгоритмы не описывают — только ограничения. Чем SQL от них отличается (в этом аспекте)?


                  (собственно, SQL, как и многие другие DSL, часто относят к языкам четвертого поколения)

                  • +1
                    Ни чистый Prolog, ни чистые Функциональные Языки Программирования — тоже не описывают алгоритмы, в принципе! Что им тем не менее не мешает являться языками программирования. Потому что все они как и SQL — декларативные языки программирования.
                    • 0
                      С введением Cyclic Tag System в стандарт 1999-го года язык SQL стал Тюринг-полным. Вот тут, во второй части заметки приведен код, который отображает множество Мандельброта.

                      Так что чистый SQL все же является языком программирования (хоть и декларативным).
                      • 0
                        «Составление структурированных запросов» иначе называют «программирование баз данных». Поэтому не надо смущаться.
                • –5
                  Разве SQL язык разметки?

                  Википедия о SQL
                  SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.

                  P.S. mird опередил
                  • +5
                    Тогда было бы двоеточие. "… языки разметки: (*ML) и SQL."
                    • –8
                      Если как минимум два человека поняли неправильно что сказал автор, наверное фраза построена криво.
                      • +22

                        Либо два человека поняли криво.

                        • +8
                          С точки зрения русского языка всё грамотно (уточнение вынесено в скобки), и все, кто его знают, поняли правильно. Если два человека из множества всех прочитавших статью поняли неправильно — наверное, проблема не в построении фразы.
                          • 0
                            По-моему такое уточнение *ML вообще с другими языками ассоциируется: https://ru.wikipedia.org/wiki/ML, которые тоже в этих рейтингах фигурируют )))
                            • 0
                              * это как-бы wildcard. То есть там не может быть ML, там будет «любой символ»ML. Прекратите уже) Зашел и удивился какую ветку комментарием тут посвятили моему выражению.
                    • 0
                      Не все языки программирования являются языками программирования общего назначения.
                      • +3
                        SQL — не язык разметки, а декларативный язык программирования. Почему Вам странно его видеть в языках программирования?
                      • +6
                        Для меня самым главным показателем популярности языка является выдача поиска рекрутингового сайта по моему региону.
                        • –1

                          Где же habralang?

                        • 0
                          JavaScript, как я понимаю, включает node.js?
                          • +11

                            Видимо, node.js — это не язык, а технология.

                            • –19
                              Но, всё же, я разграничиваю node.js и js.
                              • +20

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

                                • 0

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

                                  • –1
                                    Язык это язык, компилятор это компилятор. Вот c++/msvc и c++/gcc — это тоже два разных языка? На самом деле там конечно есть специфические языковые расширения, так что про них можно сказать что это «два разных языка» даже в большей степени чем про js и nodejs… но все-же это рейтинг именно языков, уж не знаю насколько сие полезно — но интересно.
                                    А если уж вводить рейтинг библиотек/фреймворков, то возможно будет совсем другой расклад. Много ли вы знаете библиотек/фреймворков на Си? Зато на php их сотни если не тысячи:)
                                    • +1
                                      Много ли вы знаете библиотек/фреймворков на Си? Зато на php их сотни если не тысячи:)

                                      Поверьте, на Си их в разы\десятки раз больше.
                                      • 0
                                        Фреймворки для чего только не пишут. Даже для ассемблера где-то на гитхабе видел
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                        • +2
                                          Обычно да, но в случае Delphi… изначально был язык Object Pascal версии Borland, но затем они его перекроили настолько, что разница между обычным Object Pascal что был в Borland Pascal и тем что стало в Borland Delphi потянула на новый язык.
                                          • –1
                                            Маркетинговый ход производителей Delphi, после того, как их покинули все, кто стоял у истоков. Неумный. Borland Pascal и так был стандартом de facto для объектного паскаля, за исключением маков, где как-то есть традиция think different
                                            • 0
                                              В Boralnd Pascal язык именуемый Object Pascal заметно отличался своей работе с классами от того что в Delphi, не считая появившейся поддержки Event-Driven-Programming.

                                              PS возможно я не прав, имхо, Delphi отличается от Pascal больше, чем Modula объявленная Виртом дальнейшим развитием Паскаля.
                                              • 0
                                                Хм. Всегда считал обработчики событий в Дельфи (ну или Лазарусе) реализованными на уровне не языка, но фреймворка (VCL/LCL). Это не Qt-шные сигнал-слоты, которые потребовали либо специального прекомпилятора, либо чёрной Boost-магии, либо новейшей серой магии из арсенала Modern C++. А в дельфях/лазаре обработчик — это просто наполненная некими действиями реализации процедуры заглушки родительского объекта. ООП-полиморфизм как он есть в самом своём наиклассическом применении (в TurboVision действительно не так, там, ЕМНИП, один обработчик событий на весь обект, а события различаются в операторе выбора, но язык-то тут причём, просто разная архитектура фреймворков).

                                                Что до изменения объектной модели — да, изменили. Как раз при переходе от TurboPascal к Borland ObjectPascal, е.м.н.и.п. В Delphi язык переименовали сильно позже. При том, что тот же язык реализован во вполне живом FreePascal, и тогда ещё живых Virtual и TMT Pascal.

                                                Вот по этому я и написал про не слишком умный маркетинговый ход.
                                                • +1
                                                  Хм. Всегда считал обработчики событий в Дельфи (ну или Лазарусе) реализованными на уровне не языка, но фреймворка (VCL/LCL).

                                                  И да и нет.
                                                  Вот обработчик сообщения:
                                                  procedure CMStart(var Msg: TMessage); message CM_START;
                                                  Привязка кода сообщения к обработчику есть в языке. Да, черной ассемблерной магии там под капотом — тоже выше крыши.

                                                  Опять же, если говорить об отличиях, важных шагом вперед является рефлексия и возможность доступа к полям во время выполнения. Не говоря о самих properties.
                                                  • 0
                                                    Что до ключевого слова message, да, забыл про него: Pointers to message methods are stored in a special table. Property вроде уже в TP7 как минимум были. Новая объектная система с поддержкой RTTI — да, серьёзное изменения, и если бы язык переименовали вместе с её, вопросов бы было намного меньше.
                                                    • 0
                                                      Property вроде уже в TP7 как минимум были.

                                                      Нет.
                                            • 0
                                              Он ещё успел трубо-паскалем поназываться.
                                            • 0
                                              Будете смеяться — RatFor. Язык реализовывался при помощи препроцессора фортрана-66. При этом отличия от фортрана-66 — сильные, ратфор ближе к Си, чем к фортрану.
                                            • 0
                                              Уж и операционку сюда записывайте и всё железо, чего уж там. А на самом деле это можно назвать средой выполнения, а язык — это язык.
                                            • 0
                                              Я ни к чему не призывал, просто высказал мнение. Или это запрещено? К чему этот сарказм?
                                        • –3
                                          Node.js, как я понимаю, включает в себя JavaScript.
                                          • 0
                                            Да, а stdlib включает в себя C
                                            • 0
                                              Нет, спецификация языка Си включает в себя в том числе спецификацию стандартной библиотеки. А Node.JS — это платформа, которая в себя включает интерпретатор языка JS.
                                              • 0
                                                Нет, спецификация языка Си включает в себя в том числе спецификацию стандартной библиотеки

                                                Что входит в эту стандартную библиотеку?
                                                • +1
                                                  https://ru.m.wikipedia.org/wiki/Стандартная_библиотека_языка_Си

                                                  https://ru.m.wikipedia.org/wiki/Stdlib.h

                                                  А к чему этот вопрос?
                                                  • 0
                                                    Просто любопытство. Не знал, что стандартная библиотека в таком составе входит в спецификацию.
                                          • 0
                                            Очевидно, раз там еще и иконка мобильника есть (т.е. PhoneGap/Cordova тоже там)
                                          • +3
                                            Pascal уже 12! Надо немного подождать…
                                            • +1
                                              Какой смысл в таких абстрактных рейтингах?

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

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

                                                Так ведь и получаются рейтинги — видишь хороший язык, хочешь его изучить и поднять его рейтинг, потом смотришь в вакансии, смотришь в глаза менеджеру с табличой "bus factor" и в итоге выбираешь один из паршивых языков, который был вытолкнут рынком в топы ещё на рубеже веков, прибавляя и укрепляя его вес в рейтинге.

                                                • +1
                                                  Я понимаю птичье желание собирать блестяшки в своё гнёздышко. Я не понимаю, почему вы не хотите посмотреть на всё с высоты птичьего полёта.

                                                  > в итоге выбираешь один из паршивых языков, который был вытолкнут рынком в топы ещё на рубеже веков
                                                  Который был тогда популярен и точно так же выталкивал другие языки, созданные ещё до вашего рождения. Ничто не меняется, это рынок, и в нём идёт борьба за клиентов. И все евангелисты, пропагандирующие Rust или GoLang, они именно промывают вам мозги, какой у них хороший товар, с ним ваша пи… производительность вырастет аж в полтора раза. Я сейчас не касаюсь качества тех или иных ЯП. Я пишу о том, что 10-15 лет назад такие же молодые и красивые, как вы сегодня, покупали блестящий delphi или FoxPro, а евангелисты того времени писали, насколько удобнее вот эта фишка, как круто поддерживается вот эта платформа и сколько % приростёт всё туда же. А в итоге выяснялось, что под лаком оказывался убитый хлам. А сегодня они вынуждены тащить этот выброшенный всеми хлам, потому что нет у них ресурсов на перезапуск. И ведь посмотрите, те же FoxPro или MFC, они были разработаны флагмоном, и их это не спасло. Нет оснований считать, что через 5 лет точно так же не будут выброшены ваши любимые ЯП в пользу новых блестяшек, а вы останетесь у разбитого mysql.
                                                  • +1

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

                                                    • 0

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

                                                      • 0

                                                        Не так уж это и страшно. К тому же у одной компании может быть множество проектов на разных языках

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

                                                      «Хороший» он хороший потому что вам нравится по ряду причин (субъективный фактор), или потому что он устоялся, под него написано множество библиотек, можно легко найти документацию?
                                                      • 0

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

                                                        • 0
                                                          Чтобы стать по-вашему-хорошим языком нужно попасть в замкнутый круг, потому что пользователи по-вашему-хороших на сегодня языков в свое время пришли в эти языки и использовали их даже в том состоянии, которое вы бы не назвали по-вашему-хорошим

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

                                                          Но время изменилось и современное ИТ в ловушке — никто уже не будет отказываться от старого, хотя его косяки за всё время использования уже всем очевидны, но новое тоже использовать страшно.

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

                                                            Отрицательный отбор слышали?

                                                            • 0
                                                              Вы могли этого не писать — это (ваша позиция с отбором) и так ясно из ваших предыдущих сообщений. Отбор действительно может быть отрицательным, вы правы. Мы можем, условно говоря, иметь дело с локальным минимумом, а не абсолютным. Но я предлагаю задуматься над тем, что мы вкладываем в понятие «хороший», причитая о том, что хорошее давят.
                                                    • +1
                                                      Я тоже очень долго удивлялся, не понимая, зачем нужны такие рейтинги. Но недавно мне в комментариях всё объяснили. Дело в том, что на рынке труда существует одна острая проблема. Разработчики хотят получать слишком много денег, потому что не чувствуют страха не найти работу. Традиционно эта проблема решается привлечением в отрасль новых специалистов. Чем выше будет конкуренция за рабочие места, тем ниже будут ожидания по зарплате. А чтобы повысить конкуренцию среди разработчиков на каком-то конкретном языке, нужно просто заказать где-нибудь исследование популярности языков по такой методике, которая покажет, что наиболее популярным является заданный язык. Как выясняется, в мире полно людей, которые хотят просто программировать. Им неважно, какие именно задачи. Лично мне кажется, что это какая-то абсурдная мотивация. Типа, как хотеть купить машину, чтобы просто ездить. Неважно, куда именно. Просто ездить и всё.
                                                      • +1
                                                        Отчасти верно, привлечение масс, да, но, скажите, разве число высококлассных специалистов за последние годы достигло хотя бы половины от открытых вакансий? Увы и ах. Рождённые летать…

                                                        > в мире полно людей, которые хотят просто программировать
                                                        В мире полно людей, которые хотят просто рисовать. Их на девиантарте можно найти. В мире полно людей, которые хотят просто петь. Их на тытубе и вконтакте навалом. В мире полно людей, которые хотят просто ездить. Некоторые из них — исплючительно по говнам бездорожья. В мире полно людей, которые хотят просто смотреть сериальчики. Абсурдная мотивация, они сумашедшие, не иначе.
                                                        • +1
                                                          Про высококлассных речь не идёт. Они вне основной конкуренции.Точнее, если среди них и может быть конкуренция, то уж точно не по цене. Это как luxury-сегмент рынка. Если тебе действительно нужен высококлассный специалист и тебе повезло его найти, то тебе, по большому счёту, без разницы сколько он стоит. Всё равно он своим трудом заработает тебе несравнимо больше. Есть даже более точная аналогия, чем luxury-сегмент. Это заводы по сжижению природного газа. Так сложилось, что они очень круто автоматизированы. Для обслуживания завода, напоминающего своими размерами город средних размеров, достаточно нескольких десятков человек. Годовая выручка на таком заводе генерируется в объёме нескольких миллиардов долларов. И в расчёте на одного работника получается порядка 50 млн. в год. Владельцу завода абсолютно безразлично, какая зарплата будет у сотрудников. Если нужный ему специалист захочет получать 200 тыс. в год, то ради бога. Захочет получать 300 тыс. — тоже не проблема. Проще всего, если он сам назовёт комфортную сумму и всё. Заранее известно, что она будет исчезающе мала в сравнении с выручкой в расчёте на человека.
                                                          • 0
                                                            Маленькое «НО!», увеличение количества происходит на всех уровнях. Значит, если бы вы были правы, появился бы переизбыток, что сразу бы привело к понижению мобильности разработчиков. На деле этого нет.

                                                            Почему? Видимо, программировать — не мешки ворочить, кроме спины тут нужна ещё и голова. И в неё желательно не только есть, но и читать. И думать, о ужас!
                                                            • +1
                                                              Представьте, что производство автомобилей Ролс-Ройс Фантом вырастет в два раза. Появится ли переизбыток на рынке? Упадут ли цены на авто представительского класса? А затем представьте, что в те же самые два раза вырастет производство Форд Фокусов. Появится ли переизбыток в этом случае? Упадут ли цены на авто в эконом сегменте? Какой из этого можно сделать вывод? А такой, что увеличение количества на разных уровнях имеет разные последствия.

                                                              Применительно к разработчикам можно сказать следующее. Существенное увеличение высококлассных специалистов, — например, разработчиков компиляторов, — приводит к тому, что появляются новые языки программирования, которые в чём-то лучше старых. Другими словами, происходит прогресс и развитие отрасли. А вот увеличение числа веб-разработчиков и разработчиков мобильных приложений приводит лишь к тому, что цены на разработку в этом секторе снижаются. Двоим приходится работать за зарплату одного и делать вдвое больше работы: два сайта для двух заказчиков вместо одного сайта для одного крупного заказчика. И работать приходится в два раза быстрее, поэтому они оба вынуждены использовать стандартные фреймворки, чтобы было хотя бы минимальное разделение труда. Каждый из этих разработчиков ощущает себя очень эффективным. Хотя общая эффективность всей системы остаётся прежней. Просто система растёт и внутри неё происходит перераспределение ресурсов. Никакого реального прогресса и развития всей системы не происходит. Число нужных сайтов более-менее постоянно. Просто они чаще переделываются. При этом отдельные разработчики ощущают то, что они активно развиваются. Можно сказать, что в их случае происходит «развитие на месте» (аналог «бега на месте»). Тратится куча усилий на приобретение новых актуальных навыков, однако ранее приобретённые навыки утрачивают актуальность примерно с той же скоростью.
                                                    • 0
                                                      А где мой любимый HTML?
                                                      • +2
                                                        JSON еще скажите.
                                                        • +1
                                                          А что, xml вон есть.
                                                          • +1
                                                            Ну, в инфрастуктуру XML входит вполне тьюринг-полный функциональный язык XSLT, например
                                                          • 0
                                                            JSON это JavaScript Object Notation
                                                            HTML это HyperText Markup *Language*

                                                            А насчет XML – где вы видели программиста по xml? А вот программист по html называется верстальщик. Ну правда еще CSS надо знать. Но сам по себе CSS не имеет ценности, он специально для HTML и используется только с ним.
                                                            • +1
                                                              где вы видели программиста по xml?


                                                              Каждый день программирую на xml и Java :)
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                • 0
                                                                  А можно чуть подробнее как такое возможно?
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                    • 0

                                                                      Правильно называется такое чудо не xml, а xml-based language.

                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • 0
                                                                        Спасибо! Не ожидал!
                                                                      • 0
                                                                        XML может выражать любые иерархические («деревянные») данные, даже AST ( https://ru.wikipedia.org/wiki/Абстрактное_синтаксическое_дерево ).
                                                                        • 0
                                                                          И чисто в CSS возможно, как оказалось. Есть игры на CSS.
                                                                          https://www.google.com/search?site=&source=hp&q=css+game
                                                                          • 0
                                                                            Как вы напишите игру на CSS без HTML?
                                                                            • 0
                                                                              Не, не, я имею в виду связку, разумеется. Это был ответ на «Тьюринг-полный» по отношению к xml выше.
                                                                      • 0
                                                                        Есть вакансии в банках где программисты только на xml пишут логику преобразования данных под выдачу из БД. Естественно используя возможности других программных продуктов.
                                                                        • 0
                                                                          Но сам по себе CSS не имеет ценности

                                                                          стили виджетов в Qt4+, темы в Gtk3+. Не всё, со своими нюансами, но всё же. Это то, что мне сходу вспомнилось, вполне возможно, что есть ещё применения.

                                                                    • +3
                                                                      Странно — 2017 год ещё не наступил, а рейтинги на 2016 уже имеются
                                                                      • +1
                                                                        Приятно видеть Си на 1 месте у IEEE Spectrum
                                                                        • –1
                                                                          JS и Python ожидаемо.
                                                                          • 0
                                                                            Вот смотрю я на эти рейтинги, и одна мысль не даёт мне покоя — вместе с развитием языков растёт их сложность. Приятно видеть Си в лидерах, но С++ и С# тоже там, и я плохо представляю, как нынешнее поколение программистов может постичь все премудрости современных языков. Я вот о чём. В школе мы вообще не изучали языки — у нас был предмет «Основы информатики», там изучались основы логики, а единственным программируемым устройством у меня был калькулятор Электроника МК61. В институте была стандартная программа — сначала Фортран, затем Паскаль. В то время Вирт был моей настольной книгой. Курсе на четвёртом я начал самостоятельно изучать Си (я вообще физик по образованию, Си в стандартной программе не было) и место на столе заняла книга Кернигана и Ричи.После Паскаля это было невообразимо круто. Потом была Модула-2, и ассемблер PDP-11. На пятом курсе я сделал подход к С++, но Бъёрн Страуструп оказался тяжеловат. Я попробовал написать пару оконных приложений для Windows 3.11 и уже в то время это оказалось сложновато, ибо количество кода, необходимое для самых простых вещей зашкаливало все разумные пределы. В конце девяностых судьба связала меня с Дельфи — знание Паскаля помогло, а интуитивно-понятная среда позволяла клепать Windows приложения как на конвейере, ну и мозаика ООП наконец-то сложилась. В какой-то момент я упирался в производительность, и пришлось изучить x86 ассемблер и досконально разобраться в MMX. Тогдашнее расширение MMX ещё можно было удержать в голове, но может ли кто-нибудь похвастаться, что он досконально знает все современные SIMD расширения? Дальше был интересный период — я перешёл на LabVIEW и пятнадцать лет программировал на нём, пройдя от версии 5.1 до 2016. LabVIEW образца 2000 года был прост как пять копеек, но LabVIEW 2016 несоизмеримо сложнее. И вот теперь я изучаю C# 6.0, у меня на столе Альбахари и Михаелис с Липпертом, и это просто взрывает мой немолодой уже мозг (и это я ещё до Рихтера не дошёл). Для тех, кто много лет «рос» вместе с языком начиная с начала двухтысячных, каждая следующая версия воспринимается достаточно легко — примерно как для меня LabVIEW, который я знаю вдоль и поперёк. Однако для тех, кто начинает изучать язык сегодня, этот процесс похож на попытку вскочить в поезд на ходу, причём поезд движется всё быстрее и быстрее. Возможно именно простота Си и удерживает его в десятке лидеров. И процесс усложнения высокоуровневых языков не останавливается, постоянно удлинняя процесс изучения, и ведь когда-нибудь наступит момент, когда от момента изучения до момента свободного владения несколькими языками просто жизни не хватит. Сегодня программирование начинают изучать ещё со школьной скамьи, чуть ли не с первого класса, это стало более чем доступно, есть прекрасные наборы Lego EV3, о которых я даже и мечтать не мог, но если не случится какой-нибудь революции, то в какой момент нас настигнет «кризис сложности языков». Или я неправ?
                                                                            • 0
                                                                              C удерживает в лидерах, то что самые быстрые языки это Assembler, Forth и C. Из которых C легче всего освоить, да и компиляторов Forth я ни разу в живую не видел (ни под DOS, ни под Windows).
                                                                              • +1
                                                                                Оглянитесь на любую другую научно-прикладную область. Как справляются физики? Химики? Химия уже не так проста, как во времена Ломоносова и Менделеева, сегодня < и далее по тексту > Берут и справляются. То, что люди выводили через мучения десятилетиями, ими получается в готовом виде. У них свои методы работы. То, что раньше приходилось держать в уме, сегодня выводится и проверяется с помощью компьютеров. У них свои казусы, свои формулы, над которыми они будут биться. Упёрлись ли они в «кризис»? Да, во многих областях упёрлись, но это не значит, что они отступили.

                                                                                Упрёмся ли в стену? Уже упёрлись, новые языки и методологии не решают первостепенных проблем. Конец? Нет, преддверие смены парадигмы. Увеличение роли ИИ в написании приложений, автоматическая оптимизация, генерирование программного кода из текстового описания задачи. Квантовые и оптические компьютеры, графеновые источники питания и сверхпроводники. У нас есть масса технологий, которые могут выстрелить. И будет новая итерация, и тогда я буду писать «ну вот, теоретические возможности оптического вычислителя практически достигнуты, достигнута огромная сложность. Не уж то стена?» И тогда уже мне какой-нибудь дерзкий молокосос будет писать, что, мол, чего ты боишься, ничего страшного, осваиваем же субатомные технологии, скоро получим новые стабильные виды атомов, и на них построим ещё какую-нибудь фигню.
                                                                                • 0
                                                                                  В принципе согласен, вы правы. Ещё такой момент — технический прогресс, он как бы «рывками» развивается, резкие прорывы сменяются периодами плавного наращивания знаний для следующего «прорыва». Изобретение транзистора, затем процессора были примерно такими прорывами. ИИ безусловно будет одним из следующих, но вот конкретно в данный исторический момент имеющаяся база программно-аппаратных средств ещё совсем не готова к созданию ИИ, как мне кажется.Сменится как минимум пара-тройка поколений программистов, прежде чем что-то радикально изменится.
                                                                                • 0
                                                                                  Революция рано или поздно случится, не сомневайтесь. Бывают люди, которые никак не хотят привыкать к плохому и потихоньку пилят своё решение у себя в пещере. Кто-нибудь из-таких обязательно выйдет на свет и изменит мир.
                                                                                  • –1
                                                                                    Я попробовал написать пару оконных приложений для Windows 3.11 и уже в то время это оказалось сложновато, ибо количество кода, необходимое для самых простых вещей зашкаливало все разумные пределы

                                                                                    Оно на чистом Си действительно занимает много места, никакого ООП.

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

                                                                                    В принципе, появление GO — как раз ответ на такой кризис.
                                                                                    • 0

                                                                                      Если говорить про C#, то синтаксис там наоборот упрощается и укорачивается. Никто вам не помешает программировать на версии года 2005, просто все будет многословней. Это сложность задач растет, сейчас в тренде асинхронное программирование повсюду. На версии 2005 года вы бы закопались реализовывать то, что сейчас получится реализовать с помощью гораздо меньшего количества кода. А "взрывает" мозг возможно из-за того, что C# все же другая парадигма программрования, в отличие от LabVIEW.

                                                                                    • +1
                                                                                      Я один кто пропустил тот момент, когда github стал индексом популярности? Явно не хватает статистики с других источников, скажем, специализированных для конкретного языка. Есть же cpan, rubygems, PyPI, %укажи свой%. Я более чем уверен, что далеко не все проекты дублируются в github.
                                                                                      • 0
                                                                                        То же справедливо и для других ЯП. Этот показатель — один из лучших за неимением иных. Хотя, например, можно было бы включить в рейтинг статистику codegaming, на котором все программируют на удобных для себя ЯП (или для учёбы).
                                                                                        • 0
                                                                                          По количеству пакетов в репозиториях разных языков есть такой рейтинг: http://www.modulecounts.com/
                                                                                        • +1
                                                                                          По вакансиям бы кто сделал рейтинг.
                                                                                          • 0
                                                                                            Он сильно зависит от региона. Например, злые языки утверждают, что в России программирование можно обнаружить всего в четырёх городах, за пределами которых имеется только 1C и немного PHP.
                                                                                            Тем не менее, многие рекрутинговые ресурсы предоставляют такой рейтинг. Например вот по UK.
                                                                                            • 0

                                                                                              Москва, Питер, Новосибирск, а четвёртый кто?

                                                                                          • –1
                                                                                            По итогам рейтингов Java первая и это радует. До python руки не дойдут никак, но рейтинги мотивируют.
                                                                                            • 0

                                                                                              По количеству проектов на GitHub несколько странно судить. Сравните средний размер библиотек на Java и на JavaScript. У JavaScript гранулярность гораздо выше. Вон пресловутый Azer Koçulu имеет больше сотни JS-репозиториев. Типичный выглядит как-то так.

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

                                                                                              Самое читаемое