Самый лучший язык программирования. Современные языки программирования и их использование

30.07.2019

1. При выборе языка программирования на проект выбор встает между двумя сторонами - выбрать старый проверенный инструмент или новый, красивый, функциональный, но мало проверенный, а следовательно, ненадежный язык. Как разумнее поступить в этой ситуации? Каковы риски каждого из решений, и как с ними справиться?

Игорь Зильберг , SmartHead
Нужно выбирать инструменты по адекватности задаче и по наличию опытной команды, знакомой с выбранными инструментами. Риски при работе с новыми инструментами минимизируются исследованиями, созданием proof of concept, привлечением опытных консультантов. Новые технологии должны изучаться постоянно, но применяться, только если они лучше подходят для решения конкретной задачи.

Александр Макарчук , qb
Для бизнеса понятия «красивого языка» не существует. Сделать ставку на новый непроверенный язык можно только в том случае, если он гарантированно даст проекту какое-то особенное УТП, которое клиенты смогут почувствовать, а главное - захотят за него заплатить. Если это условие выполняется, то выбрать новый язык можно, но при этом придется принять на себя и все связанные с ним риски.

Григорий Никонов , Actis Wunderman
Конечно же, зависит от проекта и зрелости самого языка. Если проект позволяет, или использование языка является необходимым условием, и доступны нужные предметные библиотеки, то вполне можно позволить эксперимент. Риски очевидны: «подводные камни», на которые можно наткнуться на половине пути. Минимизация этих рисков тоже очевидна: по возможности провести исследования до начала проекта и убедиться, что, как минимум, есть активная поддержка языка в форумах или у производителя.

, ADV
В этом вопросе все зависит от сроков и бюджетов проекта. Если и то, и то сильно ограничено, то любые изыскания не оправданы и способны принести большие проблемы, вплоть до полного провала проекта.

Алексей Федоров , «Одноклассники»
Ответ сильно зависит от того, какова планируемая длительность проекта. Если это небольшой проект на заказ, который надо быстро сделать, сдать и забыть о нем - тогда можно выбирать все, что угодно. Если это большой проект на года - то лучше выбрать проверенные технологии, на которые можно будет нанять нужное вам количество специалистов. Для того, чтобы оценить, сколько в вашем регионе есть специалистов по той или иной технологии, достаточно воспользоваться любым разумным сервисом, например, LinkedIn или HeadHunter. А дальше уже нужно смотреть на нефункциональные требования: нагрузка, безопасность, отказоустойчивость и т. п.

2. Какие существенные факторы дают гарантию, что язык можно и нужно использовать на продакшне?

Игорь Зильберг , SmartHead
Гарантии в этом мире не дает никто и ничто. Мы полагаемся на свой опыт и распространенные best practice.

Александр Макарчук , qb
Можно выделить три основных признака, которые говорят о том, что использовать тот или иной язык выгодно и безопасно. Во-первых, наличие у данного языка «живого» комьюнити, во-вторых, наличие успешных кейсов, и в-третьих, поддержка языка крупными вендорами.

Григорий Никонов , Actis Wunderman
Наличие «зрелых» предметных библиотек и фреймворков, активное интернет-сообщество, предлагающее советы в решении проблем, отсутствие негативных отзывов о стабильности и производительности конечного приложения.

Алексей Персианов, Михаил Парфенюк , ADV
Факторами являются комьюнити данного языка, количество реализованных проектов, количество разработчиков и прочее. Выпуск на продакшн продукта на новом и сыром языке скрывает большие проблемы с поддержкой.

Алексей Федоров , «Одноклассники»
Формальная гарантия может быть подкреплена только контрактом. Если есть серьезный вендор (например, Oracle, SAP, IBM), который гарантирует, например, что его технология будет поддерживаться ближайшие 10 лет, и с этим вендором подписан соответствующий Support Contract, то, в принципе, вы можете считать это какой-то гарантией. Проблема в том, что обычно это очень дорого, а качество саппорта у больших вендоров, как правило, отвратительное.

Поэтому в мире в последние годы принята другая практика - open source. Если у вас есть опенсорсный инструмент (язык, фреймворк, база данных или все что угодно) с открытым исходным кодом, то это вам дает некоторую гарантию того, что если в этом инструменте вдруг обнаружится баг, то вы в крайнем случае сможете поправить этот баг своими руками. Именно это свойство opensource-решений я считаю ключевым для сегодняшнего бизнеса.

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

Игорь Зильберг , SmartHead
Разработчики не предъявляют бизнес-требований. Их предъявляет бизнес. Однако бизнес зависит от качества кода, который пишут разработчики. Поэтому, если разработчики хотят использовать технологию, которая явно не подходит для решения бизнес-задачи, то надо либо убедить разработчиков, либо поменять. Адекватный и опытный разработчик в состоянии понять бизнес-требования и применить наиболее адекватное им решение. У нас подобных проблем не было. В нашей практике чаще происходит наоборот: заказчик вместо того, чтобы формулировать бизнес-требования, влияет на выбор технологии (часто в ущерб реализации собственных требований).

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

Григорий Никонов , Actis Wunderman
Придерживаться консервативной политики и не менять язык без веских оснований. Всегда будет другой проект, на котором можно будет опробовать новый язык.

Алексей Персианов, Михаил Парфенюк , ADV
Пойти навстречу разработчикам можно только в случае внутреннего проекта, или если он пишется для обучения команды. В этом случае риски неудачи невелики, и при неудаче выносится полезный опыт на будущее. В противном случае бизнес не оценит перфекционизма разработчиков.

Алексей Федоров , «Одноклассники»
Во-первых, следует спросить, чем обоснована идея по смене языка. Что это даст? Каковы плюсы и каковы минусы? Какова стоимость такого перехода и каковы сроки? Каковы риски?

Если полученные ответы вас устраивают с точки зрения бизнеса - вперед. Если не устраивают - нужно постараться донести до разработчиков причины, по которым вы им отказываете.

4. Когда затраты на переход с одного языка на другой стоят того?

Игорь Зильберг , SmartHead
Оценить затраты на смену платформы и сопутствующие выгоды невозможно вне контекста проекта. Такое решение может приниматься только на основании осознанного подхода в рамках конкретного проекта, а не на основании каких-либо «универсальных» мнений или правил.

Александр Макарчук , qb
Когда это повлечет за собой ощутимую прибыль, как прямую, так и косвенную вследствие появления у проекта нового УТП, которое сделает продукт конкурентоспособнее.

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

Алексей Персианов, Михаил Парфенюк , ADV
Когда поддержка языка прекращена, а вместе с тем и количество специалистов на рынке стремится к нулю. Или если вы полностью теряете старую команду без возможности сохранить технологии. Когда профит от языка будет больше, чем затраты на его переход.

Алексей Федоров , «Одноклассники»
Когда у вас и ваших коллег есть четкие ответы на обозначенные выше вопросы.

5. Считаете ли вы, что существует устоявшееся разделение применения языков для определенных задач? Если да, то как именно вы его видите? Может ли появиться или уже существует язык, который изменит ситуацию и перетянет на себя большую часть разработчиков?

Игорь Зильберг , SmartHead
Конечно же, есть некоторые типовые сферы применения разных платформ (не языков). Например, Java и.NET для относительно крупных бизнес-приложений или сервисов. Node.js для многопоточной обработки и мессенджинга. Все не перечислить. Однако эти границы очень и очень размыты и зависят так же от региона. В США, например, немного другой опыт использования, «мода» и типовые сферы применения платформ, нежели у нас.

Александр Макарчук , qb
С одной стороны, устоявшееся разделение языков по применению существует, но с другой - довольно сильное значение имеют региональные и ценовые факторы: стоимость вхождения в технологию, поддержки и т.п. Что касается появления новых языков, то здесь нужно заметить такую вещь. За последние несколько лет уровень коммуникации вырос значительно, а языки программирования, по сути, все те же. Возможно, именно дальнейшая революция в области коммуникаций повлечет за собой совершенно новые технологии разработки.

Григорий Никонов , Actis Wunderman
В принципе, такое разделение есть: языки C и C++ традиционно используются для низкоуровневой разработки, Java и C# считаются языками общего назначения, подходящими для широкого спектра задач от бизнес-логики до мобильных приложений. Python, Ruby и PHP нацелены, в основном, на веб-разработку, JavaScript - на браузерные приложения. Не думаю, что возможны резкие изменения в этой области, хотя мода на языки и фреймворки иногда меняется - сейчас, например, начинает набирать популярность язык Go.

Алексей Персианов, Михаил Парфенюк , ADV
Да. Некоторые вещи лучше реализуются на разных языках в силу скорости работы и простоты использования, например, в php-проектах в силу «медлительности» языка можно реализовать чат на Node или агрегатор на Java - результат будет лучше.

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

Алексей Федоров , «Одноклассники»
Большинство известных нам с вами современных языков программирования являются многофункциональными, то есть на них можно делать очень разные решения.

Насчет нового языка - да, такой язык появиться может, но, в силу довольно сильной инертности индустрии, я не думаю, что в ближайшие 5 лет кто-то потеснит Java и С/C++ с пьедестала. Если же и выбирать какую-то «лошадку», то я поставил бы на JavaScript. Сегодня мы видим в индустрии огромный рост всего, связанного c JavaScript. Фреймворки рождаются, как грибы после дождя. Хайп в интернете вокруг этой технологии огромен. Посмотрим, к чему это все приведет.

6. Должен ли программист быть DevOps (обладать навыками программиста и системного администратора)? Что делать с тем, что большинство программистов отказываются развивать компетенции и нести ответственность в этой области?

Алексей Персианов, Михаил Парфенюк , ADV
Для настройки окружения обычно пользуются услугами системного администратора. Но, наверное, есть смысл в том, что человек, который пишет код, должен сам уметь настроить площадку для оптимального исполнения данного кода. Это сэкономит время и затраты.

7. Стоит ли использовать микросервисы в своих проектах?

Алексей Персианов, Михаил Парфенюк , ADV
Однозначного ответа нет, но наш ответ - да. Безусловно, они могут добавить немало проблем, но и помогут решить многие. Например, благодаря микросервисам разные части приложения можно писать на разных языках программирования, есть возможность масштабировать нагруженные части приложения и пр.

8. Должен ли разработчик уметь работать с широким спектром современных веб-технологий и языков?

Алексей Персианов, Михаил Парфенюк , ADV
В последние годы огромный рывок сделал фронтенд, при этом в серверных языках развитие не столь заметное. Разработчик, безусловно, должен знать основы смежных направлений, но быть гуру в серверных языках и в клиентских невозможно, каждый должен заниматься своим делом и быть в нем настоящим профессионалом.

Индекс TIOBE — известный показатель популярности языков программирования. Рейтинги рассчитываются на основе данных о количестве запросов, содержащих название языка, ведущих поисковых систем. Индекс TIOBE может быть использован при принятии важных стратегических решений, например, в случае, когда стоит вопрос: какие языки программирования стоит рассматривать в первую очередь, строя новую систему программного обеспечения.

Индекс TIOBE в марте: потенциал основных языков программирования

Сложно поспорить с тем, что рынок программного обеспечения постоянно меняется. Однако, судя по всему, языки программирования этот факт не слишком заботит. Сравнивая ТОП-10 текущего индекса TIOBE с рейтингом 10-ти летней давности, можно отметить, что он не слишком-то изменился.

Среди наиболее знаковых отличий можно отметить то, что VisualBasic, и Perl уступили места в ТОП-10 таким более современным языкам как C#, и . Отдельно стоит отметить Objective-C. В течение последних 10-ти лет он даже оказывался среди лидеров, занимая 3-ю строчку в ТОПе. Однако довольно быстро распрощался с ведущими позициями после того как Apple сообщила о намерении изменить Objective-C с помощью .

Согласно прогнозам,TIOBE в ближайшей перспективе ждать появления нового мощного языка программирования не стоит, причем не только в 2016 году, но и в последующие несколько лет. Учитывая то, насколько мощными являются кодовые основы десяти ведущих языков программирования, они по-прежнему будут доминировать, повышая конкурентные преимуществ и расширяя возможности за счет имеющегося потенциала.

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

Судя по тому, какую динамику роста популярности занял в 2015 году, посоперничать с ними другим языкам программирования в ближайшей перспективе будет непросто. В 2015 году в общем рейтинге он прибавил почти 6%, заняв почти 22% рынка.

Меньший интерес разработчики проявляли к С и С++. Их доля на рынке составила 16% и 7% соответственно. Четвертую позицию рейтинга занял с долей рынка менее 5%.
Говоря об остальных языках программирования, представленных в рейтинге, стоит отметить, что приличную динамику роста в 2015 году продемонстрировали Python, VisualBasic .NET и Delphi.

Практически не вызывали интереса у пользователей такие языка как Objective-C (по сравнению с мартом 2015 года он потерял более 5%), PHP(за последние 12 месяцев также демонстрирует отрицательную динамику - 1,23%) и PL/SQL (по сравнению с мартом 2015 года прибавил только 0,16%).

Напоследок, стоит отметить, что в прошлом году язык программирования java был отмечен как «язык 2015 года», что совпало с его 20-ти летним юбилеем.

Половину позиций в рейтинге 25 самых высокооплачиваемых специальностей 2016 года по версии сайта о работе и карьере Glassdoor составляют айтишные вакансии, требующие навыков программирования. Школа программирования Coding Dojo проанализировала объявления на крупнейшем в мире агрегаторе вакансий indeed.com, составив топ самых востребованных языков программирования в мире в 2016 году.

1. SQL

Возглавляет список SQL — «язык структурированных запросов», применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей СУБД. Технологии баз данных (MySQL, PostgreSQL и Microsoft SQL Server) используют как международные корпорации, так и малые бизнесы и госучреждения. На самом деле, почти каждый компьютер и человек с доступом к технологиям в конечном счёте соприкасается с SQL. Например, все Android-смартфоны и iPhone имеют доступ к базе данных SQLite, и многие популярнейшие мобильные приложения, разработанные Google, Skype или Dropbox, используют её.

2. Java

Мировое технологическое сообщество недавно объектно-ориентированного языка программирования Java. Это один из наиболее широко распространённых языков, который используют 9 млн разработчиков и 7 млрд устройств.

С Java и основанными на нём фреймворками разработчики могут создавать масштабируемые веб-приложения для широкого круга пользователей. Java — также основной язык, используемый для разработки нативных Android-приложений для смартфонов и планшетов.

Популярность Java у разработчиков связана с простотой и надёжностью языка, который обеспечивает долгосрочную совместимость написанных на нём продуктов. В ближайшие годы не стоит ожидать заката эпохи Java, на котором построены сайты ИТ-гигантов LinkedIn.com, Netflix.com и Amazon.com.

3. JavaScript

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

4. C#

C# — относительно новый объектно-ориентированный язык программирования, который ведёт историю с 2000 года и является основным языком для разработки на платформах и сервисах Microsoft. Будь то разработка современных веб-приложений с использованием Azure и.NET, приложений для «девайсов» Windows или мощных десктопных приложений для бизнеса. C# — результат эволюции предшественников C и C++ — самый быстрый способ использовать всё, что может предложить Microsoft. Кроме того, это и один из основных языков для разработки игр на движке Unity.

5. Python

Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Веб-приложения, пользовательские интерфейсы, анализ данных, статистика — для какой бы задачи вам не предстояло найти решение, в Python, скорее всего, найдётся подходящий фреймфорк.

Это отличный выбор языка как для новичков, так и для опытных программистов. Python недавно потеснил Java с позиции главного начального языка программирования, с помощью которого происходит посвящение учащихся в мир компьютерных наук. Так, 8 из 10 факультетов информатики в США и 27 из 39 лучших университетов используют Python для обучения студентов программированию.

Академическая популярность повлияла на то, что в последние годы Python всё чаще используется в качестве основного инструмента для обработки гигантских объёмов данных практически в любой отрасли.

Сайты NASA and Reddit написаны на Python.

6. C++

Наследник «древнего» C, C++ — идеальный выбор для разработки мощного «настольного» программного обеспечения, игр с функцией аппаратного ускорения, а также приложений для ПК, консолей и мобильных устройств, требующих большого объёма памяти для работы. Создатель C ++ Бьёрн Страуструп с 1983 года ведёт учёт приложений, написанных на этом языке. В их числе — приложения Adobe и Microsoft, базы данных MongoDB, значительная часть Mac OS / X.

7. PHP

Детище датско-канадского программиста Расмуса Лердорфа , PHP создавался в качестве набора инструментов, необходимых для сохранения персональной страницы (Personal Home Page) создателя. Сегодня PHP — скриптовый язык общего назначения, который наряду с базами данных (например, MySQL) интенсивно применяется для разработки веб-приложений.

На PHP разработано большинство сайтов, ориентированных на большой объём данных. Это также основополагающая технология мощных систем управления контентом, как WordPress.

8. Ruby on Rails

Ruby — динамический язык программирования с открытым исходным кодом и упором на простоту и продуктивность. Его главной сферой применения является разработка веб-приложений. Ruby on Rails — написанный на Ruby фреймворк, который обеспечивает интеграцию веб-приложений с веб-сервером и сервером баз данных. Среди плюсов, делающих Ruby on Rails популярным среди небольших стартапов и глобальных корпораций, — скорость разработки (ёмкость кода и широкий выбор сторонних библиотек).

Ruby on Rails использовался при создании таких популярных сайтов, как Twitter, SoundCloud, Airbnb, Basecamp, GitHub, Hulu.

9. Swift

Летом 2014 года на конференции WWDC компания Apple представила собственный язык программирования Swift в качестве замены давнему Objective C. Swift от разработчиков за свою безопасность (в нём сложно ненароком внести критические баги) и современность. Другой ключевой фактор — «выразительность» языка, когда для получения одного того же результата в Swift нужно куда меньше строк кода, чем в Objective-C.

Аналитики прочат поступательный рост Swift в ближайшие годы. Сейчас эту технологию используют LinkedIn, Lyft, Vimeo, Pixelmator и другие компании. Поговаривают даже, Google перехода с Java на язык программирования от Apple при разработке приложений для Android.

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

10 местo: Objective-C


Уже каждый человек знаком с техникой компании Apple, многие остановили свой выбор именно на этой фирме, с хорошей репутацией и отличной пиар-компанией. Но если вы решили заглянуть немного дальше и самим попробовать написать приложение для iOS, то Objective-C именно то, что вам необходимо. Хотя, сейчас все переходят на Swift, который не так, популярен из-за того, что очень молод, но он создан компанией Apple, более удобен и динамичен, и вскоре, и уже все новые приложения и игры делаются именно на нем. Поэтому, скорее всего, в 2016 году начинать изучать Objective-C — не имеет смысла.

9 место: Ruby


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

8 место: SQL


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

7 место: C


Несмотря на то, что язык C появился в 1972 году, он остается актуальным и по ныне. Именно он оказался в основе разработке таких языков программирования как C++, C#, Java, D. Его основными преимуществами стали: компактность, быстрота и мощность. Применяется для создания системного и прикладного программного обеспечения.

6 место: Python


Это высокоуровневый язык программирования для общего применения. Он может выполнить практически любое ваше пожелание, то ли это будет анализ и проверка данных, то ли приложения, или любая статистика, со всем этим поможет Python. Сравнительно недавно, программисты пришли к согласию, что его можно использовать для обработки очень больших объемов данных и большим преимуществом является то, что он подходит для самых разных отраслей.

5 месте: C++


Появился он в 1983 году, так же как и C предназначен для общего пользования. Его можно использовать в таких областях как: создание операционных систем, для функций аппаратного ускорения, мобильных устройств, а также для игр. Если вам для работы необходимо большой объем памяти, то вы смело можете воспользоваться услугами языка C++.

4 место: PHP


Если вы решили создать веб-приложение, то скорее всего, вам понадобиться именно PHP (Hypertext Preprocessor). Один из лидеров для создания динамических веб-сайтов. В настоящее время на PHP создано большое количество сайтов, которые ориентируются на большой объем данных. Он так же является в основе систем управления контентом, таких как WordPress, Joomla, Bitrix, Prestashop и др.

3 место: C#


Был разработан в 2001 году в компании Microsoft в качестве языка разработки приложений для Microsoft .NET Framework. Это один из основных языков для разработки движка игр Unity.

2 место: JavaScript


Сравнительно молодой язык программирования, появился в 1995 году. Без него не обойдется не один создатель веб-страницы, применяется в браузерах как язык сценариев для создания интерактивности сайта. Самым большим преимуществом языка является то, что он легкоизучаемый и даже, если вы не программист, то немного потерпев вполне сможете в нем разобраться, хотя бы на начальных этапах. У него есть специфическое отличие от остальных языков, им не владеет ни одна компания, он так сказать в свободном плавании.

1 место: Java


На 1 месте язык Java. Это самый популярный язык программирования. Именно он сегодня является лидером у программистов для бэкэнд-разработки современных веб-приложений. Если вы собрались создать масштабируемое мобильное приложение для Android, будь то смартфон или планшет, то нет ничего лучше, чем Java. Он обладает такими возможностями как: автоматическое управление памятью, большой набор средств фильтрации ввода-вывода, простые средства создания сетевых приложений и многое другое. Также язык может работать на любой Java-машине, не завися от компьютерной архитектуры.

Если хотите попробовать себя в Java, то лучшим сервисом для старта станет JavaRush . Тут, в форме квеста и игры можно освоить язык на базовом уровне, а потом, при желании, продолжить обучения до уровня, который поможет устроиться на работу. Материал подается очень легко, есть сотни практических заданий и интересная подача в виде RPG игры с прокачкой уровня и способностей.

Кстати, есть компании, которые собирают эти данные и выкладывают отчеты. Вот, например, рейтинг самых популярных языков программирования от RedMonk за 2015 год, который основан на анализе результатов активности как на GitHub, так и на StackOverflow:



И подобный анализ проводила компания GitHut , у которых на первом месте оказался javascript:


Таким образом, как видите, наиболее популярными языками программирования считаются java и javascript. Они делят первое место. А какими языками программирования владеете вы? Или может быть только собираетесь изучить? Напишите пожалуйста в комментариях.

Кстати, в одной из наших статей мы собрали . Очень занятное и полезной развлечение для деток может получиться, если вы уделите им пол часика)

13/01/2016 24/12/2018 TanyaVU 6723

March Headline: Powershell enters the TIOBE index top 50

There are hardly any interesting changes in the TIOBE index this month. We had to use our magnifying glass to spot some news, i.e. that Powershell entered the TIOBE index top 50. The Powershell scripting language is more than 12 years old and it has been in the top 50 before. Powershell is typically used for basic scripting. Until recently it was only available for Windows but Microsoft used its .NET Core platform to create Powershell Core. This version is open source and runs on all major platforms. This might be the reason why Powershell is getting more popular again.

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found .

Mar 2019 Mar 2018 Programming Language Ratings
1 1 Java 14.880% -0.06%
2 2 C 13.305% +0.55%
3 4 Python 8.262% +2.39%
4 3 C++ 8.126% +1.67%
5 6 Visual Basic .NET 6.429% +2.34%
6 5 C# 3.267% -1.80%
7 8 JavaScript 2.426% -1.49%
8 7 PHP 2.420% -1.59%
9 10 SQL 1.926% -0.76%
10 14 Objective-C 1.681% -0.09%
11 18 MATLAB 1.469% +0.06%
12 16 Assembly language 1.413% -0.29%
13 11 Perl 1.302% -0.93%
14 20 R 1.278% +0.15%
15 9 Ruby 1.202% -1.54%
16 60 Groovy 1.178% +1.04%
17 12 Swift 1.158% -0.99%
18 17 Go 1.016% -0.43%
19 13 Delphi/Object Pascal 1.012% -0.78%
20 15 Visual Basic 0.954% -0.79%

Other programming languages

The complete top 50 of programming languages is listed below. This overview is published unofficially, because it could be the case that we missed a language. If you have the impression there is a programming language lacking, please notify us at . Please also check the overview of all programming languages that we monitor.

Position Programming Language Ratings
21 SAS 0.929%
22 PL/SQL 0.734%
23 Dart 0.724%
24 D 0.618%
25 Scratch 0.549%
26 COBOL 0.522%
27 Fortran 0.472%
28 Scala 0.467%
29 Lua 0.418%
30 Transact-SQL 0.415%
31 ABAP 0.395%
32 Lisp 0.372%
33 Prolog 0.368%
34 Scheme 0.355%
35 Rust 0.310%
36 Ada 0.310%
37 LabVIEW 0.309%
38 Logo 0.296%
39 Kotlin 0.288%
40 Ladder Logic 0.241%
41 Bash 0.213%
42 Julia 0.210%
43 Haskell 0.207%
44 Hack 0.191%
45 PowerShell 0.180%
46 Awk 0.176%
47 ML 0.163%
48 PL/I 0.163%
49 Erlang 0.155%
50 RPG 0.152%

The Next 50 Programming Languages

The following list of languages denotes #51 to #100. Since the differences are relatively small, the programming languages are only listed (in alphabetical order).

  • 4th Dimension/4D, ABC, ActionScript, Alice, Apex, APL, Avenue, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Elm, Emacs Lisp, F#, Forth, Icon, IDL, Inform, Io, Korn shell, LiveCode, Maple, Mercury, Modula-2, Monkey, MQL4, MS-DOS batch, NATURAL, OpenCL, Oz, PostScript, Pure Data, Q, Ring, S, SPARK, SPSS, Standard ML, Stata, Tcl, Tex, TypeScript, Vala/Genie, VBScript, VHDL

This Month"s Changes in the Index

This month the following changes have been made to the definition of the index:

  • Santiago Segui suggested to add GML as a new programming language to the TIOBE index. GML meets all requirements. So it will be tracked from now on. This month GML entered the TIOBE index at position 193.
  • GAMS is a programming language that also qualifies for the TIOBE index. Salvador Doménech Martínez proposed to add it to the TIOBE index. GAMS debuts at position 240 in the TIOBE index.
  • There are lots of mails that still need to be processed. As soon as there is more time available your mail will be answered. Please be patient.

Very Long Term History

To see the bigger picture, please find below the positions of the top 10 programming languages of many years back. Please note that these are average positions for a period of 12 months.

Programming Language 2019 2014 2009 2004 1999 1994 1989
Java 1 2 1 1 10 - -
C 2 1 2 2 1 1 1
C++ 3 4 3 3 2 2 3
Python 4 7 5 10 29 21 -
Visual Basic .NET 5 11 - - - - -
C# 6 5 7 7 27 - -
JavaScript 7 8 8 8 18 - -
PHP 8 6 4 5 - - -
SQL 9 - - 6 - - -
Objective-C 10 3 36 45 - - -
COBOL 25 19 15 11 3 9 13
Lisp 27 13 18 14 13 5 2
Pascal 204 14 14 96 6 3 7

Programming Language Hall of Fame

The hall of fame listing all "Programming Language of the Year" award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.

Year Winner
2018 Python
2017 C
2016 Go
2015 Java
2014 JavaScript
2013 Transact-SQL
2012 Objective-C
2011 Objective-C
2010 Python
2009 Go
2008 C
2007 Python
2006 Ruby
2005 Java
2004 PHP
2003 C++

Bugs & Change Requests

This is the top 5 of most requested changes and bugs. If you have any suggestions how to improve the index don"t hesitate to send an e-mail to .

  1. Apart from " programming", also other queries such as "programming with ", " development" and " coding" should be tried out.
  2. Add queries for other natural languages (apart from English). The idea is to start with the Chinese search engine Baidu. This has been implemented partially and will be completed the next few months.
  3. Add a list of all search term requests that have been rejected. This is to minimize the number of recurring mails about Rails, JQuery, JSP, etc.
  4. Start a TIOBE index for databases, software configuration management systems and application frameworks.
  5. Some search engines allow to query pages that have been added last year. The TIOBE index should only track those recently added pages.

Frequently Asked Questions (FAQ)

  • Q: Am I allowed to show the TIOBE index in my weblog/presentation/publication?

    A: Yes, the only condition is to refer to its original source "www.сайт".

  • Q: How may I nominate a new language to be added to the TIOBE index?

    A: If a language meets the criteria of being listed (i.e. it is Turing complete and has an own Wikipedia entry that indicates that it concerns a programming language) and it is sufficiently popular (more than 5,000 hits for +" programming" for Google), then please write an e-mail to .

  • Q: I would like to have the complete data set of the TIOBE index. Is this possible?

    A: We spent a lot of effort to obtain all the data and keep the TIOBE index up to date. In order to compensate a bit for this, we ask a fee of 5,000 US$ for the complete data set. The data set runs from June 2001 till today. It started with 25 languages back in 2001, and now measures more than 150 languages once a month. The data are available in comma separated format. Please contact for more information.

  • Q: Why is the maximum taken to calculate the ranking for a grouping, why not the sum?

    A: Well, you can do it either way and both are wrong. If you take the sum, then you get the intersection twice. If you take the max, then you miss the difference. Which one to choose? Suppose somebody comes up with a new search term that is 10% of the original. If you take the max, nothing changes. If you take the sum then the ratings will rise 10%. So taking the sum will be an incentive for some to come up with all kinds of obscure terms for a language. That"s why we decided to take the max.

    The proper way to solve this is is of course to take the sum and subtract the intersection. This will give rise to an explosion of extra queries that must be performed. Suppose a language has a grouping of 15 terms, then you have to perform 32,768 queries (all combinations of intersections). So this seems not possible either... If somebody has a solution for this, please let us know.

  • Q: What happened to Java in April 2004? Did you change your methodology?

    A: No, we did not change our methodology at that time. Google changed its methodology. They performed a general sweep action to get rid of all kinds of web sites that had been pushed up. As a consequence, there was a huge drop for languages such as Java and C++. In order to minimize such fluctuations in the future, we added two more search engines (MSN and Yahoo) a few months after this incident.