Самые медленные из популярных языков программирования

Самые медленные из популярных языков программирования

На данный момент существует около 700 различных языков программирования, каждый из которых служит конкретной цели, удовлетворяет определенный круг потребностей и обладает своими сильными и слабыми сторонами. Из них на плаву держатся только 200-250. Все эти языки делятся на 2 категории: либо статически, либо динамически типизированные.


Первые обычно компилируются: то есть анализ и преобразование «человеческого» кода происходит компилятором, далее создается новый файл, выполняемый далее программистом вручную. Динамические же, как правило, интерпретируются: то есть анализ и построчный запуск кода осуществляется интерпретатором. 


Большинство программистов любит динамически типизированные ЯП, так как они реже подвергаются ошибкам и намного легче интерпретируются людьми (например, Python). Но за все нужно платить, и в данном случае жертвой становится скорость. Сейчас мы и обсудим примеры таких относительно медленных, но, тем не менее, широко распространенных языков, которые относятся к группе динамически типизированных. 


Perl


Сценарии Perl будут знакомы всем, кто уже сталкивался с UNIX. Данный язык создавали с целью упрощения задач, которые приходилось решать разработчикам при формировании длинных «скатертей» на Shell. Мы имеем в виду гряды команд, которые помещались в 1 файл и выполнялись последовательно.


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


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


Несмотря на отставание от высокоуровневых конкурентов, Perl растет и развивается, а проблем с эффективностью становится все меньше (яркий пример – выпуск в 2019-м году Perl 6). 


PHP


Скриптовый ЯП, используемый в сфере веб-разработки. Как правило, им пользуются в паре с  HTML и CSS, а также MySQL. Хотя часто можно услышать, что PHP устарел, результаты исследований w3techs говорят о следующем: он применяется практически в 80% веб-сайтов для бэкенда (реже для фронтенда). StackOverflow в прошлом году также назвал  PHP конкурентоспособным и востребованным языком, превосходящим по своим параметрам C++ с Typescript.



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


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


Во второй половине 2020 года был выпущен PHP 8, который оснастили не только классной оптимизацией производительности, но и встроенным Just-in-Time компилятором. Данные улучшения помогли ему впритык приблизиться к ЯП своей категории по эффективности и быстродействию.


Ruby


Этот язык прост в использовании за счет его объектно-ориентированности. Что касается производительности, он работает медленнее языков с компилятором, так как относится к интерпретируемым, т.е. выполняет код последовательно: один оператор за другим.

Причиной проседания Ruby по скорости является GIL, долгая сборка мусора и большое потребление памяти.


Python


Согласно данным нескольких авторитетных источников, например, statista и The Economist, универсальный Python находится на первом месте по популярности среди всех языков программирования. Он нашел широкое применение в кибербезопасности, науке о данных, веб-разработке и пр.


Преимущества Python значительно превосходят его недостатки, однако у большинства разработчиков есть претензии к скорости. Как и Ruby, этот язык медленный из-за интерпретируемости и GIL.


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


Итог

Быстродействие и производительность – это очень важные факторы для любого разработчика. Но нельзя забывать, что часто связанные с ними проблемы возникают не из-за языков программирования, а по причине плохой реализации и неграмотного дизайна кода. Так что самое главное – это учиться и получать как можно больше ценного опыта. В чем и желаем вам удачи!

()
Количество показов: 16
15 марта 2021

Возврат к списку