Файл: Общая характеристика этапов программирования в Российской Федерации.pdf
Добавлен: 25.04.2023
Просмотров: 313
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Общая характеристика этапов программирования в Российской Федерации
1.1. Понятие и сущность программирования
1.2. Начальный период становления кибернетики в России
1.3. Развитие программирования в 60-80 годы
Глава 2. Современные этапы развития программирования в Российской Федерации
2.1. Внимание на проект «Сделано в России»
2.2. Развитие языков программирования в Российской Федерации
Введение
К середине 30-х годов в ряде стран были созданы первые образцы электромеханических и электронных устройств, которые могли выполнять массовые расчеты. Первыми завершили проект по созданию прототипа будущих компьютеров были Соединённые Штаты Америки.
К концу 1939 года Дж. Атанасов и К. Берри сконструировали модель процессора. А в мае 1942 года начал работать первый в мире компьютер ENIAC (Electronic Numerical Integrator and Compute — (Электронный числовой интегратор и вычислитель).
Однако именно с ENIAC связано начало компьютерной технологии, которая дала начало сначала кибернетике, а затем и информатике. Эта машина была первой, кто реализовал структуру, предложенную Дж. фон Нейманом. Вычислительная программа стала объектом, доступным для преобразования вычислительной машиной. Так появилось программирование.
В нашу страну информация о разработках принципиально новых электронных устройств и создании новых типов информационных процессоров поступила довольно быстро. Исходя из интересов страны (прежде всего из необходимости поддерживать высокий уровень военных разработок), в СССР начались работы по созданию отечественных вычислительных машин. В конце 30-х годов в Институте электротехники АН СССР под руководством С. А. Лебедева уже начались работы по созданию ЭВМ с использованием двоичной системы счисления, но начавшаяся война прервала эти исследования. После этого пришло время продолжить их. В 1951 году в Киеве была запущена первая вычислительная машина в континентальной Европе - МЭСМ, созданная коллективом во главе с С. А. Лебедевым.
Актуальность данной темы обусловлена тем, что история развитии программирования в нашей стране неотъемлемо связана и с историей нашей страны. Поэтому изучая историю программирования, я одновременно и изучаю ту сторону историю нашей страны, которую не отражена в учебниках по истории: ее взлеты и падения.
Объектом исследования в данной работе является программирование в Российской Федерации как самостоятельная деятельность.
Предмет исследования – исторические особенности развития программирования в Российской Федерации.
Целью курсовой является изучение исторического развития программирования в Российской Федерации.
Для достижения цели необходимо решить следующие задачи:
- изучить общую характеристику становления и развития программирования в России;
- выявить основные этапы развития программирования в России;
- изучить особенности развития программирования на каждом этапе его исторического развития в России.
Методологическую основу данного исследования составили такие методы как анализ, синтез, сравнение, обобщение, выделение, интерпретация, классификация и другие методы научного познания.
Структура работы. Данная работа состоит из введения, двух глав, заключения и списка использованной литературы.
Глава 1. Общая характеристика этапов программирования в Российской Федерации
1.1. Понятие и сущность программирования
Технология программирования занята уточнением и детализацией требований к ПО; их проектированием, в том числе разделением программы на две части; собственно программированием, в том числе написанием текстов программ на языках программирования; отладкой и тестированием.
Прогресс в сфере вычислительной техники и информационных и коммуникационных технологий предопределил появление разнообразных знаковых систем для записи алгоритмов – языков программирования.
Язык программирования служит двум взаимосвязанным целям: предоставляет программисту аппарат для задания действий, которые должны быть выполнены компьютером, и формирует концепции, которыми пользуется программист, продумывая общий алгоритм. Первой цели идеально отвечает язык, который настолько «близок к ЭВМ», что если всеми основными машинными объектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй же цели идеально отвечает язык, который настолько близок к решаемой задачи, что концепции ее решения можно выражать прямо и коротко. Первые языки программирования появились сравнительно недавно. Как и следовало ожидать, они (как и первые ЭВМ) были довольно примитивны и ориентированы на различные вычисления – как на чисто теоретические научные расчеты (прежде всего математические и физические), так и на прикладные задачи (в частности, в военной области)[1]. Программы, написанные на них, представляли собой линейные последовательности элементарных операций с регистрами, в которых хранились данные.
Следует отметить, что ранние языки программирования были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого они предназначались. Это обеспечивало высокую эффективность вычислений, но не позволяло обеспечить стандартизацию: программа, работоспособная на одной вычислительной машине, не могла выполняться на другой.
Таким образом, ранние языки программирования существенно зависели от того, что принято называть «средой вычислений», и приблизительно соответствовали современным машинным кодам или языкам ассемблера.
Самые первые программы были организованы очень просто. Они состояли из собственно программы на машинном языке и обрабатываемых данных. Сложность программ ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение большого количества данных.
Создание сначала ассемблеров, а затем и языков высокого уровня сделало программы более обозримыми за счет снижения уровня детализации и, конечно же, позволило увеличить их сложность.
Появление в языках средств, позволяющих оперировать подпрограммами, существенно снизило трудоемкость разработки программ. Подпрограммы можно было сохранять и использовать в других программах. Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм (в основном библиотечных), выполняющих обработку всех данных или их части.
Слабым местом такой архитектуры было то, что при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой. Необходимость исключения таких ошибок привела к идее использования в подпрограммах локальных данных.
И вновь сложность разрабатываемого программного обеспечения стала ограничиваться способностью программиста отслеживать процессы обработки данных уже на новом уровне. К этому добавились проблемы согласования интерфейса при разработке проекта несколькими программистами. В результате возникла проблема создания технологии разработки сложных программных продуктов, снижающей вероятность появления ошибок. Такая технология была создана и получила название «структурное программирование».
Возвращаясь к истории программирования важно упомянуть и этапы развития ЭВМ, так как они определяют мощности и объемы вычислительных ресурсов, которые непосредственно влияют на эволюцию языков программирования.
ЭВМ первого поколения (до конца 1950-х гг.) включало в свою конструкцию электронные лампы. На данном этапе развитие программирования происходило благодаря американским ученным, таким как Джон Бэкус, который в 1954 г. создал язык программирования высокого уровня Fortran, модифицированный и еще используемый в наше время.
ЭВМ второго поколения (конец 1950-1970 гг.): теперь в построении используют транзисторы (полупроводники). В это же время начинают закладываться парадигмы программирования, которые используются и в настоящее время.
ЭВМ третьего поколения (1970-1980 гг.): на смену транзисторам приходят интегральные схемы. Что требует создания и развития языков высокого уровня, поддерживающих высокую скорость обработки массивов данных.
ЭВМ четвертого поколения (1980-1970 гг.), основанные на больших интегральных схемах (БИС), также дали толчок развитию языков и технологий программирования.
ЭВМ пятого поколения (1990 - наши дни) определяют достижения области ИИ (искусственный интеллект) и биоэлектроники, создание новых архитектур на их основе. Это поставило задачи совершенствования языков программирования в области повышения точности вычислений [5].
В ходе развития электронно-вычислительных машин под управлением программ, появилась новая область прикладной математики, получившая название «программирование».
Программирование, как профессия и область науки, возникла в 1950-х гг. Первые программы были написаны на машинных кодах (числовая последовательность из нулей и единиц), такие коды были очень трудны не только в написании, но и поиске неисправностей, что усложняло работу. Сами программы были большие по объему, поэтому для упрощения составления и поиска неисправностей были придуманы мнемокоды, - более удобные для понимания человека символьные (мнемонические) команды.
Для обеспечения работы мнемокодов была необходима обязательная программа, называемая Ассемблером, которая переводила мнемокод из символьного обозначения в понятный процессорам поток нулей и единиц, что упростило использование вычислительных машин в своем прямом предназначении[2].
На основе мнемокодов были созданы макрокоманды - записанный алгоритм действий, который требуется выполнять постоянно (к примеру, выполнение различных расчетов по одним и тем же формулам), не требующий от программиста постоянного написания одной и той же последовательности команд. Для таких типов задач существуют различные так называемые библиотеки и функции, используемые в зависимости от требуемого результата.
Развитие ЭВМ, а в последствии и программирования как способа общения с машиной, позволяет отследить: насколько вперед ушли технологии.
Так, к примеру, если объем ОЗУ (оперативного запоминающего устройства) одной из лучших вычислительных машин СССР в 1960 году составлял 8 Кбайт (4096 слов) и 20 тысяч операций в секунду, то сегодня ОЗУ имеют размер в тысячи Мбайт, а процессор может выполнять сотни миллионов операций в секунду, что позволяет достичь огромной точности в расчетах, а также получить данные о моделируемых системах, значение которых раньше оставались на уровне догадок.
Сейчас насчитывают более 1000 различных языков программирования - как новых, так и старых с различными модификациями[3]. Так же, как и в искусстве или в любой другой области человеческого общества, языки программирования подверженный тенденциям моды. У одних языков программирования много последователей, на других же работают в основном сами разработчики. Но не смотря на это, многим программистам приходиться изучать не один язык, чтобы быть востребованным специалистом.
Для решения многих задач можно использовать любой язык программирования, но, как говорилось ранее, профессиональные программисты хорошо знают: для какой задачи подойдет тот или иной язык программирования. Каждый язык программирования имеет свои особенности и возможности, направленность на какие-то конкретные задачи.
Все современное оборудование работает в большей части благодаря программированию, программы окружают нас повсюду и упрощают нашу жизнь.
Так, в телефоне мы имеем операционную систему, написанную на языке программирования. Сейчас нажав всего пару клавиш, мы можем сделать звонок или фото, не задумываясь: сколько на самом деле операций произошло. Нам не нужно запоминать кучи последовательностей кодов операций и вводить их каждый раз - все это упрощено, благодаря языкам программирования.
В компьютерах мы имеем удобный интерфейс для работы и восприятия информации, благодаря программированию. Как говорилось ранее, вычисления также не обходятся без программирования.
Сейчас можно с большой долей вероятности промоделировать любой процесс от микро- до макромира. Во многих случаях такой подход помогает гораздо лучше подготовиться к ответственным операциям и заданиям, к примеру, к полетам в космос, рассчитав и промоделировав процесс вхождения в атмосферу и, исходя из полученных данных, выбрать материал ракеты, наиболее защищающий экипаж. Примеров таких расчетов множество, программирование позволят проводить эксперименты без вмешательства в сам процесс.