Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






История развития и классификация языков программирования.






Сделаем краткую характеристику развития программирования по десятилетиям.

 

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

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

 

В 60-е годы можно было наблюдать бурное развитие и широкое использование языков программирования высокого уровня (АЛГОЛ 60, ФОРТРАН, КОБОЛ и др.), роль которых в технологии программирования явно преувеличивалась. Надежда на то, что эти языки решат все проблемы при разработке больших программ, не оправдалась. В результате повышения мощности компьютеров и накопления опыта программирования на языках высокого уровня быстро росла сложность решаемых на компьютерах задач, в результате чего обнаружилась ограниченность языков, проигнорировавших модульную организацию программ. И только ФОРТРАН, бережно сохранивший возможность модульного программирования, гордо прошествовал в следующие десятилетия (все его ругали, но его пользователи отказаться от его услуг не могли из-за грандиозного накопления фонда программных модулей, которые с успехом использовались в новых программах).

Кроме того, было понято, что важно не только то, на каком языке мы программируем, но и то, как мы программируем. Это было уже началом серьезных размышлений над методологией и технологией программирования. Появление в компьютерах 2-го поколения прерываний привело к развитию мультипрограммирования и созданию больших программных систем.

 

В 70-е годы получили широкое распространение информационные системы и базы данных. Этому способствовало очень важное событие, происшедшее в середине 70-ых годов: стоимость хранения одного бита информации на компьютерных носителях стала меньше, чем на традиционных.

Интенсивно развивалась технология программирования: обоснование и широкое внедрение нисходящей разработки и структурного программирования, развитие абстрактных типов данных и модульного программирования, исследование проблем обеспечения надежности и мобильности программных средств (ПС), создание методики управления коллективной разработкой программных средств, появление инструментальных программных средств (программных инструментов) поддержки технологии программирования.

 

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

 

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

5. Технологии программирования: модульное, структурное, объектно-ориентированное и визуальное.

 

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

Программирование ‑ процесс создания компьютерных программ.

Программирование включает в себя анализ требований к программе и все стадии ее разработки и реализации: выбор алгоритма, структуры данных, и системы программирования написание (кодирование) программы и подготовка данных; отладка и испытания программы; создание сопровождающей программу документации.

Если алгоритм сложен, то программирование рекомендуется выполнять способом модульного программирования и начинать с составления блок-схемы программы.

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

 

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

 

Модульное программирование – способ разработки программ, при котором программа разбивается на относительно независимые составные части ‑ программные модули. При этом каждый модуль может разрабатываться, программироваться, транслироваться и тестироваться независимо от других. Внутреннее строение модуля для функционирования всей программы, как правило, значения не имеет. При модификации алгоритма, реализуемого модулем, структура программы не должна меняться.

Модуль – часть какой-либо хорошо структурированной системы, выполняющая четко определенные функции.

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

 

Структурное программирование направлено на создание логически простых и понятных программ. Программа представляется в виде иерархической структуры блоков.

В соответствии с методологией структурного программирования:

Ø любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

1. Последовательное исполнение (однократное выполнение операций в том порядке, в котором они записаны в тексте программы);

2. Ветвление (однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия);

3. Цикл (многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие).

Ø повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм(процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.

Ø разработка программы ведётся пошагово, методом «сверху вниз».

 

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

После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы.

 

 

В объектно-ориентированном программировании основными концепциями являются понятия объектов и классов.

Циклы, ветвления, функции ‑ все это элементы так называемого структурного программирования. Для написания небольших программ возможностей структурного программирования обычно достаточно. Однако крупные проекты, работу над которыми ведут группы людей, намного рациональней выполнять используя объектно-ориентированное программирование.

Пример: группа на занятии. Это система, состоящая из таких объектов как слушатели, лектор, столы, компьютеры, проектор и др. У этой системы можно выделить основную цель ‑ увеличение доли знаний детей на некую величину. Чтобы добиться этого, объекты системы должны определенным образом выполнить взаимодействие между собой.

Пример с занятием ‑ это своего рода программа. Допустим, что какому-то «глобальному программисту» нужно было, чтобы на планете люди обладали обширными знаниями. Для этого он придумал специальную программу, которая вбирает на входе людей с N-количеством знаний, а на выходе возвращает с N+1(возможно чуть меньше-больше)-количеством знаний. Он наделил определенными способностями объекты этой системы, чтобы можно было добиться результата.

Так, грубо говоря, «объекты-слушатели» способны воспринимать информацию, «объект-лектор» ‑ ее транслировать, «объекты-предметы» помогать воспринимать и транслировать. Несмотря на то, что все ученики так или иначе способны воспринимать информацию, они различны по своим свойствам (по скорости и объему восприятия, способам обработки знаний и т.п.). Выполнение программы может происходить примерно таким образом: «объект-лектор», используя «объект-доска», «объект-компьютер», «объекты-картинки», передает информацию «объектам-слушателям». Те в свою очередь принимают информацию и изменяют свои свойства (допустим, количество знаний в голове). На выходе мы получаем «объектов-слушателей» с новыми свойствами.

 

Визуальное программирование ‑ программирование, предусматривающее создание приложений с помощью наглядных средств. Программы для ЭВМ создаются преимущественно путём манипулирования графическими объектами вместо написания её текста.

Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:

‑ языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;

‑ языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств.

‑ языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.