В диалоге с компьютером: как эволюционировали языки программирования

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

Фото:

С чего всё началось

"Языки программирования создали, чтобы научиться общаться с машиной и заставлять ее выполнять необходимые команды", — объясняет эксперт.

Начался процесс в 1940-х годах с появления машинного кода. Его применяли для первых электронных и электромеханических вычислительных машин, используемых для научных и инженерных расчетов:

"Машинный код — самый низкоуровневый язык. Это последовательность нулей и единиц (битов), которую процессор исполняет напрямую. Но его использование требует больших мыслительных усилий со стороны человека. Поэтому возник запрос на упрощение".

Знаковым событием в стремлении удовлетворить этот запрос стало появление в конце 1940-х годов ассемблера. Он служит "переводчиком" между понятным человеку текстом и машинным кодом. Команды записывают не как нули и единицы, а в виде мнемоник (коротких понятных обозначений) и регистров (быстрых ячеек памяти процессора):

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

Самые влиятельные языки

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

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

В области системного программирования наибольшее влияние оказал язык C, созданный в 70-х годах прошлого века для написания ОС UNIX. Он сочетал в себе высокую производительность и простоту кода (по сравнению с ассемблером):

"С хорош тем, что у него есть выход на низкий уровень: работу со стеками, функциями. Он считается универсальным языком, существенно повлиявшим на создание С++ и С#, а также на Java, Go, PHP и другие. Порог вхождения у С высокий, как и у С++, а вот на С# уже можно за 5 минут собрать рабочее приложение. На С и его прямых потомках много что написано — тот же Windows".

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

"У Python такое большое комьюнити и столько библиотек, что если необходимо отправить ракету на Марс, то скорее всего, вы там найдете нужный алгоритм. С его помощью делают и игры, и роботов, и научные расчеты, и анализ больших данных, и нейросети. Уровень владения оценивается именно по количеству изученных библиотек".

В приоритете — скорость

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

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

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

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

В цене — полиглоты

Эксперт ПГУТИ констатирует, что роль разработчика на рынке уже меняется. Сейчас важнее понимать архитектуру данных, а уже на каком языке ты будешь ее реализовывать — второй вопрос. Поэтому в цене — инженерное мышление.

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

"Появилось такое понятие, как Fullstack-разработчик, который знает все группы языков, необходимых для выполнения поставленной задачи. Они высоко ценятся. В целом же для рынка нормально, если программист знает 2-4 языка. Однако нужно понимать, что в плане образования уже нет универсальных программ подготовки. Студентов обучают языкам по направлениям, базе, и чтобы не терять время, лучше в параллели изучать и другие языки программирования", — советует эксперт.

Материал подготовлен при поддержке гранта Минобрнауки России в рамках Десятилетия науки и технологий.

Последние комментарии

Кирилл Леоров 27 мая 2024 09:16 Сбер выпустил памятку по безопасности для детей

Сотрудничество Сбера с Лизой Алерт в создании памятки демонстрирует важность коллективных усилий в обеспечении безопасноси детей.

Иван Гончар 11 января 2024 13:16 Умер Народный артист СССР Юрий Соломин

царствие ему небесное.все мы только гости на этой земле.

Фото на сайте

Все фотогалереи

Новости раздела

Все новости
Архив
Пн Вт Ср Чт Пт Сб Вс
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4