Классификация языков программирования

Сейчас существует огромное количество самых разных языков программирования. По некоторым подсчетам, всего их более чем 120. Некоторые из них очень распространены и популярны (C++, Java, Python), некоторые известны только узкому кругу специалистов и любителей экзотики (Groovy, Clojure, Boo). Классификация и виды языков программирования – это очень сложный, многообразный вопрос, который постоянно вызывает споры, требует регулярной переоценки и умения находить в различных языках объединяющие их характеристики и особенности.

Классификация языков программирования

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

Высокоуровневые и низкоуровневые

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

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

К низкоуровневым относятся целая серия языков ассемблера, машинные коды, язык Forth, некоторые причисляют сюда также и С, хотя это уже вызывает некоторые споры. Высокоуровневых языков несравнимо больше – это и С++, Java, Python, Ruby, Фортран, Паскаль, PHP и многие другие. Но такая классификация не слишком хорошо передает реальное многообразие в ИТ сфере, ведь эволюция языков программирования уже далеко шагнула от тех времен, когда разработчикам приходилось использовать непосредственно низкоуровневые языки. Классификация языков программирования по уровню все больше уходит в прошлое, так как основные находящиеся в использовании языки все больше стирают грани своих возможностей.

Языки безопасные и небезопасные

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

Безопасным считается тот язык, созданные на котором программы при компиляции не будут нарушать заложенной в них логики поведения. Это не обязательно означает, что такая программа не может содержать ошибок, такое вообще вряд ли возможно. Но она должна быть стабильной и не нарушать целостности вложенных в нее данных. К безопасным относят такие языки, как Standard ML, Ada, BitC, Lisp и некоторые другие. Как правило, это проекты для военных, банковских операций и серьезных реальных сфер деятельности.

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

Используемая парадигма программирования

Еще один способ поделить языки на классы – обозначить, какую ПП они реализуют. Можно долго говорить на эту тему, упоминая объектно-ориентированное, функциональное, конкатенативную парадигмы, но проще сделать это по-другому. Все парадигмы делятся всего на два типа: императивная и декларативная парадигмы.

Языки императивной парадигмы отличаются тем, что задают машине команды в виде таких себе приказов, которые компьютер должен выполнять в определенном порядке. Декларативная парадигма позволяет создавать формализованное задание, которое дает машине определенную свободу в порядке выполнения поставленных задач. Эта схема довольно наглядна и понятна. К первому типу языков относятся машинные коды, ассемблер, Форт. Яркие представители второго типа — SQL и HTML.

Это далеко не единственные варианты сортировки языков, но даже их достаточно, чтобы понять, насколько это объемная и сложная тема.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *