it Новости Сколько сейчас есть языков программирования?
Сколько сейчас есть языков программирования?

Сколько сейчас есть языков программирования?

2 484
16 июня 2020 в 18:26

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

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


Если говорить в общем, существует от 1 тысячи до 10 тысяч языков программирования. Как мы уже сказали, такой размах получается из-за разного смысла, вкладываемого в понятие язык программирования. Также имеет значение, как мы будем классифицировать разновидности одного языка: как отдельные языки или нет. 


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


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


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


Многообразие ЯП

Их можно классифицировать по нескольким признакам: функциональности, степени детализации алгоритма, способу реализации, типу решаемых задач и другим.


Динамический тип языков программирования и статический 

Система типов представляет собой совокупность правил, которые назначают свойство (или «тип») различным сущностям и конструкциям. 



Если присвоение типа переменной происходит при ее объявлении – это статическая типизация. К таким языкам относятся С++, C#, Golang и Java.


В языках с динамической типизацией этот процесс происходит при присваивании значения, например, в PHP, JavaScript, Ruby или Python.


Языки низкого уровня и высокого

Тут ничего сложного: обычно языки первых поколений – это низкоуровневые. К ним относятся ассемблеры, появившиеся на заре информационной эры, когда ЭВМ были размером с целое здание.



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



В данный момент существуют и языки сверхвысокого уровня с высочайшим уровнем абстракции. К примеру, Python, Perl и Ruby.


Компиляция и интерпретация – две основы ЯП

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



К компилируемым языкам относятся Pascal, Basic и C#, а к интерпретируемым – PHP, JavaScript и Python.


Текстовые ЯП и визуальные 

Визуальные отличаются от текстовых тем, что в них программа создается не написанием текста, а комбинированием графических объектов. Так как смартфоны и планшетные ПК становятся все более популярными инструментами для работы, востребованность визуального программирования тоже повышается.



Также именно визуальные языки являются самым удобным способом научить детей программированию. К визуальным относятся, например, Sketchware или App Inventor.


Для развлечения

Знали бы вы, сколько ЯП были созданы “just for fun”! Несмотря на их полноценность, использовать эти языки для решения “настоящих”, “взрослых” задач невозможно, зато они отлично подходят для того, чтобы обучать главным принципам разработки в доступной и нескучной игровой форме. 


Glass

Появился в 2005-ом году. Его структура настолько сложная, что здесь действительно сам черт ногу сломит!

{F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^\(_n)*(_a)
s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm)
=/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)*
(_a)(le).?=\]}


Приведенный участок кода выведет на экран последовательность Фибоначчи. 


Lolcode

В 2007-ом году Адам Линдсей создал язык Lolcode, в котором используется словарь сленгового английского языка и фразы с картинок интернет-мема Lolcat (на нем изображаются кошки и смешные надписи).

HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
   UP VAR!!1
   VISIBLE VAR
   IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE


Brainfuck

Язык для настоящих гиков, название которого переводится как “заниматься ерундой”. Он очень минималистичен: всего 8 команд в виде символа. Конечно же, это не серьезный инструмент, а очередное развлечение для разработчиков. Но даже несмотря на это он покорил сердца достаточно большой публики. 

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.
<<+++++++++++++++.>.+++.------.--------.>+.>.


Этот код выводит фразу «Hello, World».


Chicken

Ключевых слов здесь не много – только одно. Сможете угадать, какое? В каждой строке содержится определенное количество слов «chicken», и от их числа зависит, какая команда будет выполняться.


Вот пример неординарного, но тем не менее работающего кода:

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken

Больше интересных новостей

Комментарии для сайта Cackle