Файл: История развития программирования в России (Программирование ЭВМ второго поколения).pdf
Добавлен: 24.04.2023
Просмотров: 120
Скачиваний: 1
Благодаря серийному выпуску компьютеров произошло снижение стоимости машинного времени, что позволило перейти к широкому использованию ЭВМ для всевозможных задач: научно-технических расчетов, управления производством, организационного (административного) управления. Появились первые автоматизированные системы управления предприятиями (АСУП) и системы автоматического управления технологическими процессами (АСУ ТП).
С начала 1960-х гг. полупроводниковые машины стали производиться и в СССР такие, как
- Минск-22
- Минск-32
- БЭСМ 4
- БЭСМ 6
- М-220
- Урал-14 и др.
Урал-11" (1964 г.) – полупроводниковая машина, имела одноадресную систему команд. Модели "Урал-14", "Урал-16" были наиболее производительными, аппаратно и программно совместимы между собой, с широким набором периферийных устройств с унифицированным способом подключения, конфигурируемые для каждого конкретного заказчика.
Электронно-вычислительные машины второго поколения имели следующие базовые параметры: производительность – 5 ∙ 104 коротких операций в секунду, разрядность – 24–48 бит, емкость ОЗУ–64–512 Кбайт. В 1965 г. в мире насчитывалось ЭВМ: США – 27 000, Западной Европе – 6000, Японии – 1900. Повсеместно создавались корпорации для массового выпуска компьютеров и элементной базы.
-
Программирование ЭВМ третьего поколения.
Третье поколение - вычислительные машины на интегральных схемах (1965-1980 гг.). В третьем поколении появились крупные унифицированные серии ЭВМ. Для больших и средних машин в США это прежде всего семейство IBM 360/370. В СССР 70-е и 80-е годы были временем создания унифицированных серии: ЕС (единая система) ЭВМ (крупные и средние машины), СМ (система малых) ЭВМ и «Электроника» (серия микро-ЭВМ). В качестве языка программирования в ЭВМ третьего поколения использовались процедурные языки высокого уровня (АДА, Fortran, PL-1, Basic, Pascal). Язык высокого уровня – язык программирования, ориентированный «на человека», имитирующий естественный. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в программе, к понятиям исходной задачи. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, чем на машинном языке или ассемблере[5].
Языки программирования этого типа более абстрактны (их еще называют «языками высокого уровня», сокращённо - ЯВУ) и универсальны, не имеют жесткой зависимости от конкретной аппаратной платформы и используемых на ней машинных команд. Программа на языке высокого уровня может исполняться (по крайней мере, в теории, на практике обычно имеются ряд специфических версий или диалектов реализации языка) на любой ЭВМ, на которой для этого языка имеется транслятор (инструмент, переводящий программу на язык машины, после чего она может быть выполнена процессором). Разрабатывать программы на таких языках значительно проще и ошибок допускается меньше. Значительно сокращается время разработки программы. Недостатком некоторых языков высокого уровня является большой размер программ в сравнении с программами на языках низкого уровня.
Обновленные версии перечисленных языков до сих пор имеют хождение в разработке программного обеспечения, и каждый из них оказал определенное влияние на последующее развитие языков программирования. Следует заметить, что на формат и применение ранних языков программирования в значительной степени влияли интерфейсные ограничения. (Из Википедии)
В период 1960-х — 1970-х годов были разработаны основные парадигмы языков программирования, используемые в настоящее время, хотя во многих аспектах этот процесс представлял собой лишь улучшение идей и концепций, заложенных еще в первых языках III поколения:
Язык APL оказал влияние на функциональное программирование и стал первым языком, поддерживавшим обработку массивов.
Язык ПЛ/1 (NPL) был разработан в 1960-х годах как объединение лучших черт Фортрана и Кобола.
Язык Симула, появившийся примерно в это же время, впервые включал поддержку объектно-ориентированного программирования. В середине 1970-х группа специалистов представила язык Smalltalk, который был уже всецело объектно-ориентированным.
В период с 1969 по 1973 годы велась разработка языка Си, популярного и по сей день и ставшего основой для множества последующих языков, например, столь популярных, как С++ и Java[6].
В 1972 году был создан Пролог — наиболее известный (хотя и не первый, и далеко не единственный) язык логического программирования.
В 1973 году в языке ML была реализована расширенная система полиморфной типизации, положившая начало типизированным языкам функционального программирования.
На основе многих языков третьего поколения были созданы их объектно-ориентированные версии.
Фортран (FORTRAN - formula translator) - самый первый из ЯВУ (разработан Бэкусом в начале 1950-х годов) и широко распространенный язык, особенно среди пользователей, которые занимаются численным моделированием, что объясняется несколькими причинами:
существованием огромных фондов прикладных программ на Фортране, накопленных за эти годы, а также наличием огромного количества программистов, эффективно использующих этот язык;
наличием эффективных трансляторов Фортрана на всех типах ЭВМ, причем версии для различных машин достаточно стандартизированы и перенос программ с машины на машину обычно не составляет больших трудностей;
изначальной направленностью Фортрана на физико-математические и технические приложения; в частности, это проявилось в том, что в течение долгого времени он оставался единственным языком со встроенным комплексным типом переменных и большим набором встроенных функций для работы с такими переменными..
АПЛ (APL) — мощный язык функционального программирования, оптимизированный для работы с массивами и обладающий кратким и выразительным синтаксисом. Будучи сначала по назначению декларативным языком, впоследствии он стал применяться в обработке данных, физике, математическом моделировании. Поэтому APL - предшественник современных научных вычислительных сред (как MATLAB и пр.).
Язык был разработан преподавателем Гарвардского университета Кеном Айверсоном, как система обозначений для описания вычислений. В 1957 выходит его книга «A Program Language», в которой эта нотация была описана. По названию этой книги язык и получил название APL. В 1960 Айверсон продолжает работу над APL в IBM. Здесь этот язык использовался для описания машинной архитектуры. Первой попыткой реализации APL был написанный для IBM 7090 на Фортране в 1965 году интерпретатор IVSYS. Однако, в нём тогда ещё не использовался набор APL-символов - они заменялись ключевыми словами на английском языке.Диалектом APL является функциональный векторный язык программирования J. В отличие от APL он не требует специальной раскладки клавиатуры для ввода математических символов, поскольку использует символы ASCII.
Алго́л (англ. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — несколько версий языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958—1960 годах (Алгол 58, Алгол 60); усовершенствован в 1964—1968 годах (Алгол 68). Алгол был популярен в Европе, в том числе в СССР, в то время как сравнимый с ним язык Фортран был распространён в США и Канаде. Оказал заметное влияние на все разработанные позднее императивные языки программирования — особенно на язык Pascal.
Кобо́л (COBOL - COmmon Business Oriented Language) — один из старейших языков программирования (первая версия в 1959), предназначенный, в первую очередь, для разработки коммерческих приложений. Руководителем проекта по созданию Кобола была Грейс Хоппер. В свежий стандарт языка 2002 года в Кобол добавлены средства объектно-ориентированного программирования и другие современные языковые конструкции.
Кобол обычно критикуется за многословность и громоздкость, поскольку одной из целей создателей языка было максимально приблизить конструкции к английскому языку. До сих пор Кобол считается языком программирования, на котором было написано больше всего строк кода. Например, к 1997 году активно использовалось около 240 миллиардов строк кода на Коболе. Около 90 % финансовых транзакций в мире обрабатывается кодом на Коболе, и 75 % коммерческой обработки данных написано на Коболе.
Бейсик (BASIC - Beginner’s All-Purpose Symbolic Instruction Code – “универсальный символический код инструкций для начинающих”). Прямой потомок Фортрана и до сих пор самый популярный язык программирования для персональных компьютеров. В 1963 годe 2 профессора Дартмутского Колледжа Дж. Кемени И Т. Куртс (США), создали этот язык программирования для людей, которые не являются профессиональными программистами, но имеют дело с компьютерами. Авторы намеревались создать простой и удобный язык, содержащий всего несколько ключевых слов, которые можно было бы выучить в течении часа. Идея оказалась удачной. Когда же в середине 70-х годов появились персональные компьютеры, то Basic как нельзя лучше подошел для них, поскольку занимал всего 4КВ памяти. Кроме того, в это же время появился вариант компилятора для микро-ЭВМ QUASIC - быстрый Бейсик, имевший такой же малый размер транслятора и позволявший генерировать исполняемые модули, использовавшие предельную скорость процессора.Как и любые преимущества, простота Бейсика оборачивалась, особенно в ранних версиях трудностями структурирования; кроме того, Бейсик не допускал рекурсию – интересный прием, позволяющий составлять эффективные и в то же время короткие программы. В первых версиях Бейсика, в 1960-е, 1970-е годы, вначале каждой строки надо было ставить цифровую метку номера оператора (как в Фортране). В последующих версиях это утомительное занятие было устранено. Был исключено ключевое слово LET (взять) в математических операторах.
Язык PL/1 [Program Language ?] разработан в 1964-1965 годах фирмой IBM. PL/1 относится к числу универсальных языков, т. е. позволяет решать задачи из разных областей: численные расчеты, текстовая обработка, экономические задачи и т. д. По своим возможностям он перекрывает такие языки, как Фортран, Алгол-60 (созданный для численных расчетов), Кобол (для экономических задач), хотя в силу ряда причин вытеснить эти языки PL/1 не смог. PL/1 содержит все основные конструкции, характерные для так называемых языков высокого уровня, а также ряд специфичных средств, удобных для практического программирования. Язык напоминает конструктор с большим числом деталей – пользователю достаточно освоить только те части языка, которые ему практически необходимы. Его операторы довольно емки, что часто позволяет получить запись программы более компактную, чем на других языках. Знающий PL/1 программист без труда осваивает любой другой язык того же или близкого класса. Вместе с тем, ПЛ/1 имеет и ряд недостатков, затрудняющих изучение и использование языка. Основные из них таковы. Во-первых, имеется много дублирующих друг друга средств их сложно запомнить, не ясно, что когда применять, кроме того, это снижает как скорость трансляции, так и скорость выполнения программ. Во-вторых, программы получаются не совсем машинно-независимыми.
Сотрудник фирмы Bell Labs Денис Ритчи создал язык Си в 1972 году во время совместной работы с Кеном Томпсоном, как инструментальное средство для реализации операционной системы Unix для написания Юникса. Следует заметить, что Ритчи не выдумывал Си из головы – прообразом служил язык Би разработанный Томпсоном. А можно было его назвать и Sy (Сай - почти Си), т.к. он был предназначен для системного программирования (system programming).]Популярность этого языка быстро переросла рамки конкретной операционной системы и конкретных задач системного программирования. В настоящее время любая инструментальная и операционная система не может считаться полной, если в ее состав не входит компилятор языка Си. На Си можно создавать программы, которые делают все, что пожелаешь. Нет другого такого языка, который бы так же стимулировал к программированию. Создается впечатление, что остальные языки программирования воздвигают искусственные препятствия для творчества, а Си – нет. Использование этого языка позволяет сократить затраты времени на создание работающих программ. Си позволяет программировать быстро, эффективно и предсказуемо. Еще одно преимущество Си заключается в том, что он позволяет использовать все возможности вашей ЭВМ. Этот язык создан программистом для использования другими программистами, чего о других языках программирования сказать нельзя. Однако, язык Си предъявляет достаточно большое требование к квалификации использующего его специалиста. При изучении Си желательно иметь представление о структуре и работе компьютера. Большую помощь и более глубокое понимание идей Си, как языка системного программирования, обеспечат хотя бы начальное знание языка ассемблер. Уровень качества некоторых операторов не является общепринятым, некоторые синтаксические конструкции могли бы быть более совершенными. Тем не менее, как оказалось Си – чрезвычайно эффективный и выразительный язык, пригодный для широкого класса задач. Таким образом, язык программирования Си является ЯВУ, но заточенным для системного программирования. Он не только дает возможность быстрого доступа к низкоуровневым свойствам техники и ОС, но, что самое интересное и нужное - после компиляции даёт очень компактный машинный код. Это высококлассный инструмент для программистов-практиков.
Язык программирования Паскаль был разработан профессором кафедры вычислительной техники Швейцарского Федерального института технологии Николасом Виртом в 1968 году как замена существующих и все усложняющихся языкам программирования, таким, как PL/1, Algol, Fortran. Интенсивное развитие Паскаля привело к появлению уже в 1973 году его стандарта в виде пересмотренного сообщения, а число трансляторов с этого языка в 1979 году перевалило за 80. В начале 80-х годов Паскаль еще более упрочил свои позиции с появлением трансляторов MS-Pascal и Turbo-Pascal для ПЭВМ. С этого времени Паскаль становится одним из наиболее важных и широко используемых языков программирования. Существенно то, что язык давно вышел за рамки академического и узко профессионального интереса и используется в большинстве университетов высокоразвитых стран не только как рабочий инструмент пользователя. Важнейшей особенностью Паскаля является воплощенная идея структурного программирования. Другой существенной особенностью является концепция структуры данных как одного из фундаментальных понятий.
Язык программирования высокого уровня Ада назван в часть Августы Ады Байрон, графини и английского лорда . Она ассистентом, и Чарльза , математика изобретателя машины, аналитической . С Ч. в 1830 . она практически программу аналитической для чисел . Поэтому можно первым мире на машине.
Ада в в 1975 - 1980 в грандиозного , предпринятого Обороны с разработать язык для называемых систем ( управления комплексами, в времени). в прежде бортовые управления объектами (, самолетами, , ракетами, и . п.). решения, авторами не считать .Я Ада в международного языковых проходящего 1978-1979 годах. должны удовлетворить жестким, разработанным . Интересно, все , дошедшие последних этого , были на . В связи можно охарактеризовать Паскаль, с перечисленных требований. этом пошли основном пути Паскаля элементами. результате существенно сложный .
Можно , что языка начинается 1980 году, Никлаус , один выдающихся по информации, большинству по технике основном создатель Паскаль, описание языка , названного Модула. отличие Паскаля, был замыслу для программирования, с самого начала представлял собой язык для профессиональных системных программистов, продолжая лучшие традиции своего предшественника и обогащая их новыми идеями, соответствующих таким требованиям к языкам программирования, как структурность, модульность и способность к расширению.
Как и множество других языков программирования, Модула подвергалась эволюции, во время которой ее первоначальное название было переделано в имя Модула-2. Одновременно с развитием языка Модула для него создавались новые компиляторы, однако, ни один из них не мог соперничать с лучшими реализациями языков Паскаль и Си, например, разработанных фирмой Борланд. В этот переходный для языка Модула период лучшей считалась реализация фирмы Logitech, которая по своим характеристикам проигрывала Турбо Паскалю и Турбо Си. Только в 1988 году после появления на американском рынке системы Top Speed, Модула-2 заняла достойное место среди процедурных языков, предназначенных для системного программирования.
Оберон — язык программирования высокого уровня, разработанный Никлаусом Виртом, для исполнения программ, исполняемых в одноимённой операционной системе, авторами которой являются Никлаус Вирт и Юрг Гуткнехт (1986—1989 годы). Основой для Оберона послужил язык Модула-2. Первоначально систему хотели писать на самой Модуле, но увидели, что её надо доработать и сократить, что и привело к появлению Оберона. Целью проекта было создание с нуля обозримой и надежной операционной системы для персонального компьютера.
-
Программирование ЭВМ четвертого поколения.
Четвертое поколение - вычислительные машины на сверхбольших интегральных схемах (с 1980 гг.) Персональные компьютеры - PC XT (1983 г.). PC AT (1984 г.) фирмы IBM. Персональные компьютеры фирмы «Apple Computer», первыми создателями которых стали американские инженеры Стив Возняк и Стив Джобс. В качестве языков программирования в ЭВМ четвертого поколения используются объектноориентированные языки (Delphi, Си++ и др.)
Языки этого поколения создавались для решения задач в строго определённой предметной области, и их синтаксис наиболее приближен к языку понятному человеку. Примером этих языком могут послужить SQL, XUL, FoxPro, PowerBuilder и др. Языки четвёртого поколения часто сравнивают с предметно-ориентированными языками программирования (domain-specific language, DSL). Эти языки облегчают разработку приложений в той или иной предметной области, но но программы всё ещё реализуются в рамках определенных компьютерных систем. Поэтому их можно классифицировать, как языки уровня компьютерной системы, но с более дружелюбным синтаксисом.
-
Языки программирования 5 поколения
Пятого поколения языков программирования пока не существует[7].
Производители пропроиетарних программных продуктов часто пытаются приписать своим продуктам какие маркетинговые особенности, и порой указывают что их продукт - это «язык пятого поколения». В действительности, все эти продукты - это просто среды для ускоренного создания продуктов (Rapid Application Development - RAD), и используют языки третьего и четвертого поколений.
Речь пятого поколения вытеснит ли существенно потеснит языка третьего (напр. Java) и четвертого поколения (например SQL) за счет значительно увеличенной производительности труда программиста - в 10-1000 раз. По прогнозам, 5GL будет оперировать мета-мета-данными.
Сейчас существует единственный язык, который работает с мета-мета-данными, - это язык команд менеджеров пакетов или менеджеров зависимостей, таких как apt, yum, smart, maven, cpan и другие. Они оперируют над метаданными о метаданных о данных в пакетах. Использование apt-get, yum и smart действительно чрезвычайно повысило производительность системных администраторов - примерно в 1000-и дело. Использование менеджеров зависимостей, таких как maven, cpan, rakudo, pim, easy_install, действительно значительно повысило производительность программистов, примерно в 10-ть раз. К сожалению, эти языки являются языками командной строки и не являются языками программирования.
Заключение
В данной курсовой работе были рассмотрены основные этапы развития программирования в России, были затронуты зарубежные истоки создания некоторых разработок и программ, которые активно внедрялись в России.
Анализируя выше написанный текст, мы можем проследить закономерность между техническим развитием ЭВМ и языком программирования. Чем технически сложнее были устроены машины, тем более усовершенствованным становился язык.
Поскольку целью данной работы являлось рассмотрение основных этапов развития, которые позволили спустя годы обычным пользователям, независимо от пола и возраста использовать современные электронно-вычислительные машины, такие как: планшет, телефон, пк, ноутбук и вместе с ними программное обеспечение и системы, которые мы используем в повседневной жизни или на работе, такие как: MS OFFICE, 1С, PAINT, WINDOWS, WINrar, GOOGLE, YANDEX, игры, скан отпечатка пальца на телефоне и др. Все эти программы привычные нам в использовании, практически любой человек с ними знаком. Все эти программы написанные с использованием современных языков программирования, корни которых находятся у истоков первых языков программирования, которые в свою очередь пришли на смену обычному машинному коду.
Подытожим всё вышесказанное в кратком обзоре истории программирования в России. История развития программирования делится на 5 основных этапов, которые в свою очередь совпадают по временным рамкам с пятью этапами развития ЭВМ:
- Языки программирования первого поколения
- Языки программирования второго поколения
- Языки программирования третьего поколения
- Языки программирования четвёртого поколения
- Языки программирования пятого поколения.
К языкам программирования 1 поколения относится примитивный машинный код, который состоит из системы команд и методах кодирования информации.
К языкам программирования 2 поколения относятся алгоритмические языки программирования ассемблеры и более сложного уровня:
- Паскаль
- Кобол
- Бейсик.
К языкам программирования 3 поколения относятся процедурные языки высокого уровня, такие как
- АДА
- Fortran
- PL-1
- Basic
- Pascal
- APL
- Симула
- Алгол
- Кобол
- Оберон
- Модула 1
- Модула 2
- Модула 3.
К языкам программирования 4 поколения относятся уже объектно-ориентированные языки, такие как
- Delphi
- Си++
- ActionScript
- Ada
- C#
- Cyclone
- D
- Dylan
- Eiffel
- F#
- Io
- Java
- JavaScript
- JScript .NET
- Object Pascal
- Objective-C
- Perl
- PHP [12]
- PowerBuilder
- Python
- Ruby
- Scala
- Simula
- Smalltalk
- Swift
- VB.NET
- Visual DataFlex
- Xbase
- X и др.