Самые нелюбимые языки в уходящем году

Рейтинг популярных языков, которые всем надоели.
20 декабря 2017326451Илья Бубнов7854910

Совсем недавно мы подвели общие итоги года в IT. Один из разделов был посвящён языкам, которые раздражают пользователей больше всего. Напомним, что пятёрка призёров выглядит так:

  1. Visual Basic 6;
  2. VBA;
  3. CoffeeScript;
  4. VB.NET;
  5. MATLAB.

Это итоги общего голосования. Однако чуть больше месяца назад на том же портале Stack Overflow проводился аналогичный опрос, посвящённый лишь негативу к конкретным языкам программирования. Результаты выглядят так:

https://lh3.googleusercontent.com/zL6p5snAqrn4jJXRqB3WVWOwybtSGYoitEz9HXcEMyL0gV2SFiGj7nlxQGUaNNY-synNh9Fc5o8Hbe4QCYv4GKsz_vj5vLUFMFUpinFyqoTebde2DXMBK2tEu7bnTGOGHA8j3JGn

Здесь распределение мест совершенно другое, в топе оказались популярные языки. Вторая часть голосования была посвящена тому, что именно бесит разработчиков:

Давайте рассмотрим самые ненавистные языки и убедимся, что языки в этом совсем не виноваты.

Вне подиума: MATLAB, CoffeeScript

Классическими аргументами невозможно объяснить наличие этих языков в топе. К примеру, CoffeeScript является синтаксическим сахаром для JavaScript. Вы не найдете практически ни одной гневной статьи, где бы призывали вернуться на JS или сделать выбор в пользу TypeScript. Весь негатив, который направлен в сторону CoffeeScript – плохая поддержка и вытекающие проблемы с компиляцией и отладкой. Однако недавно вышла вторая версия языка, в которой проблемы частично были решены. Поэтому посмотрим на рейтинг CoffeeScript в следующем году.

MATLAB и вовсе язык, который существует в своём замкнутом мире, причём многие разработчики в нём даже не являются программистами. Именно здесь таится главная причина нелюбви – если до этого вы пробовали обрабатывать данные в Python, а теперь вам пришлось пересесть на MATLAB, вас наверняка отпугнёт неэффективный синтаксис, ограничения в ООП, необходимость творить в рамках одной системы. Но вряд ли подобные претензии справедливо предъявлять к языку, созданному 33 года назад для решения узконаправленных задач.

Бронза: Visual Basic

Как известно, у Visual Basic несколько ответвлений: VB6, VBA или VB.NET. Удивительно, но все три попали в топ общего рейтинга. Попробуем разобраться, в чём причина такой ненависти.

Visual Basic официально не поддерживается уже несколько лет, по современным меркам это скудный и слаборазвитый язык. Что говорить, там даже нет нормальных наследования и полиморфизма. Однако ругать язык, который уже похоронили, довольно странно.

VB.NET – другое дело. Здесь есть преимущества .NET платформы, нормальная среда разработки и возможность создать современный продукт. Явные минусы – по-прежнему имитация механизма наследования и ориентированность лишь на Windows. Синтаксис также не является сильной стороной языка, но учитывая, что VB.NET чуть изуродованная версия C#, а он даже не в топе, то это не главная причина.

А вот Visual Basic for Applications – язык, который имеет недостатки по каждому пункту из второго рейтинга. Лично я пользуюсь им лишь для написания макросов для Excel. И каждый раз открывая среду разработки, я чувствоваю, что дизайн и инструментарий застряли в начале 2000-х.

При этом VBA – мощный и полезный язык, если речь идёт о взаимодействии с Windows. Да, хочется видеть синтаксис, как у Python, разнообразие средств разработки, как у Java или JS, хорошую документацию и большое дружное сообщество. Но и без этого VBA хорошо подходит для организации взаимодействия между приложениями и создания локальных скриптов.

Серебро: Java

Моё мнение – Java попал в этот список лишь из-за огромной популярности. Из тысячи случайно выбранных разработчиков Stack Overflow большая часть окажется Java-специалистами или просто людьми, знакомыми с языком. Даже если вспомнить все минусы Java, трудно представить, что у C#, JavaScript или COBOL их меньше.

Одна из главных претензий – будучи столь востребованным и развитым языком, Java базируется на синтаксисе 25-летней давности. Если бы он обеспечивал языку высокое быстродействие, эффективное использование памяти, надёжность – мы бы всё ему простили. Но этого нет.

Множество направлений разработки тоже не добавляет плюсов. Например, в мобильной разработке вы можете сравнить создание приложений на Swift и на ограниченной Java. И вряд ли вы восхититесь крутостью последней. При этом в десктопных приложениях Java – один из самых удобных инструментов для решения комплексных задач.

Золото: Perl

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

Кроме того, Perl уже 30 лет. По тем временам у него был достаточно простой и понятный синтаксис. Но если сравнивать с языками из 90-х – есть что улучшить. Также у него не слишком развита экосистема – почти нет профильных IDE, остальной инструментарий тоже весьма скудный. Но это не JavaScript и не Python, перед Perl не стоит столько сложных задач, а для решения своих вполне хватает существующей экосистемы.

Рейтинги Stack Overflow не подтверждают поговорку: «От любви до ненависти один шаг». Скорее они иллюстрируют понятное желание разработчиков двигаться в сторону упрощения синтаксиса, увеличения разнообразия инструментов и ускорения разработки. Правильный ли это путь – покажет время.

Новые комментарии

Спасибо,
что читаете наш блог!
Posts popup