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

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

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

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

Добавлен: 04.04.2023

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

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

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

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

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

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

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

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

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


  1. (внутренний) программы для аппаратуры;
  2. ядро ОС;
  3. программы сопряжения;
  4. часть ОС, ориентированная на пользователя;
  5. системы программирования;
  6. (внешний) программы пользователя.

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

2.4. Применение структурных и объектно-ориентированных методов программирования

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

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

В начале этого столетия текстовые процессоры стали более совершенными. Наряду с более простыми (например Professional Write и др.) появились такие мощные, как MS WinWord, 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).

Глава 3. ФАКТОРЫ, ВЛИЯЮЩИЕ НА РАЗВИТИЕ ПРОГРАММИРОВАНИЯ

3.1. Российская индустрия программирования

Согласно оценке консалтинговой компании Brunswick Warburg, в 1999 году объем российского рынка программного обеспечения составлял 560-580 млн. долл. — всего 0,1% от валового национального продукта (при том, что весь ИТ-рынок страны в 2001 году составлял по оценке газеты «Коммерсант» 3,5-4 млрд. долл. при темпах роста 15-20% в год). И все же программирование имеет огромный потенциал. В отчете McKinsey [4] программирование названо самой эффективной и одной из самых быстро растущих отраслей России. По экспертным оценкам, в этой области занято от 50 до 80 тыс. человек. К сожалению, не представляется возможным дать более точную оценку размеров рынка или даже определить явных лидеров в конкретных сегментах рынка, так как на данный момент он достаточно хаотичен и неструктурирован. К тому же, практически все российские компьютерные компании являются закрытыми акционерными обществами и не разглашают точные сведения о своем финансовом состоянии. В данной статье используются цифры из различных опубликованных источников, в особенности из [4-6], хотя в некоторых случаях приводимые оценки значительно различаются.


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

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

Компании, работающие на внутреннем рынке, в основном позиционируются как системные интеграторы, обслуживающие крупные предприятия в платежеспособных отраслях. Есть еще целый ряд компаний, ориентирующихся на мелкий бизнес и индивидуальных покупателей, хотя компьютерное пиратство изрядно подрывает этот рынок. Наконец, многие ориентируются на международный рынок, поскольку заметная ценовая разница по сравнению с западными странами и изобилие талантливых программистов дают России уникальную возможность в области глобального (офшорного) программирования. Эту нишу заполнили сотни компаний, ориентированных на предоставление услуг по аутсорсингу. По оценке компании McKinsey, в 1999 году в российском офшорном программировании было занято от 5 до 8 тыс. профессиональных программистов, а общий объем этого рынка составлял от 60 до 100 млн. долл. при темпах роста от 40 до 60% в год [4]. Правда, российские источники считают, что приведенные цифры сильно занижены. Так, по оценкам компании Market-Visio/EDC, общий доход российского рынка офшорного программирования в 2001 году составил 194 млн. долл. при темпах роста 227% в год.

Международный рынок аутсорсинга отличается жесткой конкуренцией, здесь есть свои общепризнанные лидеры — Индия и Ирландия [7, 8]. В 2000-2001 годах Индия заработала на этом рынке 6,3 млрд. долл. По количественным показателям Россия сегодня отдаленно напоминает Индию в 1990 году.

В последние два-три года компании, специализирующиеся на глобальном программировании стали объединяться в ассоциации, такие, как «Форт-Росс» в Петербурге и «СибАкадемСофт» в Сибири (в процессе создания аналогичная ассоциация в Москве, которая, однако, ничем фактически полезным пока не отличилась). Основной задачей этих ассоциаций стало лоббирование интересов компьютерной индустрии в российском правительстве и маркетинг возможностей отечественных компаний на Западе путем, например, проведения международных конференций типа Software Outrsourcing Summit.Будем надеяться, что такой процесс консолидации сделает российскую индустрию программирования более заметной силой на международном рынке.


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

  1. Motorola открыла лабораторию с небольшой группой программистов в Петербурге в 1993 году, сейчас в ней работает более 200 программистов;
  2. Sun Microsystems начала работать в России более 10 лет назад; на сегодняшний день в Москве и Петербурге работают более 300 сотрудников, принимающих участие в разработке новых продуктов и сопровождении существующих;
  3. Intel открыла свою лабораторию в Нижнем Новгороде в 1993 году; сегодня в этом подразделении работает около 200 программистов, планируется увеличить их число до 500 [9];
  4. SAP при поддержке компании Siemens Business Services развернула в Петербурге подразделение из 40 программистов, численность которых планируется довести до 100.

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

3.2.Центры программирования

В стране исторически сложилось три основных центра программирования: Москва, Петербург и Новосибирск. Среди прочих городов с развитой индустрией программирования следует отметить Нижний Новгород, Екатеринбург, Пермь и Саров.

В Москве сосредоточены основные денежные потоки, а также менеджмент страны и практически всех крупных российских компаний, поэтому многие здешние компьютерные компании ориентированы на внутренний рынок (хотя есть и исключения, например, Luxoft, VDI и Auriga).

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

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