Технологии программирования играло разную роль на разных этапах
развития программирования. По мере повышения мощности компьютеров и
развития средств и методологии программирования росла и сложность
решаемых на компьютерах задач, что привело к повышенному вниманию к
технологии программирования. Резкое удешевление стоимости
компьютеров и, в особенности, стоимости хранения информации на
компьютерных носителях привело к широкому внедрению компьютеров
практически во все сферы человеческой деятельности, что существенно
изменило направленность технологии программирования. Человеческий
фактор стал играть в ней решающую роль. Сформировалось достаточно
глубокое понятие качества ПС, в котором акценты стали ставится не
столько на его эффективности, сколько на удобстве работы с ним для
пользователей (не говоря уже о его надежности). Широкое
использование компьютерных сетей привело к интенсивному развитию
распределенных вычислений, дистанционного доступа к информации и
электронного способа обмена сообщениями между людьми. Компьютерная
техника из средства решения отдельных задач все более превращается
в средство информационного моделирования реального и мыслимого
мира, способное просто отвечать людям на интересующие их вопросы.
Начинается этап глубокой и полной информатизации (компьютеризации)
человеческого общества. Все это ставит перед технологией
программирования новые и достаточно трудные проблемы.
Сделаем краткую характеристику развития программирования по
десятилетиям.
В 50-е годы мощность компьютеров была невелика (компьютеры первого
поколения), а программирование для них велось, в основном, в
машинном коде. Решались в главным образом научно-технические задачи
(счет по формулам), задание на программирование уже содержало, как
правило, достаточно точную постановку задачи. Использовалась
интуитивная технология программирования: почти сразу приступали к
составлению программы по заданию, при этом часто задание несколько
раз изменялось (что сильно увеличивало время и без того
итерационного процесса составления программы), минимальная
документация оформлялась уже после того, как программа начинала
работать. Тем не менее именно в этот период родилась
фундаментальная для технологии программирования концепция
модульного программирования [1.10] (для преодоления трудностей
программирования в машинном коде). Появились первые языки
программирования высокого уровня, из которых только ФОРТРАН
пробился для использования в следующие десятилетия.
В 60-е годы можно было наблюдать бурное развитие и широкое
использование языков программирования высокого уровня (АЛГОЛ 60,
ФОРТРАН, КОБОЛ и др.), роль которых в технологии программирования
явно преувеличивалась. Надежда на то, что эти языки решат все
проблемы при разработки больших программ, не оправдалась.
В
результате повышения мощности компьютеров и накопления опыта
программирования на языках высокого уровня быстро росла сложность
решаемых на компьютерах задач, в результате чего обнаружилась
ограниченность языков, проигнорировавших модульную организацию
программ. И только ФОРТРАН, бережно сохранивший возможность
модульного программирования, гордо прошествовал в следующие
десятилетия (все его ругали, но его пользователи отказаться от его
услуг не могли из-за грандиозного накопления фонда программных
модулей, которые с успехом использовались в новых программах).
Кроме того, было понято, что важно не только то, на каком языке мы
программируем, но и то, как мы программируем [1.4]. Это было уже
началом серьезных размышлений над методологией и технологией
программирования. Появление в компьютерах 2-го поколения прерываний
привело к развитию мультипрограммирования и созданию больших
программных систем. Последнее стало возможным с использования
коллективной разработки, которая поставила ряд серьезных
технологических проблем [1.11].
В 70-е годы получили широкое распространение информационные системы
и базы данных. Этому способствовало очень важное событие,
происшедшее в середине 70-ых годов: стоимость хранения одного бита
информации на компьютерных носителях стала меньше, чем на
традиционных. Интенсивно развивалась технология программирования
[1.2, 1.8, 1.12-1.14]: обоснование и широкое внедрение нисходящей
разработки и структурного программирования, развитие абстрактных
типов данных и модульного программирования (в частности,
возникновение идеи разделения спецификации и реализации модулей и
использование модулей, скрывающих структуры данных), исследование
проблем обеспечения надежности и мобильности ПС, создание методики
управления коллективной разработкой ПС, появление инструментальных
программных средств (программных инструментов) поддержки технологии
программирования.
80-е годы характеризуются широким внедрением персональных
компьютеров во все сферы человеческой деятельности и тем самым
созданием обширного и разнообразного контингента пользователей ПС.
Это привело к бурному развитию пользовательских интерфейсов и
созданию четкой концепции качества ПС [1.5, 1.15-1.18]. Появляются
языки программирования (например, Ада), учитывающие требования
технологии программирования [1.19]. Развиваются методы и языки
спецификации ПС [1.20-1.21]. Выходит на передовые позиции объектный
подход к разработке ПС [1.9]. Создаются различные инструментальные
среды разработки и сопровождения ПС [1.3]. Развивается концепция
компьютерных сетей.
90-е годы знаменательны широким охватом всего человеческого
общества международной компьютерной сетью, персональные компьютеры
стали подключаться к ней как терминалы. Это поставило ряд проблем
регулирования доступа к компьютерно-сетевой информации (как
технологического, так и юридического и этического характера). Остро
встала проблема защиты компьютерной информации и передаваемых по
сети сообщений. Стали бурно развиваться компьютерная технология
(CASE-технология) разработки ПС и связанные с ней формальные методы
спецификации программ. Начался решающий этап полной информатизации
и компьютеризации) общества.
Технология программирования и информатизация общества.
74
0
3 минуты
Темы:
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!