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

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

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

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

Добавлен: 15.05.2023

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

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

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

Профессиональное программирование вышло на уровень техно­логии. Методы разработки ПО синтезируют:

• методы инженерных расчетов для оценки затрат и выбора ре­шений;

• математические методы для составления алгоритмов;

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

Взамен структурного программирования в начале 1990-х гг. пришло объектно-ориентированное программирование — ООП. Его можно расценивать как модульное программирование нового уровня, когда вместо во многом случайного, механического объединения процедур и данных главным становится их смысловая связь. Объект рассматривается как логическая единица, которая включает в себя данные и правила (методы) их обработки. Объектно-ориентированный язык создает «программное окружение» в виде множества независимых объектов, каждый из которых отличается своими свойствами и способами взаимодействия с другими объектами. Программист задает совокупность операций, описывая структуру обмена сообщениями между объектами. Как правило, он «не заглядывает» внутрь объектов, но при необходимости может изменять элементы внутри объектов или формировать новые.

ООП базируется на трех основных принципах (инкапсуляция, наследование, полиморфизм), придающих объектам новые свойства. Инкапсуляция — это соединение в одно целое данных и алгоритмов их обработки. Здесь данные — это поля объекта, а алгоритмы — объектные методы. Наследование — свойство объектов порождать своих потомков. Объект-потомок автоматически наследует все поля и методы, способен дополнять объекты новыми полями, заменять и дополнять методы. Полиморфизм — свойство родственных объектов решать похожие по смыслу проблемы различными методами.

Идея применения программных объектов изучалась на протяжении нескольких лет разными учеными. Одним из первых языков данного типа считают Simula-67. А в 1972 г. появился язык Smoltalk, созданный Аланом Кеем, утвердивший статус ООП.

На современном этапе развиваются инструментальные среды и системы визуального программирования для создания программ на языках высокого уровня: (Turbo Pascal, Delphi, Visual Basic, C++Builder и др.).

Развитие главных принципов объектно-ориентированного программирования пошло с появлением компонентного программирования (КП). КП — это динамический процесс без жестких правил, совершающийся в основном с целью распределенной разработки (программирования) распределенных систем. Суть КП состоит в том, что независимые проектировщики и программисты разрабатывают самостоятельные компоненты (отдельные части) единой системы, распределенные по множеству узлов большой сети. Эти части могут принадлежать раз­ным собственникам и управляться организационно независимыми администраторами.


В КП компонент рассматривается как хранилище (в виде DLL-или ЕХЕ файлов) для одного либо нескольких классов. Классы рас­пространяются в бинарном виде, а не в виде исходного кода. Пре­доставление доступа к методам класса осуществляется через строго определенные интерфейсы по протоколу. Это решает проблему несовместимости компиляторов, обеспечивая без перекомпиляции смену версий классов в разных приложениях. Интерфейсы задают содержание сервиса и являются посредником между клиентом и сервером.

Фирма Microsoft создала технологии для распределенной разра­ботки распределенных систем, таких как COM (Component Object Model), COM+, .NET. Разработаны также другие технологии: CORBA (консорциума OMG), JAVA (компании Sun Microsystem) и др.

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

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

В конце 1980-х гг. в Японии и США появились проекты ЭВМ V поколения, реализованные в конце 1990-х гг. Развитие в програм­мировании связано с прогрессом в архитектуре вычислительных сис­тем, отходом от фоннеймановской концепции, с достижениями в области искусственного интеллекта. Революционные изменения в элементной базе ЭВМ связываются с исследованиями по биоэлектронике.

На современном этапе программирование включает комплекс вопросов, связанных с написанием спецификаций (условий задач), проектированием, кодированием, тестированием и функционирова­нием программ для ЭВМ. Современное ПО для ЭВМ имеет слож­ную структуру и включает, как правило, ОС, трансляторы с различ­ных языков, текстовые программы контроля и диагностики, набор обслуживающих программ. Например, японские ученые для проек­тирования систем ПО разрабатывают идею «кольцевой структуры» шести уровней: 1-й (внутренний) — программы для аппаратуры; 2-й — ядро ОС; 3-й — программы сопряжения; 4-й — часть ОС, ориентированная на пользователя; 5-й — системы программирования; 6-й (внешний) — программы пользователя.


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

Широкое применение структурных и объектно-ориентирован­ных методов программирования с использованием графических моделей объединялось отсутствием инструментальных средств. Это по­родило необходимость в программно-технологических средствах спе­циального класса — CASE (Computer Aided Software Engineering), реализующих технологию создания и сопровождения ПО различных систем. Предпосылки для появления CASE-технологий появились к концу 1980-х гг. Изначально термин «CASE» применялся только к вопросам автоматизации разработки ПО, сейчас программная инженерия имеет более широкое значение для разработки систем в целом. В CASE-технологии входит разработка и внедрение языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описания системных требований.

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

В начале этого столетия текстовые процессоры стали более совершенными. Наряду с более простыми (например, Professional Write и др.) появились такие мощные, как MS WinWord (см. рис. 21), WordPerfect WordStar 2000 и др. Из отечественных широкое распро­странение получил текстовый процессор Лексикон.

В начале 1980-х гг. для подготовки и обработки числовой ин­формации стали применяться табличные процессоры. В 1979 г. Д. Брикклин предложил первую программу для работы с электрон­ными таблицами VisiCalc. В 1981 г. была разработана система SuperCalc компании «Computer Associates», в 1982 г. — Multiplan фир­мы «Microsoft», затем — пакет для IBM PC Lotusl-2-3 фирмы «Lotus Development», русифицированные пакеты АБАК, ДРАКОН и др. В 1985 г. появился табличный процессор Excel фирмы «Microsoft» изначально для персонального компьютера Macintosh, а затем уже для совместимых с IBM PC. Данный процессор разрабатывался одновременно с ОС Windows, его версии вобрали в себя все черты графиче­ского интерфейса, вплоть до версий Excel 5.0 как приложения Windows 3.1, Excel 7.0 как приложения Windows 95 и т. д. В послед­ние годы разработано достаточное количество систем подготовки табличных документов, т. е. электронных таблиц, табличных процессоров (например, Corel Quattro 6.0 фирмы «Corel Co», Lotus 5.0 фирмы «Lotus Development Co», Office Proftessional for Windows фирмы «Microsoft» и другие). Однако наибольшую популярность имеют электронные табли­цы Excel.


Было создано множество стандартных реляционных систем управления базами данных — СУБД (таких, как: MS Access, paradox и др.), на основе которых строят реляционные базы данных в различных предметных областях.

Для многих организаций (в особенности, управленческих) разработа­ны так называемые офисные пакеты, в которых на основе единой ОС функционируют приложения, включающие в себя системы для работы с различными видами информации. Так, созданы па­кеты приложений к ОС Windows (MS Office, WordPerfect Office фир­мы «Corel», StarOffice фирмы «SunMicrosystems» и др.), которые включают программные средства для выполнения функций обработ­ки всех видов информации. Например, приложение MS Office включает совершенствующиеся год от года (в зависимости от последней версии ОС Windows) средства обработки текста (MS Word), графики (Photo Draw) и презентаций (PowerPoint), таблиц (Excel), баз данных (Access), электронной почты (Outlook), работы во Всемирной паути­не (FrontPage), создания звуковых клипов (MS Sound Recorder).

Большим прогрессом в развитии новых направлений в программи­ровании стало объединение компьютерных и телекоммуника­ционных технологий. За рубежом в 1960-х гг. появились первые вычислительные сети, с которых начался технический и технологический переворот, т. к. была предпринята попытка объединить технологию сбора, хране­ния, передачи и обработки информации на ЭВМ с техникой связи. В Европе в те годы были созданы международные сети EIN и Евро-нет, далее появились национальные сети. В 1972 г. в Вене была соз­дана сеть МИПСА, к которой присоединились в 1979 г. 17 стран Европы, СССР, США, Канада и Япония. В 1980-х гг. в России была создана система телеобработки статистической информа­ции, обслуживающая государственные и республиканские органы статистики. С 1980-х гг. развивается программирование для локаль­ных вычислительных сетей (ЛВС).

ЛВС — это коммуникационная система, которая поддерживает в пределах одного здания либо некоторой ограниченной территории один или несколько высокоскоростных каналов передачи информа­ции, предоставляемых абонентским системам для кратковременного пользования. К 1990 г. эксплуатировалось более 0,5 млн серверов и 5 млн рабочих станций, работающих под управлением сетевых ОС (например, NetWare фирмы «Novell»).

Глобальные вычислительные сети — это сети, использующие информационные ресурсы ЛВС, находящихся на большом рас­стоянии друг от друга (передача осуществляется посредством теле­фонной сети через модемы или по выделенным каналам). Самой популярной является сеть Интернет, представляющая собой обще­мировую совокупность сетей и связывающая между собой миллионы компьютеров.


Сети позволили эффективно применять аппаратные средства, программные средства и такие многопользовательские системы, как электронная почта, информационные системы на основе баз дан­ных, телеконференции и др. Особенно популярна сис­тема WWW (World Wide Web) — Всемирная паутина, т. е. всемирная распределенная база гипертекстовых документов. Пользователи, ис­пользуя для программирования язык гипертекстовой разметки HTML, создают собственные сайты на любую тему и легко получают различную информацию, общаются с миллионами пользовате­лей компьютеров. В перспективе планируется глобальное использование так называемых информационных роботов (Knowbot) — новых сис­тем поиска и обработки информации в сети, в основе которых име­ются уже элементы экспертных систем, позволяющих анализиро­вать нужную информацию и готовить ее для выдачи в форме пре­зентаций.

С Интернетом тесно связаны такие понятия, как «киберпространство» и «виртуальная реальность». Киберпространством называют совокупность всех систем компьютерных коммуникаций и потоков информации, циркулирующих в мировых сетях. Виртуальная реальность — фантастический мир, создаваемый на экране компьютера, образы реального мира и процессов, в нем происходящих. С такими объек­тами и процессами можно работать как с реальными, проводить различные исследования, моделировать различные ситуации, создавать прекрасные тренажеры с целью использования приобретенных на­выков в действительности. Поле деятельности для программистов огром­ное, поэтому общество заинтересовано в высококвалифицирован­ных специалистах данного профиля.

Развитие программирования в СССР и России

2.1 История становления программирования

Первые работы в области электронной вычислительной техники в СССР начались к 1946 г., когда в Киеве академик АН УССР С. А. Лебедев начал проводить инициативные исследования по созданию электронных вычислительных машин и программ.

Лебедев Сергей Алексеевич

В 1945 г. С. А. Лебедев создал первую в стране электронную аналоговую вычислительную машину для решения систем обыкновенных дифференциальных уравнений, которые зачастую встречаются в задачах, связанных с энергетикой.