Файл: История развития программирования в россии (Развитие языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 208

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рисунок 2 – Принцип взаимодействия узлов ЭВМ Стрела-1

ПП для БЭСМ(большая электронно-счётная машина) развивала входной язык программирующих программ. Она объединяла схему и спецификацию операторов в одном тексте, был введен первый структурный оператор – оператор цикла.[6]

ПП-2 послужила идейной основой двух проектов – ПП для Стрелы-4 и ПП для Стрелы-7. Первая из них представляла собой зачаток настоящей системы программирования: она имела собственный транслятор, а также содержала систему сборки модулей и некоторые средства отладки. Транслятор получал такие фрагменты объектной программы, которые потом назовут модулями, а система сборки создавала программу из оттранслированных модулей и библиотечных программ.[5]

В ПП для Стрелы-3 был реализован ряд идей – табличный подход к синтаксическому анализу, оптимальное программирование арифметических выражений. Был изобретен метод кэширования, который применялся к экономии арифметических выражений.

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

В конце 50-x прошлого столетия развивался и подход к автоматизации программирования с помощью стандартных библиотек программ. Были разработаны – стандартная составляющая программа, которая осуществляла статическую загрузку и связывание стандартных программ из достаточно обширной библиотеки, интерпретирующая система (ИС), ИС-2 уже реализовывала некоторые функции будущих операционных систем, осуществляя динамическое связывание, подкачку и смену используемых подпрограмм, причем все это делалось с небольшими накладными расходами и весьма скромными запросами на память. Высокая эффективность ИС-2 и хорошо продуманный интерфейс с основной программой сделали неотъемлемой частью комплекта поставки ЭВМ.[10]

С появлением системного программирования возникла задача по созданию адекватных языков программирования. Языки программирования, которые появились к началу 60 годов – Фортран, Кобол, Алгол-60 и другие, – не учитывали этой области программистской деятельности, и алголовские системы, будучи достаточно большими программными системами, писались еще в машинных кодах вручную. Адекватные языки нужны были не только для трансляторов, но и для всей возникающей области системного программирования: начали появляться и другие языковые процессоры, и первые операционные системы, и информационные системы – все то, что потом назовут базовым программным обеспечением.[6]


2.2 Язык программирования АЛГОЛ-68

Алгол-68 – процедурный императивный высокоуровневый язык программирования, потомок языка Алгол, существенно доработанный. Разрабатывался в период 1964 – 1968 годов. Позиционировался как универсальный язык для описания произвольных алгоритмов обработки данных высокой сложности. Отличается большим объёмом, богатством возможностей, сложностью синтаксиса, а также возможностью переопределения синтаксиса и операторов – это дает гибкость в масштабировании языка, создавать собственные операции. За такие возможности, Алгол-68 называют «языком сверхвысокого уровня».[7][8]

В СССР существовали рабочие группы по разработкам на Алголе-68 (например, московские под руководством Александра Николаевича Маслова). В Ленинградском государственном университете был создан компилятор и мощная система программирования на Алголе-68 для ЭВМ, эксплуатирующаяся в течение многих лет. Тем не менее, широкого распространения язык не получил.

Рассмотрим достоинства и недостатки языка АЛГОЛ-68:

Таблица 2. Достоинства и недостатки языка АЛГОЛ-68

Достоинства

Недостатки

  • Простота масштабирования
  • Высокий уровень абстракции
  • Развитая система типов
  • Параллельные вычисления
  • Сложность синтаксиса
  • Сложность понимания существующих программ из-за высокого уровня абстракции

Ниже представлен пример программы на языке АЛГОЛ-68:

Рисунок 3 – Пример программы на языке АЛГОЛ-68

2.3 Язык программирования Рефал

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

Первая версия Рефала была создана в 1966 году Валентином Турчиным в качестве мета-языка для описания семантики других языков. Впоследствии, в результате появления достаточно эффективных реализаций на ЭВМ, он стал находить практическое использование в качестве языка программирования.


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

В середине 80-х В. Турчиным предложен язык Рефал-5, который содержит Базисный рефал в качестве подмножества. Расширения языка Рефал-5 качественно меняют стиль программирования, поэтому можно говорить о нем как о новом поколении языка.

В настоящее время основными диалектами языка являются Рефал-2 (1970-е), Рефал-5 (1985) и Рефал+ (1990), отличающиеся друг от друга деталями синтаксиса и набором дополнительных средств, расширяющих первоначальный вариант.[9]

Рассмотрим достоинства и недостатки языка Рефал:

Таблица 3. Достоинства и недостатки языка Рефал

Достоинства

Недостатки

  • Является декларативным языком
  • Имеется возможность сопоставления с образцом
  • Функции принимают только 1 аргумент
  • Автоматическое выделение и освобождение памяти
  • Нет возможности именования структур данных и определения типов
  • Программа со временем становится громоздкой из-за большого количества вспомогательных функций
  • Невозможность построения интерфейсов к другим языкам программирования
  • Функции не могут быть вложенными

Ниже представлен пример программы на языке Рефал:

Рисунок 4 – Пример программы на языке Рефал

Основные черты языка программирования Рефал:

  • простая семантика, что облегчает отладку
  • высокая модульность
  • сопоставление с образцами
  • встроенная структурируемость программ
  • имеет встроенный трассировщик-отладчик

Благодаря своей простоте, Рефал отлично подходит для начального изучения программирования. Он так же прекрасно подходит для исследований по теории программирования и преобразования.

2.4 Язык программирования Алмо

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


Были созданы реализации языка для основных отечественных машин того времени (М-20, БЭСМ-6, Минск 2, Урал 11) и трансляторы с Алгола-60 и ФОРТРАНа в Алмо, причем все трансляторы также были написаны на Алмо.

Язык Алмо имел в своей основе некоторую абстрактную машину, отражавшую особенность существовавшего тогда класса машин, и в этом отношении Алмо-подход предвосхищал появившиеся позже Р-код, М-код и прочие подобные подходы. Машинная ориентированность явно прослеживалась в языке – регистровые объекты, постфиксная запись выражений, оперирование с битами машинных слов и т.д.[10]

Рассмотрим достоинства и недостатки языка Алмо:

Таблица 4. Достоинства и недостатки языка Алмо

Достоинства

Недостатки

  • Универсальность использования
  • Быстродействие

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

История создания языков программирования в СССР не исчерпывается перечисленными. Много интересных разработок на сегодняшний день можно считать «мёртвыми». Эти языки уходили вместе с техникой, в которой они «жили».

Ниже представлен перечень трансляторов, которые были разработаны в СССР:

  • Ada
  • Algol-60
  • Algol-68
  • CLU
  • Forth
  • Fortran
  • Lisp
  • Modula-2
  • PL/I
  • SETL
  • Simula-67
  • Snobol-4

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

Глава 3. История программирования в современной России

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

Начиная с 1991 года и до текущего момента, в России нет значительного развития в программировании, так как происходит использование программных средств, произведенных за рубежом.


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

3.1 Встроенный язык программирования «1С: Предприятие»

Встроенный язык программирования «1С: Предприятие» – язык программирования высокого уровня, основанный в 1996 году, который используется в семействе программ «1С: Предприятие». Интерпретация текста программного модуля в байт-код выполняется в момент обращения к этому модулю в процессе работы, таким образом обычно интерпретируется только часть текстов программных модулей.[11]

Встроенный язык программирования визуально схож с Java Script, Pascal, но более всего он подобен по своему синтаксису языку Visual Basic.

Ниже представлен пример кода «1С: Предприятие»:

Рисунок 5 – Пример программы на встроенном языке программирования 1С

Платформой «1С: Предприятие» предоставляется фиксированный набор базовых классов, ориентированных на решение типовых задач прикладной области[11]:

  • константа
  • справочник
  • документ
  • журнал документов
  • перечисление
  • отчёт
  • обработка
  • план счетов

На основании базовых классов средствами визуального конфигурирования можно создавать любое количество порождённых классов. Допускается только одноявная ступень наследования классов. Как правило, объекты порождённых классов представляют собой записи или наборы записей в базе данных. Такие классы образуют «Дерево метаданных». В терминах встроенного языка программирования 1С такие классы называются объектами метаданных.

Наиболее значимые особенности встроенного языка программирования «1С: Предприятие»:

  • разработчик может использовать только базовые классы или же только те классы, которые сам же и создал
  • нет строгой типизации – это значит, что тип переменной определяется типом значения, которое она хранит
  • кэширование скомпилированных модулей памяти
  • перед исполнением модуль преобразуется во внутренний код

Области применения языка программирования «1С: Предприятие»:

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