Автор работы: Пользователь скрыл имя, 24 Декабря 2011 в 08:20, доклад
Программирование как направление деятельности человека возникло одновременно с появлением первых вычислительных машин. Поэтому историю развития программирования нужно рассматривать параллельно с историей развития самих компьютеров. Ведь что у «программиста» эпохи фон Неймана, что у его сегодняшнего современника основная цель – подчинить машину желаниям человека, заставить ее выполнять нужные человеку действия. С течением времени разнились, менялись, эволюционировали только лишь способы достижения этой цели. Слово «компьютер» означает «вычислитель», т.е. устройство для вычислений. Потребность в вычислениях появилась у людей очень давно. Сначала использовали подручные средства такие, как счетные палочки или камешки, затем – более технологичные «устройства», например, счеты. Постепенно, с ростом технологического уровня цивилизации, росла и сложность таких устройств, и их вычислительная мощность.
Введение
Программирование
как направление деятельности человека
возникло одновременно с появлением
первых вычислительных машин. Поэтому
историю развития программирования
нужно рассматривать
Слово «компьютер» означает «вычислитель»,
т.е. устройство для вычислений. Потребность
в вычислениях появилась у людей очень
давно. Сначала использовали подручные
средства такие, как счетные палочки или
камешки, затем – более технологичные
«устройства», например, счеты. Постепенно,
с ростом технологического уровня цивилизации,
росла и сложность таких устройств, и их
вычислительная мощность.
В
1642 г. Блез Паскаль изобрел устройство,
механически выполняющее
Пионером компьютеростроения можно считать английского математика и ученого Чарльза Бэббиджа. Именно он в первой половине XIX века изобрел Аналитическую машину – универсальное вычислительное устройство . Она работала без участия человека. Инструкции в нее подавались при помощи перфокарт – карт из плотной бумаги с информацией, наносимой с помощью отверстий. Также у Аналитической машины имелся «склад» для запоминания данных и промежуточных результатов.
Бэббидж не смог до конца завершить свою машину из-за ее сложности для техники того времени, однако выдвинутая им идея программного управления работой вычислительной машиной не была забыта. Спустя столетие она была использована сначала Конрадом Цузе (1941 г.) при создании аналога вычислительной машины Бэббиджа, чуть позже, в 1943 г., Говардом Эйкеном при создании машины «Марк-1», а затем и идеологом современного компьютеростроения, Джоном фон Нейманом.
Как видим, до 1940-х годов программирование, если о нем вообще можно так сказать, было очень тяжелой, кропотливой работой. Вспомним артиллериста-счетчика. Да и сами машины еще были чем-то вроде прототипов, изобретениями отдельных людей. Еще не были сформированы основные принципы ЭВМ и не были достаточно развиты технологии. Однако основные идеи уже витали в воздухе.
І. Основные этапы развития ЭВМ
Развитие ЭВМ определяется развитием электроники, появлением новых элементов и принципов действия, т.е. развитием элементной базы.
В настоящее время насчитывается четыре поколения ЭВМ. Поколение ЭВМ – это все типы и модели ЭВМ, разработанные различными конструкторскими коллективами, но построенные на одних и тех же научных и технических принципах. Появление каждого нового поколения определялось тем, что появлялись новые электронные элементы, технология изготовления которых принципиально отличилась от предыдущего поколения. Ниже приводятся характеристики этапов, каждому из которых соответствовало определенное поколение ЭВМ.
1.1 этап (1940-е – середина 50-х)
Точкой, с которой обычно начинают отсчитывать этапы развития ЭВМ, является Вторая Мировая Война. Как это часто бывает, война, с ее ужасами и бедами, тем не менее, послужила катализатором в развитии многих технологий. Потребность в автоматизации вычислений (баллистики, криптографии и т.д.) была так велика, что над созданием машин типа построенных Эйкеном и Цузе трудились одновременно сразу несколько групп исследователей.
Начиная с 1943 г. группа специалистов под руководством Джона Мосли и Пресперта Экерта в США начала конструировать ЭВМ на основе электронно-вакуумных ламп. Предыдущие же модели типа эйкеновской основывались на реле. Как результат, созданная ими машина ENIAC (1946 г.) работала в 1000 раз быстрее, чем Марк-1. Однако перед вычислениями машину приходилось долго готовить, на это уходило от нескольких часов до нескольких дней. Для упрощения процесса задания программ решено было сконструировать новую машину, которая могла бы хранить программу в своей памяти.
В процессе создания ENIAC в 1945 году к работе был привлечен известный американский математик Джон фон Нейман, который вскоре сумел сформулировать пять основных принципов функционирования универсальных вычислительных устройств:
1. Любую ЭВМ образуют: арифметико-логическое устройство, выполняющее арифметические и логические операции;
b. устройство
управления, «дирижирующее» операциями;
c. запоминающее устройство, или память
для хранения программ и данных;
d. внешние устройства ввода-вывода информации.
2. ЭВМ работает в двоичной системе счисления;
3. Принцип
программного управления: устройство
управления автоматически
4. Принцип однородности памяти: программы и данные хранятся в одной и той же памяти. Над командами программы можно выполнять те же действия, что и над данными.
5. Принцип адресности: каждая ячейка памяти имеет свой адрес (номер).
На
этих принципах, как на фундаменте,
основывались в дальнейшем все последующие
поколения машин. Обратим, в частности,
внимание на третий пункт, принцип программного
управления. Именно из этого принципа
вытекает определение программы
в ее классическом понимании –
как последовательного набора команд,
выполняемых процессором. Отсюда возникает
и необходимость в подготовке
специально обученных людей, которые
бы знали, какие команды и в
какой последовательности нужно
применять для решения
Первая отечественная ЭВМ – МЭСМ (малая электронная счетная машина) была создана в 1951 г. под руководством академика С. А. Лебедева.
Для первых ЭВМ, созданных по принципам фон Неймана, например, машины Мориса Уилкса (1949 г.) программы приходилось писать на машинном языке, то есть в кодах, непосредственно воспринимаемых компьютером. Это, конечно, было гораздо лучше и быстрее, чем работа артиллериста-счетчика, но все же еще оставалось очень тяжелым, малопроизводительным и кропотливым занятием, в ходе которого легко было ошибиться . По сути, программы представляли собой кодированный набор цифр, в котором человеку несведущему разобраться было невозможно в принципе, да и профессионалам приходилось попотеть.
Решением стало изобретение т.н. ассемблеров, или автокодов. Ассемблеры – языки символического кодирования . Для каждого типа ЭВМ существует свой язык символического кодирования, так как его структура, обозначения, операции и т.д. определяются структурой конкретной ЭВМ.
Ассемблеры недалеко шагнули от машинных команд: просто вместо непонятных кодов стали использоваться мнемонические (легко запоминаемые) обозначения. Например, если 07FF – команда сложения на машинном языке, то в ассемблере она представляется мнемокодом ADD. Вследствие этого, программы на ассемблере очень легко переводятся в машинные коды при помощи специальной программы, называемой также ассемблером, и занимают крайне мало места (в единицах памяти, но не по размеру самого текста программы). Они обеспечивают большое быстродействие и наиболее полно учитывают особенности компьютера.
Тем не менее, писать программы на ассемблере – дело далеко не тривиальное, так как отсутствует наглядность программы, есть большая вероятность сделать ошибку, нужно хорошо знать и представлять структуру компьютера, взаимосвязь его блоков и элементов. Вот почему, даже несмотря на его плюсы, большинство программистов вместо ассемблера предпочитают использовать языки высокого уровня.
Подводя
итог: программирование на данном этапе
– трудоемкий процесс, диктующий
необходимость знания всех команд ЭВМ
и ее структуры, с непосредственной
работой математика-
II этап (середина 50-х – середина 60-х)
В 1948 г. был изобретен транзистор. К середине 50-х были найдены очень дешевые способы производства транзисторов, а во второй половине 50-х появились первые транзисторные ЭВМ. Они были в сотни раз меньше ламповых при той же производительности. Первой из них считается модель RCA-501 (1959 г., США).
К середине 60-х появились и более компактные версии внешних устройств. Все это позволило 1965 г. фирме Digital Equipment выпустить первый мини-компьютер PDP-8. Он поступил в продажу по цене в 20 тыс. долларов. Правда, размером он был с холодильник, но по сравнению со шкафами и даже комнатами, занимаемыми ламповыми ЭВМ, смотрелся довольно привлекательно.
В
СССР к этому поколению относятся
серии «Минск» и БЭСМ, наиболее
совершенная из них – БЭСМ-6.
На этом этапе были созданы и более совершенные языки программирования, т.н. языки высокого уровня (ЯВУ). Такой язык – это набор символов и терминов, который в соответствии с правилами синтаксиса описывает алгоритм решения задачи. Своими конструкциями и правилами написания этот язык, с одной стороны, близок к математическому выражению задачи, а с другой стороны, содержит такие выражения, которые близки к естественному языку, чаще всего английскому. Программы, написанные на таких языках, либо преобразуются в машинные команды (это делается с помощью специальных программ, называемых трансляторами или компиляторами) или выполняются построчно (интерпретируются) при помощи программ-интерпретаторов.
Первый коммерчески используемый язык программирования высокого уровня FORTRAN (FORmula TRANslator – транслятор формул) был разработан в 1958 г. фирмой IBM под руководством Джона Бэкуса. Он предназначен, прежде всего, для научных вычислений и очень близок по форме к записи математических формул. У Фортрана есть один существенный недостаток: он не обеспечивает надежности программирования (защиты от ошибок) из-за своей громоздкости и несовершенства логических возможностей.
Другим ЯВУ стал Алгол-60 (ALGOrithmic Language – алгоритмический язык), который появился в 1960 г. Это более совершенный язык, чем Фортран; он обладает большей гибкостью при проектировании программ, обеспечивает более высокую надежность программирования.
В основном использовался в советских ЭВМ. Именно после создания Алгола началось бурное развитие языков программирования. Также заслуживающим внимания языком стал разработанный в конце 50-х годов LISP (LISt Processing – обработка списков). Он используется и по сей день для программирования в области искусственного интеллекта.
Языки высокого уровня позволили значительно упростить процесс написания программ, так как они ориентированы на удобство описания решаемых с их помощью задач, а не на особенности конкретного компьютера. Разумеется, для каждой программы на языке высокого уровня программист может написать более компактную и быстродействующую программу на ассемблере, но из-за трудоемкости процесса обычно игра не стоит свеч.
Языки
высокого уровня и на сегодняшний
момент являются основными инструментами,
при помощи которых программисты
составляют программы. Тогда же, из-за
введения понятия ЯВУ, машинно-ориентированные
языки (ассемблеры) стали называть языками
низкого уровня. Итог: появились
более совершенные
III этап (середина 60-х – середина 70-х)
На предыдущем этапе развития ЭВМ транзисторы изготовлялись по отдельности, и при сборке их приходилось соединять и спаивать вручную. В 1958 г. Джек Килби придумал, как на одной пластине полупроводника получить несколько транзисторов. В 1959 г. Роберт Нойс (будущий основатель фирмы Intel) изобрел более совершенный метод, позволивший создавать на одной пластине и транзисторы, и все необходимые соединения между ними. Полученные электронные схемы стали именоваться интегральными схемами, или чипами. Первая ЭВМ, созданная на чипах – результат работы американской фирмы IBM, IBM-360 (1965 г.). В СССР в данное поколение вошли семейства машин ЕС (1022, 1035, 1060) и СМ (2, 3, 4, 1420).
Информация о работе Технология программирования и основные этапы ее развития