Uploaded by goncarovk126

Индивидуальный проект мёртвые языки программирования

advertisement
Министерство образования и науки Челябинской области
Государственное бюджетное профессиональное образовательное учреждение
«Челябинский профессиональный колледж»
ИНДИВИДУАЛЬНЫЙ ПРОЕКТ
тема: Мёртвые языки програмирования
Выполнил студент
1 курса
115 группы
___________ К.В. Гончаров
(подпись)
«___» _______________20___
г.
Руководитель работы
_________ Н.Л.
(подпись)
«___»
_______________20___г.
ОЦЕНКА
__________________
(цифрой и прописью)
2
Содержание
Введение ....................................................................................................................... 3
План работы над проектом ......................................................................................... 5
Интеллект-карта проекта «Мёртвые языки программирования» .......................... 6
Первичный тест ........................................................................................................... 7
5.Анализ теста.............................................................................................................. 7
Хронологическая таблица .......................................................................................... 9
PHP .............................................................................................................................. 23
JavaScript .................................................................................................................... 24
jQuery .......................................................................................................................... 26
Go (часто также Golang) ........................................................................................... 26
HTML 5 ....................................................................................................................... 27
1. Программирование. Язык программирования. .................................................. 31
2. История возникновения языков программирования ......................................... 32
2.1 Первопроходцы в программировании .............................................................. 32
2.2 Первые языки программирования. Особенности первых языков
программирования .................................................................................................... 34
3.Эволюция
языков
программирования.
Классификация
языков
программирования. ................................................................................................... 42
4. Двенадцать языков программирования, которые потрясли мир. Мёртвый язык
программирования .................................................................................................... 53
5. Причины исчезновения языков программирования .......................................... 56
6. Диалекты. Подмножества. Расширение. ............................................................. 58
7. Контрольно-измерительный материал ................................................................ 59
Заключение. ............................................................................................................... 60
Список использованной литературы....................................................................... 62
3
Введение
Вы когда-нибудь использовали приложение на мобильном телефоне или
программу на компьютере? А задумывались ли вы при этом, на каком языке
программирования написаны сайты, интернет страницы, скрипты? В наше время
знание языков программирования не просто показатель образованности
человека, а и необходимость. Если вы хотите идти в ногу со временем, для вас
просто обязательно знание хотя бы одного языка.
Языки программирования дают возможность
создавать средства для
работы, общения и творчества. В мире существуют тысячи языков, позволяющие
вести полноценный диалог с компьютером, однако, несмотря на такое
разнообразие, число языков, на которых пишет большинство около десятка.
Языки программирования вынуждены преодолевать те же трудности, что и
многие фирмы, и новые идеи. Зачастую успех языка программирования зависит
не только от его характеристик и применяемых технологий, но и от появления в
нужном месте, в нужное время. Успех языка может быть столь же непостоянным,
сколь непредсказуемыми могут быть причины его провала.
Актуальность проекта:
Информационные
технологии
являются
одной
наиболее
быстро
развивающихся областей современной жизни. Они появляются едва не каждый
день. И в погоне за прогрессом, подчас полезно остановиться, вспомнить
историю и задуматься о будущем. С тем, чтобы со свежими силами вновь
окунуться в работу, осваивать новые технологии.
К выбору данной теме меня побудило незнакомое понятие «Мертвые
языки программирования». Данный проект позволит приблизиться к истокам
программирования. И дать ответ на основной вопрос: почему одни языки
программирования остались на стадии зарождения и про них все забыли, а
другие легли в основу новых, которые живут и позволяют человечеству
развивать информационные технологии?
4
Цель проекта:
Познакомиться с началом развития программирования, с первыми
языками.
Определить
понятие
«Мертвые
языки
программирования».
Исследовать причины исчезновения языков программирования.
Задачи проекта:

Изучить историю развития языков программировании;

Исследовать причины краха языков программирования;

Провести стартовую и итоговую диагностику знаний по теме:
«Мёртвые языки программирования»;

Создание электронного учебного пособия и буклета по теме:
«Мёртвые языки программирования».
Практическая значимость проекта заключается в том, что возможно
использовать продукты данного проекта (электронное учебное пособие и буклет)
на уроках «Информатика и ИКТ» при изучении раздела «Алгоритмизация и
программирование».
5
План работы над проектом
6
Интеллект-карта проекта «Мёртвые языки программирования»
7
Первичный тест
Цель теста: Выявить степень заинтересованности в теме: «Языки
программирования».
1.Какие языки программирования Вы знаете?

Паскаль

Delphi

C++

Другие
2.Какой уровень знаний языков программирования у Вас?

Отсутствует

Минимальный

Средний

Высокий
3.Для чего нужно изучать языки программирования?

Для общего развития

Нужно по учебной программе

Другое
4.Знакомо ли Вам понятие «Мёртвые языки программирования»?

Да

Нет
5.Каких достижений Вы
хотели бы добиться, изучая языки
программирования?
5.Анализ теста
В тестировании принимало участие 14 человек.
При подведении итогов, было выявлено, что проектная работа будет
актуальна.
8
9
Хронологическая таблица
ии№
п/п
Название
языка
Год
создан
ия
Создатели,
география языка
П
Е
Р
В
О
Е
Коды
операций
аналитическо
й машины
1837
Чарльз
Первые
программы
Бэббидж
и заключались
в
установке
Ада Лавлэйс
ключевых переключателей на
передней
панели
вычислительного устройства.
Очевидно, таким способом
можно было составить только
небольшие программы.
П
О
К
О
Л
Е
Н
И
Е
В
Т
О
Р
О
Е
П
О
К
О
Л
Е
Н
И
Е
Плюнкалкюль 1946
Цузе
Краткий
ENIAC
Ричард
Клиппинджер,
Джон
фон
Нейман
по
трудам Алана
Тьюринга
код 1946
Язык
1947
ассемблера
ARC
"Краткий код" 1949
Кэтлин Бус
Идея
подпрограмм
ы
Хоппер
1949
Мочли
Особенности
Немецкий
инженер
Цузе
разработал этот язык для ЭВМ
Z4, но ни компилятора, ни
интерпретатора
для
него
написано не было (поскольку и
язык, и ЭВМ он разрабатывал в
одиночку).
Электронный
числовой
интегратор и вычислитель) —
первый электронный цифровой
вычислитель
общего
назначения, который можно
было перепрограммировать для
решения широкого спектра
задач.
По своей сути, это была
система
обозначений
для
быстрого
ввода
в
ЭВМ
алгебраических выражений.
Так, например, выражение
A=B+C
кодировалось
следующей фразой: S0 07 S1 13
S3.
"Краткий код" работал как
примитивный интерпретатор.
Программисты
под
руководством Хоппер впервые
во всем мире реализовали идею
10
Т
Р
Е
Т
Ь
Е
П
О
К
О
Л
Е
Н
И
Е
Ассемблер
1950
Хоппер
АВТОКОД
1952
Гленн
А-0
1952
Хоппер
подпрограмм как многократно
используемую
последовательность
команд.
color=#000000 Тогда они просто
переписывали куски машинного
кода друг у друга из блокнотов.
Первый ассемблер представлял
из себя систему мнемонических
обозначений, объединённую с
библиотекой подпрограмм.
Автокод
был
первым
полноценным
транслятором
(компилятором),
т.е.
он
транслировал мнемоническую
схему в машинные коды.
Автокод
не
получил
распространения,
т.к.
его
создатель работал на закрытом
проекте.
А-0 был первым полноценным
ассемблером,
получившим
широкую
известность.
Он
предоставлял
услуги
как
компилятора,
так
и
компоновщика.
По сути, А-0 представлял
первое промышленное средство
для создания других программ.
Компоновщик по указанному
идентификатору
выполнял
загрузку
заданной
подпрограммы с магнитной
ленты в указанный адрес
памяти. Затем он настраивал
адреса
загруженной
подпрограмму
на
адрес
загрузки.
А-0 положил начало целой
серии
ассемблеров,
разработанных Хоппер для
больших ЭВМ. Впоследствии
этот ассемблер улучшался и
расширялся, были выпущены
ассемблеры А-1, А-2 и А-3.
11
B-0
1956
Хоппер
ФОРТРАН
1958
Бэкус
АЛГОЛ – 58
1958
Европейский
международн
ый комитет
Хоппер
создала
первый
ассемблер, который понимал
мнемонические команды.
В рекламных целях он понимал
команды на трёх языках (
английском,
немецком
и
французском ).
Был
первым
языком
программирования
высокого
уровня.
Разрабатывался
компанией
IBM для её новой ЭВМ.
Коллектив под руководством
Бэкуса разработал не только
спецификацию языка, но и
создал компилятор для него.
Это обеспечило достаточно
быструю
и
широкую
распространенность языка.
Кроме того, Фортран был
первым языком, для которого
были разработаны компиляторы
для
разных
ЭВМ
(т.е.
программа могла выполняться
на различных ЭВМ).
Лучше всего Фортран подходит
для решения инженерных и
расчетных задач.
Сыграл большую роль в теории,
но
для
практического
программирования
сейчас
почти
не
используется.
Спецификация языка была
совершенно нечитабельной и
немедленно принесла проекту
репутацию
чересчур
«навороченного».
Был
сложным,
громоздким
и
содержал в себе множество
загадочных операторов, так же
верно, как и то, что это был
первый
действительно
универсальный
язык.
12
Скоропостижно скончался, так
и не успев толком пожить.
Кобол
1959
Грейс Хоппер
Был создан для решения
экономических задач. Язык,
ориентированный на общий
бизнес; в значительной мере
вышел из употребления. Был
задуман как основной язык для
массовой обработки данных в
сферах управления и бизнеса.
АЛГОЛ – 60
1960
Бэкус
Новая спецификация Алгола,
которую отличали следующие
идеи:
Блочная структура
Возможность рекурсии
Описание с использованием
БНФ
Первый язык для управления
станками, был создан в МТИ
(Массачусетском
Технологическом Институте).
Позволял
манипулировать
словами и выражениями на
естественном языке (был создан
в МТИ).
В
этом
языке
впервые
появилось понятие списка.
Алгоритмический язык для
обработки символов. Язык для
исследований
в
области
искусственного
интеллекта,
предназначенный для работы со
списками
и
лямбда
–
выражениями (был создан в
МТИ).
Алгоритмический язык для
обработки
текстовой
информации


АПТ
1960
Дуглас Росс
ИПЛ
1960
Аллен Ньюэл
ЛИСП
1960
Маккарти
Снобол
1962
1967
Ральф
Грисвольд,
Иван
Полонский и
Дэвид Фарбер
13
ПЛ/1
1964
БЭЙСИК
1964
АЛГОЛ – W
1965
ЛОГО
1967
АЛГОЛ – 68
1968
Рэдин (IBM)
Универсальный
язык
программирования,
разрабатывавшийся
для
системы
System/360.
многоцелевой язык; сейчас
почти не используется.
Кемени, Курц Был
разработан
в
Дартмундском колледже как
язык для обучения работе с
компьютером
студентов всех специальностей
(и
технических,
и
гуманитарных). несмотря на
многие недостатки и изобилие
плохо совместимых версий самый популярный по числу
пользователей.
Широко
употребляется при написании
простых программ. Применялся
в бизнесе и др. областях.
Одновременно с разработкой
языка велась разработка ЭВМ,
которая работала бы не в
пакетном режиме, а в режиме
разделения времени.
Хоар, Вирт
Новый стандарт языка, который
был предложен Хоаром и
Виртом
как
альтернатива
существующей спецификации
(буква W – face="Times New
Roman" от фамилии Вирт).
Пейперт
Для
обучения
младших
школьников.
Отличается
простотой
и
богатыми
возможностями.
Язык
для
управления черепашкой (был
разработан в МТИ)
Комитет
по Считается громоздким и плохо
языку
запоминающимся
языком.
высокого
Именно он стал «идейным
уровня
IFIP вдохновителем» для создателей
(International
С и Bourne Shell. Благодаря
Federation for ALGOL
68
параллельная
Information
обработка данных упростилась
14
Processing),
Международн
ая федерация
по обработке
информации
Ч
Е
Т
В
Ё
Р
Т
О
Е
П
О
К
О
Л
Е
Н
И
Е
AПЛ
1969
Кеннет
Айверсон
IBM)
ПАСКАЛЬ
1970
Вирт
до такой степени, что даже
современные языки типа Java и
С до сих пор не добрались до его
уровня.
Скоропостижно скончался, так
и не успев толком пожить.
Благодаря
невнятности
спецификации членам комитета
разработчиков ничего не стоило
утопить проект еще до того, как
люди смогли реально оценить
его достоинства и недостатки.
Очень
компактный
( универсальный
язык
программирования с очень
широким синтаксисом.
Был разработан Виртом как
противопоставление Алголу-68.
Язык
с
высокой
структурированностью.
До сих пор – лучший язык для
обучения программированию.
Язык Паскаль первоначально
разрабатывался как учебный, и,
действительно,
сейчас
он
является одним из основных
языков
обучения
программированию в школах и
вузах. Однако, качества его в
совокупности оказались столь
высоки,
что
им
охотно
пользуются
и
профессиональные
программисты.
Не
менее
впечатляющей, в том числе и
финансовой, удачи добился
Филип
Кан,
француз,
разработавший систему ТурбоПаскаль. Суть его идеи состояла
в
объединении
последовательных
этапов
обработки
программы
-
15
компиляции, редактирования
связей, отладки и диагностики
ошибок - в едином интерфейсе.
Версии
Турбо-Паскаля
заполонили практически все
образовательные учреждения,
программистские центры и
частные фирмы. На базе языка
Паскаль созданы несколько
более мощных языков (Модула,
Ада, Дельфи).
ФОРТ
1971
Мур
С
1972
Ричи,
Bell Lab.
Самый
компактный
язык
программирования.
Обладает высокой степенью
расширяемости.
Первое
промышленное применение –
управление радиотелескопами.
Широко
используется
при
создании
системного
программного
обеспечения.
Язык был разработан для
написания
операционной
системы color в рекламных
целях
Наложил
большой
отпечаток
на
современное
программирование
(первая
версия - 1972 г.), является очень
популярным
в
среде
разработчиков
систем
программного
обеспечения
(включая
операционные
системы). Си сочетает в себе
черты как языка высокого
уровня, так и машинноориентированного
языка,
допуская программиста ко всем
машинным ресурсам, чего не
обеспечивают такие языки, как
Бейсик и Паскаль. До сих пор С
– один из лучших языков для
системного программирования.
16
ПРОЛОГ
1972
Роберт
Ковальски,
Маартен ван
Эмден, Ален
Колмероэ
Логический
язык
программирования.
Главное
назначение языка - разработка
интеллектуальных программ и
систем. Пролог - это язык
программирования, созданный
специально для работы с базами
знаний, основанными на фактах
и
правилах
(одного
из
элементов
систем
искусственного интеллекта). В
языке реализован механизм
возврата
для
выполнения
обратной цепочки рассуждений,
при котором предполагается,
что некоторые выводы или
заключения истинны, а затем
эти
предположения
проверяются в базе знаний,
содержащей факты и правила
логического
вывода.
Если
предположение
не
подтверждается, выполняется
возврат и выдвигается новое
предположение. В основу языка
положена
математическая
модель теории исчисления
предикатов.
INTERCAL
1972
Студенты Дон Эзотерический
язык
Вуд
Джейм программирования. Основной
М. Лайон
целью было создать язык
нисколько непохожий на все
остальные известные языки
программировании.
По
критериям Тьюринга подходит
для
повсеместного
использования,
но
программисты не любят его изза
сложного
составления
программного
кода.
17
АДА
1979
Жан Ихбиа
Универсальный
язык
программирования,
был
разработан по заказу МО США.
Разработка велась в два этапа:
1. Определение требований к
языку. Список требований
прошёл через несколько этапов
утверждения
–
от
“Соломенного” до “Стального”.
1. После того, как поняли, что ни
один
существующий
язык
полученным требованиям не
удовлетворяет, за разработку
языка параллельно принялось 4
группы
программистов
–
“Зелёная”, “Жёлтая”, “Красная”
и “Синяя”. На финиш вышли
две группы - “Зелёная” и
“Красная”. Победила “Зелёная”.
Руководителем этой группы
был француз Жан Ихбиа.После
создания вышло требование
переписать все существующие
приложения на Аде. Язык АДА
- прямой наследник языка
Паскаль.
Этот
язык
предназначен для создания и
длительного
(многолетнего)
сопровождения
больших
программных систем, допускает
возможность
параллельной
обработки,
управления
процессами в реальном времени
и многое другое, чего трудно
или
невозможно
достичь
средствами более простых
языков.
SmallTalk
1980
Аланом
Кэйем, Дэном
Ингаллсом,
Тедом
Кэглером,
Первый
и
единственный
полностью
объектноориентированный
язык
программирования.
Smalltalk
использует современные идеи:
18
Адель
Голдберг,



C++
1980
Бьярн
Страуструп
Сборка мусора встроена в язык
и незаметна разработчику.
Dynamic
translation:
современные
коммерческие
виртуальные
машины
компилируют
байткоды
в
машинные коды для быстрого
выполнения.
Выполнение кода в виртуальной
машине. Программы Smalltalk
обычно
компилируются
в
байткоды
и
выполняются
виртуальной машиной, что
позволяет выполнять их на
любом
оборудовании,
для
которого
существует
виртуальная машина.
Объектно-ориентированное
расширение
языка
Си.
Множество новых мощных
возможностей,
позволивших
резко
повысить
производительность
программистов, наложилось на
унаследованную от языка Си
определенную
низкоуровневость.
Язык
мобильного приложения. Для
того, чтобы более основательно
проникнуть вглубь Android или
Windows, потребуются навыки
работы
с языком
программирования
С++. Являясь
объектноориентированным,
он может
быть
использован
для
разработки
приложений
практически для любых целей
и на любой
существующей
платформе,
обеспечивает
модульность,
раздельную
компиляцию,
обработку
исключений,
абстракцию
19
Modula – 2
1981
Turbo Pascal
1983
данных, виртуальные функции.
С++ нельзя
назвать
ультрасовременным средством
программирования, он прошел
длинный
путь
развития
и существует множество его
реализаций, как бесплатных, так
и коммерческих
и для
различных платформ. Одно
из наиболее
значимых
достоинств
C++ то,
что
он сочетает
свойства
как
высокоуровневых,
так
и низкоуровневых языков.
Никлаус Вирт Был разработан Виртом после
того, как выяснилось, что
Паскаль
не
годится
для
разработки
промышленных
приложений. Язык изначально
проектировался как средство
промышленного
системного
программирования,
позволяющее писать надёжные,
понятные,
удобные
в
сопровождении
программы.
При этом язык должен был,
оставаясь языком высокого
уровня со строгой типизацией и
поддержкой
всех
средств
надёжного программирования,
давать возможность обращаться
непосредственно к аппаратуре,
создавать
специфические
системные программы, такие
как обработчики прерываний и
драйверы
устройств,
поддерживать
программирование параллельно
исполняющихся
взаимодействующих процессов.
Фирма Borland Один из наиболее известных
языков
программирования,
используется для обучения
программированию в старших
20
SmallTalk/V
1986
Turbo Prolog
1986
Eiffel
1986
Аланом
Колмари
Бертран
Мейер
классах и на первых курсах
вузов, является базой для ряда
других языков.
Первая
версия
для
микрокомпьютеров
Турбо-Пролог
это
осуществленная
компанией
Borland International реализация
языка
программирования
высокого
уровня
Пролог
компиляторного
типа.
Ее
отличает большая скорость
компиляции и счета. ТурбоПролог
предназначен
для
выдачи ответов, которые он
логически
выводит
при
посредстве своих мощных
внутренних
процедур.
Версии
практически
идентичны.
Язык
частично
русский,
частично английский.
Объектно-ориентированный
язык
программирования
с
алголоподобным синтаксисом,
разработанный. В этом языке
впервые был реализован метод
контрактного
программирования.
Существуют
компиляторы
Эйфеля для Windows, DOS,
OS/2 и UNIX. Большинство
реализаций Eiffel генерирует
код Си, то есть являются
своеобразным препроцессором.
Далее этот код компилируется с
помощью компилятора Си.
Однако есть системы, которые
порождают и непосредственно
машинный код. Например,
Visual Eiffel.[3]
21
Perl
1989
Ларри Уолл
Он задумывался как средство
эффективной
обработки
больших текстовых файлов,
генерации текстовых отчетов и
управления
задачами.
По
мощности Perl значительно
превосходит языки типа Си. В
него введено много часто
используемых функций работы
со
строками,
массивами,
управление
процессорами,
работа
с
системной
информацией. И
Игровой Perl известен также
своим
огромным
набором
модулей. Обычно программисты
обращаются к языку Perl тогда,
когда
сценарий
слишком
сложен для написания на
остальных
языках
вебпрограммирования.
Fortran-90
1990
Фирма IBM
Visual Basic
1991
Алан Купер
Является диалектом языка
Fortran.
Значительно
переработан стандарт языка.
Является
языком
программирования
третьего
поколения (событийный язык
программирования) и среда
разработки от Microsoft для
модели
программирования
COM. Этот язык был получен из
BASIC и допускает быструю
прикладную разработку (RAD)
графического
интерфейса
пользователя (GUI), доступ к
базам данных при помощи
DAO, RDO, ADO, создание
элементов управления ActiveX
и объектов. Языки сценариев
(VBA, VBScript) синтаксически
подобны Visual Basic, но
отличаются от него.
22
Язык Visual Basic унаследовал
дух, стиль и отчасти синтаксис
своего предка — языка Бэйсик,
у
которого
есть
немало
диалектов. В то же время Visual
Basic — современный язык
программирования,
сочетающий
процедуры
и
элементы
объектноориентированных
и
компонетно-ориентированных
языков
программирования.
Среда разработки VB включает
инструменты для визуального
конструирования
пользовательского интерфейса.
HTML
1992
Тим Бернерс- Самый известный для вебЛи
разработчиков
язык
программирования, хотя по
своей функциональности он
скорее всего относится к языкам
разметки. Язык применяется
для распределения объектов и
текста на веб-страницах. Для
лучшего понимания сущности
языка HTML можно косвенно
сравнить с программой Office
Word. Язык оснащен тегами,
которые и являются, по сути,
инструкциями компьютеру.
Brainfuck
1993
Урбан
Мюллер
Befunge
1993
Крисом
Пресси
Самый непрактичный из когдалибо созданных языков. Целью
создателей было бросить вызов
программистам,
разработав
язык с самым маленьким
компилятором.
Отличается от прочих языков
программирования, поскольку
программа представляет собой
двухмерную таблицу, в которой
программист может размещать
элементы
управления,
23
перемещая их с помощью
стрелок влево, вправо, вверх
или вниз. Достаточно взглянуть
на код программы «Hello
World», и головная боль вам
обеспечена. Благодаря своей
сложности, Befunge никогда не
мог
быть
ничем,
кроме
упражнения для мозгов его
создателя, и, к счастью, он
только для этого и был задуман.
Так что не удивительно, что
программных
решений,
реализованных на этом языке,
крайне мало, и тот факт, что он
был
разработан
для
узкоспециализированного
сектора рынка, делает его
несостоятельность
менее
трагичной.
Perl 5
1994
Ларри Уолл
PHP
1994
Расмус
Лердорф
Включает в себя полностью
переписанный интерпретатор, а
также много новых языковых
возможностей,
таких,
как
объекты, ссылки, локальные
переменные (my $var_name) и
модули. Особенно важной
частью были модули, так как
они предоставили механизм
расширения
языка
без
модифицирования
интерпретатора. Это позволило
стабилизировать
интерпретатор, но при этом,
дало возможность обычным
Perl-программистам добавлять в
язык новые возможности. Perl 5
находится
в
активной
разработке по сей день.
является
СИ-подобным
скриптовым языком. Самая
первая версия PHP была
24
разработана еще в 1994, но к
1998 году появилась основная
версия PHP – 5.4. Язык PHP
широко
используется
программистами для написания
сценариев,
которые
выполняются на серверах при
каждом обновлении страницы
сайта.
PHP
действительно
похож на язык СИ, и многое он
позаимствовал из языка JAVA и
технологии JSP. Сегодня PHP
используется
многими
программистами, потому ядром
огромного количества сайтов
является php-код.
Java
1995
компания
Платформенно-независимый
Sunв,
Xerox язык
объектноPARC
ориентированного
программирования,
чрезвычайно эффективен для
создания интерактивных вебстраниц. Этот язык был создан
компанией Sun в начале 90-х
годов на основе СИ++. Он
призван упростить разработку
приложений на основе Си++
путем исключения из него всех
низкоуровневых возможностей.
Язык мобильного приложения.
ColdFusion
1995
братья
Аллеры
JavaScript
1996
ЯзыкWeb-разработок,
популярен благодаря своей
простоте и доступности для
начинающих программистов.
Он был вытеснен ASP.NET и
PHP
Язык
программирования,
созданный для «оживления и
придания динамичности» вебсайтам.
Развитие
языка
началось
с
1996
года.
Программы, написанные на
25
языке JavaScript, называются
скриптами,
которые
выполняются
совместно
с
HTML-документами.
С
помощью
JavaScript
программисты
создают
некоторые
функции,
как
например открытие нового
окошка с выводом в нем
сообщения об ошибке после
некоторого
действия
пользователя. Он способен
выполнять свои скрипты спустя
заданные интервалы времени. В
общем,
JavaScript
это
и
самостоятельный
язык,
но
также его можно назвать
вспомогательным
для
остальных, так как с помощью
него легко сделать сайт более
функциональным и интересным
для пользователя.
REBOL
1998
Карл
Сассенрат
Контекстно-зависимый
объектный
язык
программирования, созданный
специально для распределенных
вычислений
в
Web.
Позиционируется как язык
обмена
сообщениями.
Большинство
преимуществ,
которые предоставлял язык,
никому не нужны и откровенно
устарели- это в конечном счете
ускорило провал REBOL. На
нынешней стадии развития
программирования
REBOL
рассматривается как сервисный
язык и используется в основном
для «домашних» разработок.
F#
(произноситс
2005
Дон Сайм
Язык, разработанный Microsoft
с целью объединения в себе
функциональности
26
и практичности. Так как F#
является языком первого класса
на виртуальной машине .Net
CLR, он может поддерживать
такие же
библиотеки
и функции, как и другие CLR
языки, например, как C#
и Visual Basic. Код F# чем-то
похож
на код
OCaml,
но содержит свой собственный
интересный
синтаксис.
Например, для облегчения
проведения научных расчётов
числовыми типами данных в F#
могут
являться
единицы
измерения. Также в F# имеются
конструкции для облегчения
асинхронных вводов/выводов,
параллелизации ЦПУ и вывода
процессов
на графический
процессор.
я
«Эфшарп»)
jQuery
2006
Go
(часто 2009
также
Golang)
Джон Резиг
jQuery – это библиотека
многократно
используемых
объектов и функции JavaScript,
Обычно
jQuery
является
отдельным JavaScript-файлом.
jQuery
можно
назвать
фреймворком (framework), т.е.
набором
операции
и
инструкции
для
решения
однотипных задач. Библиотека
позволяет вам работать и
управлять
различными
объектами на веб-страницах.
Команда
инженеров
Google
Язык
программирования
общего назначения, который
подходит для всего: начиная
от разработки
приложений
и заканчивая
программированием
систем.
В этом
смысле
он больше
27
HTML 5
2014
похож на C или C++, чем
на Java или C#. Однако, как
и последние
языки,
Go включает
в себя
такие
современные функции, как
очистка памяти от ненужных
данных, отражение текущих
процессов
выполнения
и поддержку параллельности.
Также важно то, что Go был
создан
для
лёгкого
программирования.
Консорциум
Новое
поколения
языка
Всемирной
разметки интернет страниц.
паутины
и Список наиболее заметных
whatwg
нововведений HTML5:
1. Рисование
на
веб-холсте
(использование
элемента
canvas)
2. Перетаскивание
элементов
(реализация технологии drag-ndrop)
3. Вставка аудио и видео ресурсов
4. Новые
элементы
пользовательского интерфейса
5. Управление
историей
просмотра страниц
6. Управление
параметрами
состояния
7. Обмен сообщениями между
страницами
8. Размещение векторной графики
в формате SVG
9. Разметка
математических
выражений с помощью MathML
10.Элементы
семантической
разметки
Условные обозначения
Мёртвые языки программирования
28
Перспективные языки программирования
Языки мобильного приложения
Составив и проанализировав данную таблицу, можно сделать вывод, что
языки программирования развиваются в сторону все большей абстракции от
реальных машинных команд и самым очевидным преимуществом здесь является
увеличение скорости разработки программ. Вот некоторые причины развития
языков программирования.
1. Потребность в решении более сложных и разнообразных задач. Первые ЭВМ
имели ограниченные возможности, следовательно, и программы были
простыми. В процессе эволюции вычислительной техники от неё требовалось
решение все более сложных и разнообразных задач. Следовательно, язык
программирования должен был позволять писать программы для решения этих
задач. Это способствовало появлению и развитию в языках программирования
различных новых технологий. Например, пользуется широкой популярностью
технология объективно-ориентированного программирования.
2. Программы становятся сложнее и больше по объёму. Появилось стремление к
повышению эффективности процесса создания программ. Поэтому существует
тенденция в развитии языков программирования к быстрому написанию
программ. Здесь также следует отметить появление множества систем
визуального программирования, в какой-то степени облегчающие труд
программиста.
3. Желание, чтобы программы работали на разных платформах, привело к
развитию независимости от ЭВМ языков системного программирования. Языки
системного программирования , на которых создаются операционные системы,
трансляторы и другие системные программы, развиваются в направлении
независимости от ЭВМ. Так, например, большая часть операционных систем
написана на языке С, а не на ассемблере. Например, операционная система Unix
практически написана на языке С.
29
4. Большие
проекты
предусматривают
совместный
труд
множества
программистов. В возможности лёгкой командной работы хорошо себя
зарекомендовала технология объектно - ориентированного программирования.
Поэтому большинство современных языков программирования поддерживают
ООП.
У каждого языка программирования есть достоинства и недостатки,
которые влияют на дальнейшее процветание.
Недостатки языков программирования низкого уровня.
 Программист, работающий с языками низкого уровня, должен быть высокой
квалификации, хорошо понимать устройство микропроцессорной системы, для
которой создается программа.
 Результирующая программа не может быть
перенесена на компьютер или
устройство с другим типом процессора.
 Значительное время разработки больших и сложных программ
Недостатком языков программирования высокого уровня является
большой размер программ по сравнению с программами на языке низкого
уровня. Поэтому в основном языки высокого уровня используются для
разработок программного обеспечения компьютеров и
устройств, которые
имеют большой объём памяти. А разные подвиды ассемблера применяются для
программирования других
устройств, где критичным является размер
программы.
Красным цветом я выделила языки, которые по определённым причинам вышли
из употребления. ( Мертвые языки программирования)
Причины краха языков программирования.

сложны в применении

недоступны для простого пользователя

ошибки менеджмента

отсутствие «рекламы» в СМИ, вернее присутствие антирекламы

отсутствие поддержки крупных вендоров, в отличии от конкурентов
30

были
вытеснены
альтернативным
изменяющимися условиями выживания;

низкий порог вхождения

отсутствие сертификационных центров
языком,
новыми
технологиями
и
31
1. Программирование. Язык программирования.
Знакомиться с этими понятиями будем по принципу от простого к
сложному. Возникал ли у вас когда-нибудь вопрос: « Что такое язык?» Чтобы
ответить на этот вопрос обратимся к толковому словарю.
Язык в лингвистическом плане представляет собой важнейшее средство
общения. Более того, язык – средство хранения и передачи информации,
средство
управления
поведением
человека. Язык неразрывно
связан
с
обществом.
Искусственный язык — специальный язык, который, в отличие от
естественного, сконструирован целенаправленно. Таких языков существует уже
более тысячи, и постоянно создаются всё новые и новые.
Программирование - процесс создания компьютерных программ.
Программирование основывается на использовании языков программирования,
на
которых
записываются
инструкции
для
компьютера.
Современное
приложение содержит множество таких инструкций, связанных между собой.
Язык
программирования
- формальная
знаковая
система,
предназначенная для записи компьютерных программ. Язык программирования
определяет набор лексических, синтаксических и семантических правил,
задающих внешний вид программы и действия, которые выполнит исполнитель
(компьютер) под её управлением.
32
2. История возникновения языков программирования
2.1 Первопроходцы в программировании
«Люди сами делают свою историю, но они её делают не так, как им вздумается, при
обстоятельствах, которые не сами они выбрали, а которые непосредственно имеются на лицо,
даны им и перешли от прошлого»
Карл Маркс
Английский математик Чарлз Бэббидж (1791—
1871 гг.).
В 20-х годах XIX века ему пришла идея создать
механическую машину для вычислений, что порядок ее
действий можно было предварительно записывать и
впоследствии выполнять эти действия на машине автоматически. Это была идея,
положившая начало программированию. Ч. Бэббидж посвятил реализации этой
идеи всю жизнь. Он не добился успеха и признания современников при жизни,
но оказал огромное влияние на современное развитие информатики.
Ада Лавлейс, дочь английского поэта Чарлза
Гордона Байрона. Она оказалась одним из немногих
современников
Чарлза
Бэббиджа,
кто
сумел
по
достоинству оценить идею "аналитической машины".
Она стала ближайшей помощницей и сподвижницей
Бэббиджа, разработала некоторые приемы управления
последовательностью
вычислений,
которые
используются в программировании, по сей день. Описала одну из важнейших
конструкций практически любого современного языка программирования —
цикл. Аду Лавлейс по праву считают первым в мире программистом. В честь неё
был назван язык программирования – язык АДА
Первым шагом в развитии современных языков
программирования стало создание в конце 1940-х годов
Джоном
Моучли
Пенсильванского
американским
университета
США
физиком
системы
33
кодирования машинных команд с помощью специальных символов.
Грейс Мюррей Хоппер (Grace Murray Hopper) —
один из пионеров программирования, математик. Контрадмирал ВМФ США. По праву считается «бабушкой
COBOL»
и
удостоена
многочисленных
наград
за
неоценимый вклад, внесенный в развитие этого языка
программирования.
Грейс Мюррей Хоппер стала третьим в мире
программистом.
В 1951 г. Хоппер создала первый в мире компилятор. Именно она ввела сам этот
термин. При работе на компьютере "Maрк-I" Г. Хоппер и ее группе пришлось
стать
первопроходцами
подпрограммы.
программирования.
Они
первыми
придумали
34
2.2 Первые языки программирования. Особенности первых языков
программирования
Ну что ж, приблизимся к самым истокам программирования и постараемся
ответить на главный вопрос: почему одни языки программирования остались в
стадии зарождения и про них все забыли, другие легли в основу новых, которые
живут и позволяют человечеству развивать информационные технологии.
Вспомним
первые компьютеры и программы для них. Это была эра
программирования непосредственно в машинных кодах, а основным носителем
информации были перфокарты и перфоленты. Программисты обязаны были
знать архитектуру машины досконально. Программы были достаточно
простыми,
что
обуславливалось,
во-первых,
весьма
ограниченными
возможностями этих машин, и, во-вторых, большой сложностью разработки и,
главное, отладки программ непосредственно на машинном языке.
Основоположником программирования можно считать английского
математика Чарлза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему
пришла идея создать такую механическую машину для вычислений, что порядок
ее действий можно было предварительно записывать и впоследствии выполнять
эти действия на машине автоматически. Это была идея, положившая начало
программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он
не добился успеха и признания современников при жизни, но оказал огромное
влияние на современное развитие информатики. Хотя использованный
Бэббиджем способ записи программы на перфокартах, придуманный для
управления ткацкими станками французским изобретателем Жозефом Мари
Жаккаром, не имеет ничего общего с современными технологиями хранения и
выполнения программ компьютерами, принцип остался тем же.
Рядом с Ч. Бэббиджем у истоков программирования стояла Ада Лавлейс,
дочь английского поэта Чарлза Гордона Байрона. Она разработала некоторые
приемы управления последовательностью вычислений, которые используются в
программировании и посей день, описала одну из важнейших конструкций
35
практически любого современного языка программирования — цикл. Аду
Лавлейс по праву считают первым в мире программистом.
На практике базовые принципы программирования реализовала другая
женщина - Грэйс Хоппер. Дальнейшего прогресса в программировании
пришлось ждать почти 100 лет, и связан он был с появлением в середине 1940-х
годов электромеханических и электронных вычислительных машин —
родителей современных компьютеров. Для программирования этих машин
использовались машинные коды — цифровые комбинации, "понятные" только
данной машине. Такое программирование было чрезвычайно трудоемким и
сложным делом, доступным лишь небольшому кругу специалистов.
Первым шагом в развитии современных языков программирования стало
создание в конце 1940-х годов Джоном Моучли, сотрудником Пенсильванского
университета
(США),
системы
кодирования
машинных
команд
этих
компьютеров с помощью специальных символов. Достижением создателей
языков программирования было то, что они сумели заставить сам компьютер
работать переводчиком с этих языков на машинный код. Описываемая система,
которую назвали "Short Code", была по существу одним из первых примитивных
интерпретаторов. Она использовала примитивный язык программирования
высокого уровня. На нем программист записывал решаемую задачу в виде
математических формул, а затем сам, используя специальную таблицу,
переводил символ за символом, преобразовывая эти формулы в двухлитерные
коды. В дальнейшем специальная программа компьютера превращала эти коды
в двоичный машинный код.
Система кодирования, предложенная Моучли, увлекла одну из сотрудниц
его группы — Грейс Мюррей Хоппер, которая стала третьим в мире
программистом.
В 1951 г. Хоппер создала первый в мире компилятор. Именно она ввела
сам этот термин.
Компилятоp (от англ. Compile - собирать вместе, составлять) - системная
программа, выполняющая преобразование программы, написанной на одном
36
алгоритмическом языке, в программу на языке, близком к машинному, и в
определенном смысле эквивалентную первой.
В 1954 г. группа под руководством Г. Хоппер разработала систему,
включающую язык программирования и компилятор, которая в дальнейшем
получила название MATH-MATIC. После удачного завершения работ по
созданию MATH-MATIC Г. Хоппер и ее группа принялись за разработку нового
языка и компилятора, который позволил бы пользователям программировать на
языке, близком к обычному английскому. В 1958 г. появился компилятор FLOWMATIC. FLOW-MATIC был первым языком для задач обработки коммерческих
данных. Работы в этом направлении привели к созданию языка КОБОЛ (COBOL
— Common Business Oriented Language). Одним из основных консультантов при
его создании была Грейс Мюррей Хоппер.
Середина 50-х годов XX века характеризуется стремительным прогрессом
в области программирования.
Стало понятно, что процесс формирования
машинного кода можно автоматизировать. Для записи программ начали
применять мнемонический язык – язык assembly. Язык ассемблера позволил
представить
машинный
код в более
удобной
для человека
форме:
для обозначения команд и объектов, над которыми эти команды выполняются,
вместо двоичных кодов использовались буквы или сокращенные слова, которые
отражали суть команды. Например, на языке ассемблера команда сложения двух
чисел обозначается словом add, тогда как ее машинный код может быть таким:
000010.
Запись
программы
на языке
ассемблера
фактически
является
тем же машинным кодом, только представленным с помощью специальных
обозначений.
Ассемблер можно отнести к языкам второго поколения, если за первый принять
машинный код. Появление этого языка на свет, очень облегчало жизнь
программистов. Теперь вместо рябящих в глазах нулей и единиц, они могли
писать программу командами, состоящими из символов приближенных к
обычному языку. Для того времени этот язык был новшеством и пользовался
популярностью т.к. позволял писать программы небольшого размера, что при тех
37
машинах критерий значительный. Но сложность разработки в нём больших
программных комплексов привела к появлению языков третьего поколения –
языков высокого уровня. Но на этом жизнь ассемблера не закончилась, он жив и
посей день и не только жив, но и пользуется популярностью в узких кругах.
Сейчас его используют в написании отдельных фрагментов программ или иногда
в написании самих программ. Примеров может быть много, но самые яркие это
использование ассемблера в написании драйверов, игр и загрузчиков ОС. Не
стоит забывать, что у хакеров этот язык так же пользуется популярностью, да
ещё какой! Но что же им так нравиться в нём? Конечно же, то, что скорость
работы полученной программы значительно выше скорости программы
написанной на языке программирования высокого уровня. Это объясняется тем,
что получившийся размер программы очень мал. А как же разработчики
антивирусных программ? Они тоже не лыком шиты и так же используют
ассемблер в некоторых модулях своих программ, что так же обеспечивает их
быстродействие. А если бы не ассемблер некоторые программы загружались бы
около часа! Так что ассемблер воистину вечный язык и ещё много, много лет он
будет служить человечеству!
Программирование
в
машинных
командах
стало
вытесняться
программированием на языках, выступавших в роли посредника между
машинами и программистами. Первым и одним из наиболее распространенных
стал Фортран (FORTRAN, от FORmula TRANslator — переводчик формул),
разработанный группой программистов фирмы IBM в 1954 г. Этот язык получил
большое распространение, стал основным языком для научных и технических
расчетов, несколько раз усовершенствовался и широко используется до сих пор.
В конце 50-х годов плодом международного сотрудничества в области
программирования явился Алгол-60 (ALGOL, от ALGOrithmic Language —
алгоритмический язык, версия 1960 г.). Алгол предназначен для записи
алгоритмов,
которые
строятся
в
виде
последовательности
процедур,
применяемых для решения поставленных задач. Специалисты-практики
восприняли этот язык далеко не однозначно, но, тем не менее, его влияние на
38
развитие других языков и теорию программирования оказалось весьма
значительным. Развитие идеи Алгола о структуризации разработки алгоритмов
нашло наивысшее отражение при создании в начале 1970-х годов языка Паскаль
швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально
разрабатывался как учебный, и, действительно, сейчас он является одним из
основных языков обучения программированию в школах и вузах. Однако
качества его в совокупности оказались столь высоки, что им охотно пользуются
и профессиональные программисты. В середине 1960-х годов сотрудники
математического факультета Дартмутского колледжа Томас Курц и Джон
Кемени создали специализированный язык программирования, который состоял
из простых слов английского языка. Новый язык назвали "универсальным
символическим кодом для начинающих" (Beginners All Purpose Symbolic
Instruction Code, или, сокращенно, BASIC, а по-русски — Бейсик). Годом
рождения нового языка можно считать 1964 г.Долгое время универсальный язык
Бейсик (имеющий множество версий) имел большую популярность и широкое
распространение среди пользователей ЭВМ различных категорий во всем мире.
В значительной мере этому способствовало то, что Бейсик начали использовать
как встроенный язык персональных компьютеров, широкое распространение
которых началось в конце 1970-х годов.
Большой отпечаток на современное программирование наложил язык Си
(первая версия — 1972 г.), являющийся очень популярным в среде разработчиков
систем программного обеспечения (включая операционные системы). Си
сочетает в себе черты, как языка высокого уровня, так и машинноориентированного языка, допуская программиста ко всем машинным ресурсам,
чего не позволяют такие языки, как Бейсик и Паскаль.
Более специализированным языком является язык ЛОГО (от греч. logos —
слово), созданный для обучения программированию школьников, профессором
математики и педагогики Сеймуром Пейпертом
из Массачусетского
технологического института. Обучаясь программированию на ЛОГО, дети
задают простые команды и составляют из них программы, которые управляют
39
условной "черепашкой" — объектом, оставляющем при перемещении след на
экране монитора.
Отметим язык LISP (LISt Processing — обработка списков), появившийся в
США в конце 1950-х годов, и еще один специализированный язык — Пролог
(Prolog — PROgramming in LOGic), разработанный в 1970-е годы, как языки
программирования для создания систем искусственного интеллекта.
В начале 1960-х годов все существующие языки программирования высокого
уровня можно было пересчитать по пальцам, впоследствии их число достигло
трех тысяч. Однако в практической деятельности используется не более двух
десятков из них.
Разработчики ориентировали языки на разные классы задач, в той или иной
мере привязывали их к конкретным архитектурам компьютеров, воплощали в
них личные вкусы и идеи.
В конце 1960-х годов были сделаны попытки преодолеть эту
"разноголосицу" путем создания универсального языка программирования.
Первым детищем этого направления стал PL/1 (Programm Language One), 1967 г.
Затем на эту роль претендовал Алгол-68 (1968 г.). Предполагалось, что подобные
языки будут развиваться и усовершенствоваться и вытеснят все остальные.
Однако ни одна из этих попыток на сегодняшний день не увенчалась успехом
(хотя PL/1 в усеченных версиях использовали многие программисты).
Стремление к универсальности языка приводило к неоправданной сложности
конструкций программы, неэффективности получаемых исполняемых кодов.
Бурный рост числа различных языков программирования в период с конца
1960-х и до начала 1980-х годов сопровождался, как это ни странно, кризисом
программного обеспечения. Остро не хватало программ для решения самых
разных задач и программистов для их разработки, а написанные программы
часто содержали ошибки и работали неустойчиво. Этот кризис особо остро
переживало военное ведомство США. В январе 1975 г. Пентагон решил на вести
порядок в хаосе трансляторов и учредил комитет, которому было предписано
разработать один универсальный язык. На конкурсной основе комитет
40
проработал сотни проектов, и когда стало ясно, что ни один из существующих
языков не может их удовлетворить, принял два проекта для окончательного
рассмотрения. В мае 1979 г. был объявлен победитель —группа ученых во главе
с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Ады Лавлейс. Язык
АДА — прямой наследник языка Паскаль. Этот язык предназначен для создания
и длительного
сопровождения больших программных систем, допускает
возможность параллельной обработки, управления процессами в реальном
времени и многое другое, чего трудно или невозможно достичь средствами более
простых языков. Следует отметить, что многие языки, первоначально
разработанные для больших и малых вычислительных машин, в дальнейшем
были приспособлены к персональным компьютерам.
Языки программирования сохраняют свое предназначение для решения
задач определенных типов. Выбор языка определяется удобствами для
программистов, их предпочтениями в силу опыта и образования, а также
пригодностью для данного компьютера и данной задачи. А задачи, решаемые с
помощью компьютера, бывают самые разнообразные: вычислительные,
экономические, графические, экспертные, создание системного программного
обеспечения и т.д.
Такая разнотипность решаемых компьютером задач и приводит к
многообразию языков программирования.
Задача
Задачи искусственного интеллекта
Параллельные вычисления
Примеры языков
Lisp, Prolog, Multilisp, Commonlisp, Рефал,
Planner, QA4, FRL, KRL, QLisp
Fun, Apl, Alfl, PARAlfl, ML, SML, PPL/1,
Hope, Miranda, Occam, PFOR, Glypnir, Actus,
параллельный Cobol, ОВС-ЛЯПИС, ОВСМнемокод, ОВС-Алгол, ОВС-Фортран,
PA(1), PA(G)
41
Occam, PFOR, Glypnir, Actus,параллельный
Задачи
вычислительной
Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВСматематики и физики
Алгол, ОВС-Фортран, PA(1), PA(G)
Forth, c, C++, Ассемблер, Макроассемблер,
Разработка интерфейса
Simula-67, OAK, Smalltalk, Java, РПГ
Разработка
программ-оболочек, Forth, c, C++, Ассемблер, Макроассемблер,
разработка систем
Simula-67, OAK, Smalltalk, Java, РПГ
Algol,
Fortran, Cobol,
Ada,
Задачи вычислительного характера
PL/1,Фокал, Basic,Pascal
Оформление
документов,
обработка больших текстовых Perl, Tcl/Tk, VRML, SQL, PL/SCL, Informix
файлов, организация виртуальных 4GL, Natural, DDL, DSDL, SEQUEL, QBE,
трехмерных
интерфейсов
в ISBL
Интернете, разработка баз данных
Чтобы
более
четко
представить
картину
развития
языков
программирования обратимся к хронологической таблице. (См. приложение) Но
это отнюдь не весь список созданных человечеством языков программирования,
так как многие языки по определённым причинам не могли существовать
самостоятельно, они легли в основу новых, более усовершенствованных. О них
мы поговорим в разделе « Диалекты».
42
3.Эволюция языков программирования. Классификация языков
программирования.
Поколения
ЭВМ
1поколение
(19461954г.г.)
Характеристика
Языки
ЭВМ
программирования
Для
научно- Машинные
технических
расчетов; носитель
информации
перфокарты
и
перфоленты;
программное
обеспечениебиблиотека
стандартных
программ,
автокоды.
2поколение Для
(1958технологических и
1960г.г.)
экономических
расчётов; носитель
информациимагнитная
лента;
созданы
трансляторы.
3поколение Для управления и
(1960технологических
1966г.г.)
расчётов; носитель
информации- диск;
программное
обеспечениеоперационные
системы;
СУБД;
пакеты прикладных
программ.
4поколение Для
(1970информационного
1980г.г.)
обслуживания,
телекоммуникации;
носитель
информациигибкий
диск;
прикладное
ПО
Ассемблеры,
макроассемблеры
Языки
уровня
Характеристика ЯП
Ориентированы
на
использование
в
конкретной
ЭВМ,
сложны в освоении,
требуют
хорошего
знания архитектуры
ЭВМ.
Более удобны для
использования, но попрежнему машиннозависимы
высокого Мобильные,
человекоориентированные,
проще в освоении
Непроцедурные,
объектноориентированные,
языки
запросов,
параллельные
Ориентированы
на
непрофессионального
пользователя и на
ЭВМ с параллельной
архитектурой
43
общего назначения;
сетевое
ПО;
мультимедия.
5поколение Телекоммуникации,
(1980г.- по информационное
наше
обслуживание;
время)
носитель
информациигибкий, жёсткий и
оптический диски;
интеллектуальные
программные
системы;
Языки
искусственного
интеллекта,
экспертных систем
и
баз
знаний,
естественные
языки
Ориентированы
на
повышение
интеллектуального
уровня
ЭВМ
и
интерфейса с языками
Развитие вычислительной техники сопровождается созданием новых и
совершенствованием существующих средств общения программистов с ЭВМ языков программирования (ЯП). Проанализируем таблицу и
установим
зависимость развития ЯП от развития ЭВМ.
ЯП первого поколения представляли собой набор машинных команд в
двоичном (бинарном) или восьмеричном формате, который определялся
архитектурой конкретной ЭВМ. Каждый тип ЭВМ имел свой ЯП, программы на
котором были пригодны только для данного типа ЭВМ. От программиста при
этом требовалось хорошее знание не только машинного языка, но и архитектуры
ЭВМ.
Второе поколение ЯП характеризуется созданием языков ассемблерного
типа (ассемблеров, макроассемблеров), позволяющих вместо двоичных и других
форматов машинных команд использовать их мнемонические символьные
обозначения (имена). Являясь существенным шагом вперед, ассемблерные
языки все еще оставались машинно-зависимыми, а программист все также
должен был быть хорошо знаком с организацией и функционированием
аппаратной среды конкретного типа ЭВМ. При этом ассемблерные программы
все так же затруднительны для чтения, трудоемки при отладке и требуют
больших усилий для переноса на другие типы ЭВМ. Однако и сейчас
44
ассемблерные
языки
используются
при
необходимости
разработки
высокоэффективного программного обеспечения.
Третье поколение ЯП начинается с появления в 1956 г. первого языка
высокого уровня - Fortran, разработанного под руководством Дж. Бэкуса в фирме
IBM. За короткое время Fortran становится основным ЯП при решении
инженерно-технических и научных задач. Первоначально Fortran обладал весьма
ограниченными средствами обеспечения работы с символьной информацией и с
системой ввода-вывода. Однако постоянное развитие языка сделало его одним
из самых распространенных ЯВУ на ЭВМ всех классов - от микро- до суперЭВМ, а его версии используются и для вычислительных средств нетрадиционной
параллельной архитектуры.
Вскоре после языка Fortran появились такие ныне широко известные
языки, как Algol, Cobol,Basic, PL/1,Pascal, APL, ADA, C, Forth, Lisp, Modula и др.
В настоящее время насчитывается свыше 2000 раз
личных языков высокого
уровня.
Языки четвертого поколения
носят
ярко
выраженный
непроцедурный характер, определяемый тем, что программы на таких языках
описывают только что, а не как надо сделать. В программах формируются скорее
соотношения, а не последовательности шагов выполнения алгоритмов.
Типичными примерами непроцедурных языков являются языки, используемые
для задач искусственного интеллекта(например, Prolog, Langin). Так как
непроцедурные языки имеют минимальное число синтаксических правил, они
значительно более пригодны для применения непрофессионалами в области
программирования.
Языки программирования от поколения к поколению улучшали свои
характеристики, становясь все более доступными в освоении непрофессионалам.
Все языки программирования делятся на два уровня:
Языки программирования низкого уровня или Ассемблеры, которые
состоят
из
мнемонических
команд
приближенных
к
машинному
(двоичному) коду с которым непосредственно работает процессор компьютера.
45
У каждого типа процессора свой язык ассемблера. Достоинством языков низкого
уровня является то, что с их помощью создают самые краткие и быстро
исполняемые программы. Недостаток таких языков в том, что их трудно изучать,
так как необходимо знать и хорошо понимать работу и устройство конкретного
процессора. Тексты программ на таких языках получаются очень большими по
объёму. Программы, написанные на таких языках, не могут использоваться на
процессорах других типов.
Языки программирования высокого уровня (например, Бейсик, Паскаль,
СИ) состоят из более понятных команд для человека, так как для их написания
используются фразы из обычных языков (в большинстве случаев Английского),
поэтому они значительно проще для изучения и применения. Программы,
написанные с их помощью, можно использовать на любом компьютере. Языки
программирования высокого уровня классифицируют по четырём основным
группам:
процедурные,
логические.
Неймановской
процедурном
объектно-ориентированные,
Процедурное
программирование
архитектуры
языке,
компьютера.
представляет
собой
-
функциональные
есть
Программа,
отражение
написанная
последовательность
и
фон
на
команд,
определяющих алгоритм решения задачи. Основная идея процедурного
программирования - использование памяти для хранения данных. Основная
команда - присвоение, с помощью которой определяется и меняется память
компьютера. Программа производит преобразование содержимого памяти,
изменяя его от исходного состояния к результирующему. Различают такие языки
процедурного программирования:
Язык Фортран создан в начале 50-х годов 20-го века для программирования
научно-технических задач;
Кобол – создан в конце 60-х годов 20-го века для решения задач обработки
больших объемов данных, хранящихся на различных носителях данных;
Алгол
(1960
год)
–
это
многоцелевой
расширенный
язык
программирования. В нем впервые введены понятия “блочная структура
программы” и “динамическое распределение памяти”;
46
В середине 60-х годов 20-го века был создан специализированный язык
программирования для начинающих – BASIC. Характеризуется простотой
освоения и наличием универсальных средств для решения научных, технических
и экономических задач, а также задач, например, игровых.
Все перечисленные выше языки были ориентированы на различные классы
задач, но они в той или иной мере были привязаны к конкретной архитектуре
ЭВМ.
В 1963-1966гг был создан многоцелевой универсальный язык PL-1. Этот
язык хорошо приспособлен для исследования и планирования вычислительных
процессов, моделирования, решения логических задач, разработки систем
математического обеспечения.
Язык
Паскаль
(PASCAL)
(1968-1971гг)-
язык
процедурного
программирования наиболее популярный для ПК, который и в настоящее время
успешно применяется. В основу языка Pascal положен подход от общей задачи к
частным (более простым и меньшим по объему). К основным принципам,
которыми обладает Паскаль, можно отнести: а) Структурное программирование,
которое основано на использовании подпрограмм и независимых структур
данных; б) Программирование “сверху-вниз”, когда задача делится на простые,
самостоятельно решаемые задачи. Затем выстраивается решение исходной
задачи полностью сверху вниз.
К языкам процедурного программирования можно отнести язык АДА
(1979 г) Язык СИ (начало 70-х годов) также относится к языкам
процедурного программирования. Первоначальный его вариант планировался
как язык для реализации операционной системы Unix вместо языка Ассемблера.
Одной из особенностей языка СИ является то, что различия между выражениями
и операторами сглаживаются, что приближает его к функциональным языкам
программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а
использование подпрограмм основано на понятии функции, которая может
сочетать в себе возможности процедуры. С одной стороны, по набору
управляющих конструкций и структур данных его можно отнести к языкам
47
высокого уровня, а с другой – он имеет набор средств прямого обращения к
функциональным узлам компьютера, а это означает, что его можно использовать
как операционный язык.
Непроцедурные
организацию
языки
данных,
составляют
обрабатываемых
группу
по
языков,
описывающих
фиксированным
алгоритмам
(табличные языки и генераторы отчетов), и языков связи с операционными
системами.
Позволяя четко описывать как задачу, так и необходимые для её решения
действия, таблицы решений дают возможность в наглядной форме определить,
какие условия должны быть выполнены, прежде чем переходить к какому-либо
действию. Одна таблица решений, описывающая некоторую ситуацию,
содержит все возможные блок-схемы реализаций алгоритмов решения.
Табличные методы легко осваиваются специалистами любых профессий.
Программы, составленные на табличном языке, удобно описывают
сложные ситуации, возникающие при системном анализе.
Объектно-ориентированное программирование (ООП) — это метод
программирования, при
использовании
которого главными
элементами
программ являются объекты. В языках программирования понятие объекта
реализовано как совокупность свойств (структур данных, характерных для
данного объекта), методов их обработки (подпрограмм изменения их свойств) и
событий, на которые данный объект может реагировать и, которые приводят, как
правило,
к изменению свойств объекта.
С расширением областей применения вычислительной техники возникла
необходимость формализовать представление постановки и решение новых
классов задач. Необходимо было создать такие языки программирования,
которые, используя в данной области обозначения и терминологию, позволили
бы описывать требуемые алгоритмы решения для поставленных задач, ими стали
проблемно - ориентированные языки. Эти языки, ориентированные на решение
определенных
проблем,
должны
обеспечить
программиста
средствами,
48
позволяющими коротко и четко формулировать задачу и получать результаты в
требуемой форме.
Проблемных языков очень много, например:
Фортран, Алгол - языки, созданные для решения математических задач;
Simula, Слэнг - для моделирования;
Лисп, Снобол - для работы со списочными структурами.
К ним относятся функциональные и логические языки программирования.
Функциональное программирование - это способ составления программ, в
которых единственным действием является вызов функции. В функциональном
программировании не используется память, как место для хранения данных, а,
следовательно, не используются промежуточные переменные, операторы
присваивания и циклы. Ключевым понятием в функциональных языках является
выражение. Программа, написанная на функциональном языке, представляет
собой последовательность описания функций и выражений. Выражение
вычисляется сведением сложного к простому. Все выражения записываются в
виде списков. Первым языком стал язык Лисп (LISP, LIST Processing - обработка
списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы
текстовой информации. Логическое программирование- это программирование
в терминах логики. В 1973 году был создан язык искусственного интеллекта
Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится
из последовательности фактов и правил, затем формулируется утверждение,
которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с
помощью методов поиска и сопоставления, которые в нем заложены. Логические
программы не отличаются высоким быстродействием, так как процесс их
выполнения сводится к построению прямых и обратных цепочек рассуждений
разнообразными методами поиска.
Машинно-ориентированные языки - это языки, наборы операторов и
изобразительные средства которых существенно зависят от особенностей ЭВМ
(внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные
49
языки позволяют использовать все возможности и особенности Машиннозависимых языков:
высокое качество создаваемых программ (компактность и скорость
выполнения);

возможность использования конкретных аппаратных ресурсов;

предсказуемость объектного кода и заказов памяти;

для составления эффективных программ необходимо знать систему
команд и особенности функционирования данной ЭВМ;

трудоемкость процесса составления программ ( особенно на
машинных языках и ЯСК), плохо защищенного от появления ошибок;

низкая скорость программирования;

невозможность
непосредственного
использования
программ,
составленных на этих языках, на ЭВМ других типов.
Машинно-независимые языки - это средство описания алгоритмов
решения задач и информации, подлежащей обработке. Они удобны в
использовании для широкого круга пользователей и не требуют от них знания
особенностей организации функционирования ЭВМ и ВС.
Подобные
языки
получили
название
высокоуровневых
языков
программирования. Программы, составляемые на таких языках, представляют
собой последовательности операторов, структурированные согласно правилам
рассматривания языка(задачи, сегменты, блоки и т.д.). Операторы языка
описывают действия, которые должна выполнять система после трансляции
программы на машинном языке.
Т.о., командные последовательности (процедуры, подпрограммы), часто
используемые в машинных программах, представлены в высокоуровневых
языках отдельными операторами. Программист получил возможность не
расписывать в деталях вычислительный процесс на уровне машинных команд, а
сосредоточиться на основных особенностях алгоритма.
Универсальные языки были созданы для широкого круга задач:
коммерческих, научных, моделирования и т.д. Первый универсальный язык был
50
разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по
мощности универсальный язык называется Алгол-68. Он позволяет работать с
символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1
имеет развитую систему операторов для управления форматами, для работы с
полями переменной длины, с данными организованными в сложные структуры,
и для эффективного использования каналов связи. Язык учитывает включенные
во многие машины возможности прерывания и имеет соответствующие
операторы. Предусмотрена возможность параллельного выполнение участков
программ.
Программы в Пл/1 компилируются с помощью автоматических процедур.
Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он
допускает не только динамическое, но и управляемое и статистическое
распределения памяти.
Появление новых технических возможностей поставило задачу перед
системными программистами - создать программные средства, обеспечивающие
оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.
Эти работы велись в двух направлениях. Создавались специальные
управляющие языки для обеспечения оперативного воздействия на прохождение
задач, которые составлялись на любых раннее неразработанных (не диалоговых)
языках. Разрабатывались также языки, которые кроме целей управления
обеспечивали бы описание алгоритмов решения задач.
Необходимость
обеспечения
оперативного
взаимодействия
с
пользователем потребовала сохранения в памяти ЭВМ копии исходной
программы даже после получения объектной программы в машинных кодах. При
внесении изменений в программу с использованием диалогового языка система
программирования с помощью специальных таблиц устанавливает взаимосвязь
структур исходной и объектной программ. Это позволяет осуществить
требуемые редакционные изменения в объектной программе. Одним из
примеров диалоговых языков является Бэйсик.
51
Бэйсик использует обозначения подобные обычным математическим
выражениям.
Многие
операторы
являются
упрощенными
вариантами
операторов языка Фортран. Поэтому этот язык позволяет решать достаточно
широкий круг задач.
Классификация
языков
программирования:
Позволим выделить некоторую общую тенденцию в развитии языков
программирования. Языки развиваются в сторону все большей и большей
абстракции. И это сопровождается падением эффективности. Вопрос: а стоит ли
этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции
влечет за собой повышение уровня надежности программирования. С низкой
эффективностью можно бороться путем создания более быстрых компьютеров.
Если требования к памяти слишком высоки, можно увеличить ее объем. Это,
конечно, требует времени и средств, но это решаемо. А вот с ошибками в
программах можно бороться только одним способом: их надо исправлять. А еще
52
лучше — не совершать. А еще лучше максимально затруднить их совершение. И
именно
на
это
направлены
все
исследования
в
области
программирования. А с потерей эффективности придется смириться.
языков
53
4. Двенадцать языков программирования, которые потрясли мир.
Мёртвый язык программирования
Существует около 8 500 языков программирования, однако, несмотря на
такое разнообразие, число языков, на которых пишет большинство, с трудом
переваливает за десяток. Причин, почему тот или иной язык не стал популярным,
ничуть не меньше, чем самих языков. Это и распри между их создателями, и
плохо организованный процесс продажи, и появление новых технологий, мы
рассмотрим языки программирования, которые не пользуются популярностью
среди разработчиков, И попытаемся выявить причины этой «нелюбви».
1.
Brainfuck назвали языком для мазохистов, придуманный в 1993 году в
качестве шарады для мозга, он содержит 8 команд и каждая записывается одним
символов. Выглядит просто: набор плюсов, скобок и стрелочек, но решать
каждый раз головоломку, раскрывающую суть команды, - действие не для
слабонервных.
2.
Язык COW создавался на основе трех букв ММО, используемых в разных
регистрах. Созданный на основе платформы Brainfuck, это такой же ребус, как и
его предшественник.
3.
Shakespeare - язык интересный, но осложняется его расшифровка тем, что
для прочтения послания необходимо знать исходный код: любые 2 слова, на
основе которых "строится" пьеса. Программисты, работающие с этим языком
- Шекспиры, ведь, чтобы запустить программу, необходимо запустить
персонажа, написать вступление (которое не является действием) и только потом
вывести персонажей на сцену. Впрочем, командой Exit вы так же легко можете
убрать одного из памяти, продолжая составлять команды без одного кодового
слова. Не используется этот программный язык из-за его сложности
расшифровки.
4.
Whitespace. Гениальность состоит в том, что все символы кода - это
символы табуляции, пробелы, переходы на новую строку. Программа, которая
54
не содержит видимых знаков, считается одной из самых сложных в
программировании, потому и не используется.
5.
ALGOrithmic Language 1968 года. Считается громоздким и плохо
запоминающимся языком. Именно он стал «идейным вдохновителем» для
создателей С и Bourne Shell. Благодаря ALGOL 68 параллельная обработка
данных упростилась до такой степени, что даже современные языки типа Java и
С до сих пор не добрались до его уровня.
6.
ALGOL 68 скоропостижно скончался, так и не успев толком пожить.
Благодаря невнятности спецификации членам комитета разработчиков ничего не
стоило утопить проект еще до того, как люди смогли реально оценить его
достоинства и недостатки.
7.
Язык Befunge - настоящая головная боль для программиста. В этом
исходном коде каждый символ - команда, причем состоит в двухмерной таблице,
где элементы управления задаются стрелками "вверх" или "вниз". Головоломка
используется в узкоспециализированных кругах и не является популярной.
8.
REBOL в 1999 году взлетел на вершину программного Олимпа, но недолго
продержавшись, вылетел из списков фаворитов. Остался любимым языком для
домашнего использования из-за сложности внедрения интерпретатора и
устаревших команд, особенно после появления на арене языка .NET.
9.
ColdFusion, он же CFML на старте разработок был поставлен в один ряд с
Java Enterprise и ASP.NET. Немного напоминает HTML, используя теги для
написания кода и идеален для новичков, которые частенько забывают поставить
закрывающие
теги
или
нужный
символ.
Был
вытеснен
более
усовершенствованными версиями ASP.NET, PHP.
10.
Язык Java2k был заявлен, как "Язык Вселенной", имитатор ее истинной
сущности, но оказался непопулярным. Причина в существовании двух
встроенных функций. То есть, даже запустив программу нельзя быть уверенным,
что она выполнит именно ту команду, которую вы ожидаете.
55
11.
Язык INTERCAL по критериям Тьюринга подходит для повсеместного
использования, но программисты не любят его из-за сложного составления
программного кода.
12.
VRML можно расшифровать как язык моделирования виртуальной
реальности, обещает перевести в трехмерную среду Интернет через телефонное
соединение. NASA приняла этот язык на вооружение, запретив использовать
в массах.
13.
Язык SMIL создавался для синхронной передачи документов и видео, но
оказался слишком сложным в использовании, был незаслуженно вытеснен
конкурентом из Microsoft. А мог бы поставлять MMS на телефон! Просто
появился не в свое время.
Все эти языки можно назвать мёртвыми языками.
Мёртвый язык программирования - язык, который по определенным
причинам вышел из употребления ( выпал из списка популярных).
Точная смерть языка наступает в том случае, когда язык претерпевает
эволюцию и развивается в другой язык или даже в группу языков.
56
5. Причины исчезновения языков программирования
Время жизни языка программирования зависит от успешности команды
создателей и промоутеров, т.е. Бейсик и Фортран существовали на ЕС-ЭВМ на
СМ-ЭВМ, и на ПК в период существования DOS первых версий, тогда
компьютеры назывались ЭВМ и предназначались для счета, но эти ЭВМ уже
изжили себя. Вычислительная мощь, это последнее о чем мы сейчас вспоминаем
по отношению к компьютерам, мы мало нуждаемся в счете, очень мало людей,
чьи вычислительные потребности выходят за рамки обычного калькулятора, но
из этих немногих попадая в электронные таблицы типа Эксель, там и остаются в
нирване. Эти языки справлялись со своими задачами и прекрасно жили в
условиях тех "сумасшедших ресурсов", но изменился подход к использованию
вычислительной техники, и целая категория вычислительной техники
превратилась в "абак" -вычислительное средство, представляющее интерес,
только исторически.
-Что делает язык мощным и пригодным для всех ипостасей?
-Прикладное или системное программирование - это наличие различных
библиотек, с оптимальным кодом и удачным транслятором (компилятор или
интерпретатор).
Мы живем в эпоху вымирания языков. Вымирают естественные языки,
такой же тенденции подвержены и языки программирования. Причины
вымирания языков программирования разнообразны. Раньше огромная польза
была от Pascal. Сейчас он почти умер. В свое время Perl считался крутым, но
затем его вытеснил PHP. Однако все языки создавались для чего-то, а не просто
так. И перед тем как окончательно отправить тот или иной язык в архив истории,
следовало бы полностью осознать его наследие, употребимое в текущей
практике программирования. А может статься, что некоторые языки вообще
списаны со счетов зазря. Вопрос лишь в том, как грамотно провести ревизию,
инвентаризацию всего этого добра из сотен и тысяч языков, как извлечь крупицы
смысла из гор отработанной породы?
57
Проанализировав хронологическую таблицу языков программирования,
мы можем назвать несколько основных причин их краха.
Причины краха языков программирования:

сложны в применении

не доступны для простого пользователя

ошибки менеджмента

отсутствие «рекламы» в СМИ, вернее присутствие антирекламы

отсутствие поддержки крупных вендоров, в отличии от конкурентов

были вытеснены альтернативным языком, новыми технологиями и
изменяющимися условиями выживания;

низкий порог вхождения

отсутствие сертификационных центров
58
6. Диалекты. Подмножества. Расширение.
И всё же, не все языки программирования исчезли бесследно. Многие
стали базой для новых перспективных языков.
Диалекты содержат незначительные изменения, которые способствуют
либо настройке языка на специальное применение, либо выявлению сильных
сторон конкретного компьютера. Диалекты несовместимы и с исходным языком,
и с другими диалектами.
Подмножество
– это
версия
языка, включающая только
часть
возможностей полного языка.
Расширение – это расширенная версия, дополненная новыми свойствами,
делающими язык более разносторонним.
Давайте
рассмотрим
схему:
Например, на базе языка Паскаль созданы несколько более мощных языков
- Модула, Ада, Дельфи
Объектно-ориентированные языки программирования
Универсальные языки программирования
59
7. Контрольно-измерительный материал
Тест по теме «История языков программирования»
1. Язык программирование – это…
А) формальная знаковая система
2. К языкам низкого уровня относятся:
А) Паскаль
Б) Лисп
В) Кобол
Г) Ассемблер
3. Автором языка Паскаль является:
А) Томас Курц
Б) Никлаус Вирт
В) Паскаль
Г) Лебедев
4. К языкам объектно-ориентированного программирования не относятся:
А) Turbo Pascal
Б) Visual Basic
В) Delphi
Г)C
5. Примером языка для создания приложений к мобильному телефону
является ________________
6.
Примером
языка
________________
для
создания
интернет
-
страниц
является
60
Заключение.
Каждый в нашей стране должен научиться программировать, потому что это учит
думать.
Стив Джобс
Всем нужно знать программирование. Пусть на самом начальном уровне.
И неважно, что вам это не пригодится в вашей работе. Как сказал Стив Джобс,
это научит вас думать. XX век стал переломным в вопросе грамотности
населения. Люди научились читать, писать, считать и даже начали получать
высшее образование. Благодаря этому, сегодня технический прогресс шагает
семимильными шагами. У нас есть радио и телевидение, телефоны и
компьютеры. Человек даже полетел в космос. В XXI же веке программирование
стало новым стандартом грамотности. А для этого нужно знать языки
программирования.
Мы в науке программирования пока что с ЭВМ на ВЫ. И своё развитие в
этой области нужно начинать с истории и эволюции языков программирования.
В данном пособии
я постаралась ответить на очень важный вопрос,
почему языки программирования « умирают».
Вы спросите, а зачем нам изучать мёртвые языки. Считается, что это
просто необходимо. Если рассмотреть хронологическую таблицу, то можно
понять, что не все мёртвые языки сейчас бесполезны, ведь некоторые новые
создавались на их основе, например, на базе языка Паскаль созданы несколько
более мощных языков - Модула, Ада, Дельфи. Некоторые, получили
расширение.
Передовым IT-компаниям нужны эксперты по «мертвым» языкам.
Например, индустрии финансовых услуг Шотландии угрожает серьезная
опасность в области информационных технологий. Ей грозит недостаток
критических ресурсов: программистов, знающих COBOL, ассемблер и другие
старые языки программирования. Университеты выпускают очень способных
студентов, сведущих в модных языках типа Java и NET, но многие компании
начинают осознавать, что для некоторых устаревших технологий уже не будет
нового поколения специалистов.
61
В наши бурные дни мобильных платформ и облачных вычислений странно
слышать, что для финансового сектора жизненно важен код, написанный в 1959
году, когда компьютеры занимали целые здания. 80% мэйнфреймов страны
работает именно с COBOL, и их бизнес-системы требуют непрерывной
поддержки и развития. Веб-сайт банка, обращенный к клиенту, может быть
написан на Java, но вся обработка транзакций, будь это манипуляции с текущим
счетом или со страховкой, происходит на мэйнфреймах. Да-да, в век спутников
и цифрового домашнего кино нам все еще нужны инженеры, которые могут
починить черно-белый ламповый телевизор.
Конечно, тема «Мёртвые языки программирования» еще до конца не
изучена, а значит,
это учебное пособие
изучение. Желаю удачи!
вас подвигнет на дальнейшее её
62
Список использованной литературы
1. http://wiki.iteach.ru/index.php/Проект:_Мертвые_языки_программирования
2. http://videouroki.net/filecom.php?fileid=98658276
3. http://www.pvsm.ru/programmirovanie/106969
4. http://dimonvideo.ru/articles/2101
5. http://www.nokiazone.ru/nz?rid=32&text_id=330957
6. http://blogerator.ru/page/10-peredovyh-jazykov-programmirovanija-kotorye-mogutperevernut-mir-it
7. https://habrahabr.ru/post/136706/
8. https://habrahabr.ru/post/147617/
9. https://sites.google.com/site/mertvyeazyckiprogrammirovania/home
10.http://clubfile.net/?q=node/30455
11.http://www.kakprosto.ru/kak-89609-dlya-chego-nuzhny-yazyki-programmirovaniya
12.http://doma10.ucoz.ru/index/jazyki_programmirovanija/0-82
13.http://www.bestreferat.ru/referat-406374.html
14.http://knowledge.allbest.ru/programming/2c0a65625b2bd69a4c43b89521306d37_0.h
tml
Download