Файл: История развития программирования в России (Развитие программирования в СССР и России).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 г. С. А. Лебедев создал первую в стране электронную аналоговую вычислительную машину для решения систем обыкновенных дифференциальных уравнений, которые зачастую встречаются в задачах, связанных с энергетикой.