Добавлен: 28.06.2023
Просмотров: 63
Скачиваний: 2
Введение
Актуальность темы: По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам с растущим усложнением программ.
Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.
С развитием компьютерной техники появился машинный язык, с помощью которого программист мог задавать команды, оперируя с ячейками памяти, полностью используя возможности машины. Однако использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Поэтому от его использования пришлось отказаться.
Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать. «Слова» на машинном языке называются инструкции, каждая из которых представляет собой одно элементарное действие для центрального процессора, такое, например, как считывание информации из ячейки памяти.
Общество конца ХХ в. часто называют информационным, а изменения в нем информационной революцией. Благодаря стремительному развитию компьютерных технологий становится реальностью то, что казалось невероятным несколько лет назад - люди разных стран имеют доступ к самой разнообразной информации в любой точке планеты, обмениваются информацией друг с другом и даже общаются в режиме реального времени.
Цель работы: рассмотреть историю программирования России.
В ходе поставленной цели будут решены следующие задачи:
1.выяснить истоки программирования.
2. отметить в клад в становление и развитие программирования отечественных и зарубежных программистов.
3. рассмотреть перспективы развития российского программирования.
Курсовая работа состоит из введения, трех глав, заключения и списка литературы.
Глава 1 История развития программирования в мире
1.1 Родоначальники программирования
Ада Байрон (графиня Ла́влейс) составила первую компьютерную программу и потомки нарекли ее "первой программисткой. Предвосхищая "этапы" компьютерного программирования, Ада Лавлейс, так же как и современные математики, начинает с постановки задачи, затем выбирает метод вычисления, удобный для программирования, и лишь тогда переходит к составлению программы.
Эта программа вызвала восторг Бэббиджа, он не жалел хвалебных слов для её автора, и они были вполне заслуженными. Поддержка и теплые слова укрепляли уверенность Ады и давали ей силы для работы. Успехи давались ей с большим напряжением и не без ущерба для здоровья, на что она неоднократно жалуется в письмах Бэббиджу. Лавлейс хотелось, чтобы эта и последующие работы, о которых она мечтала, могли как-то связываться с ее именем. Поэтому Ада решает под каждым примечанием поставить свои инициалы.
"Примечания" Лавлейс заложили основы современного программирования, базирующегося на тех идеях и принципах, которые были ею высказаны. Одним из важнейших понятий программирования служит понятие цикла. Лавлейс полностью осознала значение цикла — использование циклических вычислительных методов является одним из простейших и эффективнейших методов, облегчающих использование вычисли-тельных машин. Поэтому она уделяет весьма много внимания циклам в своей работе.
Ей принадлежит [1]определение цикла: "Под циклом операций следует понимать любую группу операций, которая повторяется более одного раза". Организация циклов в программе значительно сокращает ее объем. Без такого сокращения практическое использование Аналитической машины было бы нереальным, т. к. она работала с перфокартами, и требовалось бы огромное их количество для каждой решаемой задачи.
Прежде всего, уже в то время Ада Лавлейс отдавала себе полный отчет в колоссальной "широте спектра" возможностей универсальной вычислительной машины. Вместе с тем она очень четко представляла себе границы этих возможностей: "Желательно предостеречь против преувеличения возможностей Аналитической машины. Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое.
Маши на может выполнить все то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы". В 1843 году, когда эти положения высказывались, Ада, конечно, не могла предвидеть, как разовьется и какие формы примет программирование спустя 120 лет.
В своей первой и, к сожалению, единственной научной работе Ада Лавлейс рассмотрела большое число вопросов, актуальных и для современного программирования.
Чарльз Беббедж английский изобретатель, автор первой в мире аналитической счетной машины, являющейся прообразом современных вычислительных машин с программным управлением.[2]
Ч.Бэббедж окончил университет в Кэмбридже. В 1820 г. Бэббедж увлекся разработкой разностной счетной машины для составления таблиц многочленов. Работа машины основана на том, что -я разность многолена -й степени является постоянной. Поэтому, зная несколько начальных значений функции для равноотстоящих значений аргумента, можно рассчитать конечные разности вплоть до постоянной -й и выполнить обратный ход — по разностям вычислить новое значение функции. Циклически повторяя расчет, можно получить таблицу функции с любым числом строк (значений аргумента). В машине Бэббеджа эти вычисления выполнялись автоматически с помощью совокупности вращающихся колес.
В 1834 г. Ч.Бэббедж разрабатывает основные принципы построения универсальной машины, названной им аналитической. Именно этот проект стал описанием первой в мире универсальной вычислительной машины.
Оба проекта Бэббеджу не удалось довести до завершения из-за трудностей финансового характера
Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании - Грейс Мюррей Хоппер, которая посвятила всю свою жизнь компьютерам и программированию. Она вспоминает, что стала «третьим в мире программистом первого в мире большого цифрового компьютера». Г.Хоппер доказала, чего она стоит как программист. Впоследствии она писала: «Я имела то преимущество, что изучала как технику, так и математику и знала, как работает машина от начала и до конца».[3]
При работе на компьютере «Марк-1» Г.Хоппер и ее группе пришлось столкнуться со многими проблемами и все, что ими придумано, было впервые. В частности, они придумали подпрограммы. Сейчас любой программист не задумываясь использует аппарат подпрограмм в любом языке программирования. И еще одно фундаментальное понятие техники программирования впервые ввели Г.Хоппер и ее группа - «отладка». Однажды жарким летним днем 1945 г. неожиданно произошла остановка компьютера «Марк-1». Обнаружилась неисправность одного реле, контакты которого были заблокированы мотыльком, залетевшим неизвестно каким образом в помещение вычислительного центра. Вспоминает Г.Хоппер: «Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых (debuging)». С тех пор термин «debuging» (отладка) используется в технических процессах тестирования неисправностей в компьютере, а также в системах программирования.
1.2 Теоретики зарубежного программирования
Эдсгер Дейкстра выдающийся представитель теоретического программирования, основатель и популяризатор парадигмы структурного программирования.
Свой плодотворный вклад в теорию программирования Дейкстра сделал в 1968 г. в возрасте 38 лет. В небольшой работе под названием «Заметки по структурному программированию» он доказывал, что большинство программ неоправданно сложны из-за отсутствия в них четкой математической структуры. Состояние дел в области проектирования программного обеспечения вызывало на протяжении ряда лет беспокойство многих специалистов по вычислительной технике.
Все чаше работы по созданию новых систем программного обеспечения для правительственных учреждений и промышленности стоимостью в миллионы долларов не уклады вались в заранее установленные сроки, а потом в процессе использования в них обнаруживались тысячи ошибок. Как раз в то время, когда Дейкстра писал свою работу, проходила международная конференция, на которой возникшая ситуация получила название «кризис программного обеспечения».[4]
Главным объектом критики Дейкстра избрал общеизвестную команду безусловного перехода, или оператор GOTO. Данный оператор служит для передачи управления из одной точки программы в другую. В некоторых случаях он весьма полезен, но в то же время этот оператор затрудняет восприятие программы (имеется в виду восприятие программы человеком, так как для компьютера обработка операторов GOTO труда не составляет). Отслеживание этого оператора напоминает ситуацию, в какой вы оказались бы, если бы при чтении романа вам приходилось все время перелистывать книгу на несколько страниц то назад, то вперед.
Прерывая логическую последовательность алгоритма, операторы GOTO практически исключают возможность хорошо разобраться в структуре программы для всех, кроме самого ее автора. А это в свою очередь не позволяет делать в программе какие-либо изменения без риска внести ошибки в самые неожиданные ее части. По мнению Дейкстры, используя эти три структуры, программист может вообще обходиться без операторов GOTO.
Эдсгер Дейкстра, внеся свой вклад в пересмотр принципов составления программ и создания самих языков программирования, на этом не успокоился. Не меньше, чем оператор GOTO, его раздражали тестирование и отладка, составляющие заключительный этап создания любого программного обеспечения. Еще со времен пакетной обработки этот этап строился как последовательное проведение испытаний (тестовых прогонов) и поиска ошибок. [5]
Происходило это так. Законченная программа загружалась в компьютер и тестировалась. Если в результате прогона выявлялись ошибки, то программа исправлялась и пропускалась еще раз. Если обнаруживалась новая ошибка, то она также исправлялась и весь процесс повторялся сначала. На подобные тестирование и отладку часто требовалось больше времени, чем на все другие фазы разработки программы, вместе взятые.
Дональд Эрвин Кнут — американский учёный, почётный профессор Стэнфордского университета и нескольких других университетов в разных странах, преподаватель и идеолог программирования, автор 19 монографий (в том числе ряда классических книг по программированию) и более 160 статей, разработчик нескольких известных программных технологий. Автор всемирно известной серии книг, посвящённой основным алгоритмам и методам вычислительной математики, а также создатель настольных издательских систем TEX и METAFONT, предназначенных для набора и вёрстки книг, посвящённых технической тематике (в первую очередь — физико-математических).
Находясь в зачаточном состоянии, компьютерная наука того времени страдала от недостатка специальной литературы, которая была к тому же неоднородной. Кнут обнаружил, что многие из опубликованных статей были неправильны. Тысячи программистов писали новые алгоритмы для мэйнфреймов. Но когда приходила хорошая мысль, она терялась в журнале или техническом докладе. Многие программы просто не читались. Результатом было то, что люди вновь открывали методы, которые уже были известны. Кнуту пришла в голову мысль, что будет полезным иметь общую картину всей этой ценной литературы. Он узнал, что те, кто раньше пытались суммировать технику программирования, были необъективны на основании их собственных теорий.
Кнут изобрел ТеХ, первую издательскую систему, а также METAFONT, систему, которая использует классическую математику для придания внешнего вида шрифтам. ТеХ был назван одним из наиболее важных изобретений в истории печатания книг.
ГЕЙТС (Gates) Уильям (Билл) Генри III (р. 28 октября 1955, Сиэтл, шт. Вашингтон), американский предприниматель и изобретатель в области электронно-вычислительной техники, председатель и CEO ведущей компании в мире в области программного обеспечения Microsoft.
Родился в семье видного адвоката. Уже в средней школе проявил незаурядные математические способности. Будучи учеником старших классов, создал свою первую компанию Traf-O-Data, занимавшуюся продажей программ для определения интенсивности дорожного движения.