Оценивая далекий 1997 год можно оценить те перемены, которые произошли с языками программирования. Так какие языки программирования были популярны в 1997, а какие сейчас? Попробуем разобраться.
Кратко о них
Основные знания и умения соискателей тех лет сосредоточились на таких языках, как Visual Basic, Pascal, Delphi, FoxPro, Assembler, которые сейчас можно назвать «умирающими».
Visual Basic – имеет простой синтаксис, используется только на ОС Windows, потребляет много ресурсов. У Visual отсутствует механизм наследования реализации объектов и указателей. Есть несколько вакансий с его упоминанием, так как он даже сейчас помогает в автоматизации ключевых программ Office, таких как Excel. Занимает 14 место в рейтинге TIOBE.
Pascal – популярен среди школьников и студентов младших курсов. Понятный код, строгая структуризация и типизация, но отсутствуют необходимые возможности для создания современных приложений. В вакансиях не упоминается. Занимает 74 место в рейтинге TIOBE.
Delphi – объектное расширение Pascal. Прост и удобен, работает быстро. Используется в коммерции (на нем написаны такие программы, как Total Commander, Skype, NotePad, Qip и тд.). Большинство разработчиков поставили на нем крест. На jobs.tut.by висит десяток вакансий, в которых Delphi упоминается в совокупности с другими языками. Занимает 15 место в рейтинге TIOBE.
FoxPro - один из диалектов xBase, применяется для разработки файл-серверных реляционных СУБД. Очень древний, хотя есть несколько вакансий с его упоминанием. Отсюда можно предположить, что кто-то еще пользуется им.
Assembler - транслятор исходного текста программы, написанной на машинно-ориентированном языке низкого уровня. Преподается на младших курсах, вакансий с его упоминанием нет.
Далее посмотрим, что сохранилось на протяжении двух десятилетий.
С++ в рейтинге TIOBE занимает 3 место, количество вакансий с его упоминанием доходит до сотни. В исследованиях по максимальной заработной плате он бьет рекорды, занимая лидирующее место среди других языков. Что касается будущего, вытеснение этого языка с его позиций не предвидится. С++ необходим для разработки мощного софта, тяжелых игр и всего, что требует больших объёмов памяти.
Язык С в рейтинге TIOBE занимает 2 место, вакансии с его упоминанием ненамного уступают по количеству и доходности. Многих удивляет, почему С все еще популярен. Ответ прост: он маленький, быстрый и мощный. Часто используется для разработки софта встроенных систем или, например, чтобы собрать воедино все ресурсы техники.
SQL- язык структурированных запросов, можно сказать, это самый важный и нужный язык, учитывая статистику на рынке труда. Такие СУБД, как MySQL, PostgreSQL и Microsoft SQL Server распространены повсюду: в мелких и крупных организациях, в банках, учебных заведениях и тд. SQL занял свою нишу на мобильный устройствах с Android и IOS. Быстро, надежно и верно помогает найти информацию в больших БД.
Статистика по версии TIOBE дает возможность оценить в какой-то степени популярность языков программирования за прошедший месяц. Основана она на количестве поисковых запросов.
Лидеры и аутсайдеры
Лидер рейтинга Java. Уникальный инструмент, который сохраняет популярность все время своего существования. Хотя можно сказать, что сейчас его использует гораздо больше разработчиков, чем 5 лет назад. Обладает широкой пользовательской аудиторией, обширными библиотеками.
На четвертом месте обосновался С#. Это язык №1 для разработки на платформе Microsoft. На нем разрабатываются как веб-приложения, так и игровые движки. Количество вакансий, в которых он упоминается, порядка двух десятков, а заработная плата в среднем около $2 тысяч.
Пятую позицию занял Python. Приложения, интерфейсы, анализ данных, статистика - если есть проблема, она решается в нем. Зачастую используется в научной сфере, чтобы пробиться через массив экономических и промышленных данных. Вакансий немного, около двадцати, но предложения для Senior довольно заманчивы и начинаются от 2,5 тысяч долларов.
Сравнение длинной в двадцать лет по версии TIOBE (рейтинговые позиции языка программирования)
ЯП |
2016 |
2006 |
1996 |
Java |
1 |
1 |
13 |
C |
2 |
2 |
1 |
C++ |
3 |
3 |
2 |
C# |
4 |
6 |
- |
Python |
5 |
7 |
26 |
PHP |
6 |
4 |
- |
JavaScript |
7 |
8 |
19 |
.NET |
8 |
- |
- |
Perl |
9 |
5 |
3 |
Хотелось бы отметить некоторые языки, появившиеся совсем недавно, но уже зарекомендовавшие себя как мощные и современные инструменты для разработчиков.
Swift начал разрабатываться в 2010 году. Вобрал в себя идеи многих: от С++ до Haskell. Совместим с Objective-C (очень многое взято из него), работает в среде Xcode 6 для iOS. Позиционируется как более быстрый и безопасный. Официально Swift представлен в 2014 году. Обосновался на 12 позиции TIOBE .
Hack разработан компанией Facebook. Представлен в марте 2014 года. Код исполняется на виртуальной машине HHVM. Hack основан на всем известном PHP. Высоконадежный инструмент для быстрого создания веб-сайтов и других приложений.
Dart создан компанией Google. Планируется, что он заменит JavaScript в качестве универсального языка для веб-программирования. При его создании учитывались «фундаментальные изъяны» JavaScript и желание максимально приблизить его к уже существующим языкам веб-программирования. Исполняется через виртуальную машину VM Dart и трансляцией в JavaScript.
Комментарии
Я не прогадал, когда в 80-ых взялся за си Переход на си++ был очень болезненным. Я не сразу понял фишку: функции сделаали такими же равноправными членами структур, как и всё, что было в структурах си. А наследование, полиморфизм, перегрузки -- лишь примочки.
Я уверен, что через лет пять C# и Objective-C уйдут туда же, где сейчас живет Delphi. Надо не языки учить и фреймворки, а универсальные вещи. Тогда и не страшно будет потерять работу.
Уйдут все.
Это невозможно. Вторичные технологии могут быть очень сложными. Учить их придется.
Категоричность предсказаний -- опасная штука. Сбываются менее, чем наполовину. Шарп -- прекрасный язык, упростивший работу под Windows. Пока она жива, шарп будет.
Универсальная вещь -- это C/C++? НЕТ. Каждый раз под др. ОС надо переписывать код. Универсальна лишь Джава. Но она тормозная -- плата за универсальность.
Фреймворки надо не учить, а использовать. Делфи потому и сдал, что VCL -- НЕ ФРЕЙМВОРК.
Её можно потерять по другим причинам. Например, по здоровью или по возрасту.
PS Или по пьяни.
Ассемблер не умрет никогда:)
Гексакод -- тоже!
Пользователю всё равно на каком языке написано ПО. Главное чтобы оно работало быстро, без ошибок, и было удобным. Другое дело, что сейчас нарастает популярность web-приложений, а локальные (десктопные) приложения постепенно уходят с рынка. А эта ситуация навязывает разработчикам браузерные и серверные языки такие как java, js, php, python.
Приз открывателю Америки!
Вот интересные заметки из 80-х:
«Операционные системы: зачем они инженеру»
В 80-х годах мы вместе с сотрудниками ИТК АН БССР активно внедряли в СССР и Минобороне не только язык С, персоналки ЕС 184х, но и операционную систему UNIX, и как говорится "не прогадали". Как это проходило можно почитать здесь:
30-летие учебного пособия ОС Minix