February 10, 2023

Истоки программирования

🥷 Всех приветствую, дорогие друзья!

Сегодня предлагаем обратиться вам к истории программирования, как оно появилось, с каких языков всё началось.

В самом начале, было немного различий между компьютерным кодом и сферой языка программирования. В обоих случаях программисту нужно было обладать навыками распределения памяти для выполнения команд и знаниями числовых кодов для машин. Для изменения сложившейся ситуации специалисты начали активно разрабатывать языки программирования для электронно вычислительных машин (ЭВМ).

Одним из первых стал - Ассемблер. Он работает напрямую с процессором, где каждая команда является его инструкцией. Если рассматривать команды Ассемблера более детально, то он состоит из операций и операндов.

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

С появлением Ассемблера человеку стало достаточно знать мнемонические имена - а это было намного проще, чем держать в голове все числовые операции.

Первым языком программирования высокого уровня стал Фортран, он берет свое начало в 1954-1957 годах. Был создан группой программистов под руководством Джона Бэкуса в корпорации IBM. Фортран применяется и в настоящее время за счет простоты написания и постоянно обновляющейся системы библиотек. Основной сферой применения являются инженерные и научные подсчеты, физика и другие науки, которые связаны с математикой.

Узконаправленные языки

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

  • Кобол - для экономического направления;
  • Лисп - для отработки символов, работает на основании алгоритмов. Он задействован для формировани ИИ (искуственного интеллекта);
  • Снобол - для обработки алгоритмов, связанных с текстами.

В 1968 году был проведен конкурс на звание "Лучшего языка программирования для начала карьерного пути" с целью дальнейшего обучения им специалистов. Звание получил язык "Алгол-68", но широкого распрострения он так и не получил.

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

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

Третий кандидат - Бейсик, легко взаимодейстовал с ЭВМ с помощью прямого диалога. Он и до сих пор остается самым простым языком программирования для изучения большинства базовых направлений программирования.

Время языка Си

В 1970-х годах зарождется всем известным нам язык Си. Универсальность является его ключевым достоинством. Он имеет заложенные возможности сотрудничества с различным машинными командами и соответствующими частями памяти, чем превосходит ранее упомянутый Паскаль.

Язык Си, как инструментальный язык, используется для написания:

  • трансляционных устройств;
  • операционных платформ;
  • баз данных;
  • других системных, прикладных задач.

У Си нет определенной направленности, его применение возможно для различных задач из-за своей эффективности, легкости переноса и экономного потребления ресурсов.

Появление Пролог и Ада

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

Язык программирования Ада появился уже в 1980-х годах для решения задач в режиме реального времени. У него появилась такая функция, как моделирование независимых решений.

Классификация языков по уровню работы

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

  1. Низкий уровень. В первую очередь это машинные языки или разновидности языков с использованим сипволического кодирования - Ассемблер, Автокод. Все существующие модели разработаны для определенных видов ПК, так как они машинно-зависимые.
  2. Высокий уровень. К нему относятся уже более удобные в использовании языки, такие как: Си, Пролог, Пасколь, Бейсик, Фортран и другие. Они базируются на возможностях системы операндов, поэтому не имеют рамочную зависимость от машин. К их минусам относят большую ресурсоемкость и медленное исполнение.
  3. Сверхвысокий уровень. К данному уровню относится всего несколько языков: APL и Алгол-68. Их уровень характеризуется разработкой сверхмощных операторов.

Существует еще деление языков на:

  • символьные - Лисп, Пролог, Снобол
  • вычислительные - Паскаль, Си, Бейсик, Фортран, Алгол

Направления развития языков программирования

В настоящее время выделяют 3 ключевых направления развития информатики:

1. Процедурное направление. Как вы правильно догадываетесь, оно появилось еще в эпоху активного развития вычислительных устройств и компьютеров. Для достижения результата в данном направлении проводится процедура, состоящая из разных последовательных манипуляций.

Существуют структурные и операционные языки программирования. В структурных (Паскаль, Си, Ада) - есть один оператор для записи цельных функций, циклов, ветвлений и другого. К операционными относят Фортран, Бейсик, Фокал - к ним применяют несколько различных действий.

2. Непроцедурное направление.

Это направление берет свое начало в 1970-х годах. К его основной задаче относится формирование возможностей для создания высокоинтеллектуальных машин.

Выделяют функциональное и логическое направления:

Функциональное направление - программа выполняет исчисление определённой функции, берущая за основу другие относительно простые алгоритмы и более легкие задачи. Направление основывается на рекурсии. Она подразумевает исчисление функций за счет задействования её в других элементах.

Логическое направление - основу программы составляет соотношение значения и данных; только после завершения расчёта появляется возможность получить ответы на вопросы. В программе нет порядка или метода вывода ответа, он неявным образом устанавливается языком.

3. Объективно-ориентированные языки. Они относятся к высокому уровню программирования, поэтому отсутствует необходимость в описании определенной последовательности для получения результатов задачи, хотя некоторые элементы процедурного направления все равно присутствуют. Людям значительно легче использовать такие языки за счет доступного и богатого интерфейса. Примером является Object Pascal.

Такие известные языки, как Perl, Python, Rexx, Tcl - используются для написания сценариев. Их примение заключается в комбинировании компонентов из различных языков, создаюших набор отдельных функций.

В настоящее время по мере развития и распространения интернета, широкое применение получили именно языки сценариев. Фавориты для создания сценариев - Perl, для web-части - JavaScript.

​🔥 Ставь реакцию, если понравилась статья

⚡️ Остались вопросы? Пиши - @golden_hpa