Найти в Дзене
Дмитрий Компанец

ДОИСТОРИЧЕСКИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ. Статья для себя любимого и Вам её читать не обязательно.

История языков программирования (Изображение из свободных источников)
История языков программирования (Изображение из свободных источников)

Сразу ответ про название - Почему "для себя любимого". Так я написал честно о статье которая родилась под впечатлением поиска информации об истоках языков программирования история которых шла буквально параллельно со мной.
Чуть ниже я приведу картинку с отметкой языков программирования которые я освоил в своей практике и могу изобразить простой код управления РЛС или написать Тетрис с Арканоидом.

Итак, задавшись вопросом знания о котром у меня не было в давние времена, я решил провести следствие по телу ...делу.

Неужели сразу после машинных кодов на которых работали станки с ЧПУ и программные комплексы управления (всякой ТВН и ТГН техникой) был тот самый Ассемблер о котором все "задвинутые программеры(исты)" так любят вспоминать?

Ассемблер — язык программирования низкого уровня. Язык программирования низкого уровня — язык программирования, который ориентирован на конкретный тип процессора и учитывает его особенности. В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора.

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

Понятно что процесс формирования машинного кода можно автоматизировать.
Уже в 1950 году для записи программ начали применять мнемонический язык — язык assembly. Язык ассемблера позволил представить машинный код в более удобной для человека форме: для обозначения команд и объектов, над которыми эти команды выполняются, вместо двоичных кодов использовались буквы или сокращенные слова.

Но разве до или параллельно Ассемблеру не было попыток создать язык для ЭВМ ?

Не долгий поиск привел меня к источнику в котором упоминается БОЛЕЕ ДРЕВНИЙ чем на картинке язык. Ни разу не читал первоисточников об этом языке, так что особо верить в данную информацию не рекомендую.

Официально первый язык программирования для компьютеров является «Plankalkül» (Планкалкюль) созданный немецким инженером Конрадом Цузе в период с 1943 по 1945. По другой информации, в 1948 году.
Первые же наброски, датированы 1941 годом. Данные об этом языке были опубликованы лишь в 1972 году, а первый компилятор для него был реализован в 1975 г. в диссертации Иокима Хоманна. Другие независимые реализации были в 1998 году, а затем в 2000 году Свободным университетом Берлина.

С середины 50-х г. XX в. начали создавать первые языки программирования высокого уровня (high-level programming languages). Эти языки не были привязаны к определенному типу ЭВМ (машинонезависимы). Для каждого из них были разработаны собственные компиляторы.

Первый язык высокого уровня Фортран был создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM. Фортран в СССР появился позже, чем на Западе, поскольку поначалу в СССР более перспективным языком считался Алгол. Во внедрении Фортрана большую роль сыграло общение советских физиков со своими коллегами из CERN, где в 1960-х годах почти все расчёты велись с использованием программ на Фортране.

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

Как и обещал ранее приведу картинку с отметками языков освоенных мною

-2

Конечно в этой структуре нет многих ветвей и некоторых специализированных языков и СУБД таких к примеру как Кларион, но сути это не меняет. Во главе истории стоит именно Ассемблер, а тот самый Планкалкюль нигде не упоминается.

Но то что никем и ни где в интернете не упоминается вовсе не значит, что этого языка не было на самом деле.

Работая на заводе частично выполнявшем оборонные заказы я тесно (руки в масле) общался со станками с ЧПУ.

Станки с ЧПУ – это оборудование (c программным управлением), которое выполняет операций по обработке материалов по заданной программе практически без участия и контроля со стороны человека.

Имея опыт и образование я конечно захотел узнать - На каких принципах и языках строятся программы ЧПУ с которыми я работал в те дни.
Задав вопрос старшему специалисту по станкам с ЧПУ я получил весьма красноречивый и исчерпывающий ответ.
Если бы я его озвучивал не телевидении, то пиииик продолжался бы минут пять. Но специалист был мужиком умным и , видя мою любознательность и перепачканные в масле руки, провел для меня ликбез с предметами и объектами.
Всеми процессами в станках ЧПУ завода управляли Релейные Компьютерные Системы на подобие тех что до сих пор стоят резервом в военных и пассажирских самолетах.

На каком языке они работают ... ? вы что смеетесь =) это реле ребятки РЕЛЕ!

Итог статьи для себя любимого :
Кое что мне удалось нарыть и узнать, кое какие языки программирования помогли мне выжить в 90е, и то что до Ассемблера в СССР уже существовали системы (не языки) способные управлять точными станками без контроллеров и процессорОв (ударение на О) я знаю не по наслышке .

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

Микроконтро́ллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ.

МИКРОПРОЦЕССОР (МП) - программно-управляемое универсальное устройство для цифровой обработки дискретной и (или) аналоговой информации и управления процессом этой обработки. Микропроцессор играет роль процессора в цифровых системах различного назначения.