19.07.2022

Что такое язык программирования, и какие они бывают?

Сергей Немчинский
5 минут просмотра
Что такое язык программирования, и какие они бывают?

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

Почему языков программирования так много?

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

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

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

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

Появляется логичный вопрос – почему нельзя автоматически заменить старый язык на новый? К сожалению, автоматически это сделать не получается. Есть попытки сделать трансляторы с одного на другой язык, но в большинстве случаев это не выходит и все равно часть (иногда весомую часть) изменений нужно делать вручную. Это аналогично машинному переводу одного языка на другой (например, гугл транслейт). Как бы смысл уловить можно, но часто это очень криво.

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

Ну, а если вы хотите изучить хотя бы один язык, то welcome к нам в Foxminded.