Файл: История развития программирования в России.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 115

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

История языков программирования начинается с разработки машинного языка: языка логического нуля и единицы. Запись с помощью этого языка была очень сложной и утомительной. Для облегчения работы программистов в конце 1940-х гг. был разработан язык ассемблер. Вместо двоичных цифр, которые обозначали какую-либо команду, записывались короткие слова или аббревиатуры. Программисты считают ассемблер языком программирования низкого уровня, поскольку он близок к языку самого низкого уровня – машинному. Программы, написанные на ассемблере, напрямую зависят от характеристик конкретного процессора, поэтому его называют машинно-ориентированным языком. Написание программ на ассемблере является довольно сложной задачей, к тому же необходимы знания устройств компьютера. И тем не менее программы на ассемблере – самые эффективные и работоспособные.

История языков программирования начинается с разработки машинного языка: языка логического нуля и единицы. Запись с помощью этого языка была очень сложной и утомительной. Для облегчения работы программистов в конце 1940-х гг. был разработан язык ассемблер. Вместо двоичных цифр, которые обозначали какую-либо команду, записывались короткие слова или аббревиатуры. Программисты считают ассемблер языком программирования низкого уровня, поскольку он близок к языку самого низкого уровня – машинному. Программы, написанные на ассемблере, напрямую зависят от характеристик конкретного процессора, поэтому его называют машинно-ориентированным языком. Написание программ на ассемблере является довольно сложной задачей, к тому же необходимы знания устройств компьютера. И тем не менее программы на ассемблере – самые эффективные и работоспособные.

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

Задачи исследования- рассмотреть этапы становления развития вычислительной техники.

Предмет исследования –история развития средств вычислительной техники.

Объект исследования – вычислительная техника.

Работа состоит из введения, двух глав, заключения и списка литературы.


ГЛАВА 1. ИСТОРИЯ РАЗВИТИЯ ПРОГРАММИРОВАНИЯ В РОССИ

1.1 Понятие и сущность вычислительных машин

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

Под понятием информация понимаются такие сведения, которые снижают степень нашего непонимания о какой-либо области или предмете. С точки зрения философии информация понимается как отражение реального мира: это те данные, которые один настоящий объект может сообщить о другом. Информация не возникает из пустого места, ее можно получить, использовать, передать, записать и удалить. Когда информация распространяется, то появляется следующее свойство: когда информация передается из одной системы в другую, объем информации не снизится в передающей системе, однако в принимающей системе он может стать больше.

Информация не существует без материального носителя – какого-то средства для ее переноса во времени и в пространстве. Переносчиком информации может являться физический объект, кроме того, информация может представляться самыми разнообразными звуковыми, световыми и электрическими сигналами.

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


Информатика – наука, которая изучает аспекты получения, хранения, преобразования, передачи, защиты и использования информации. Данная учебная дисциплина является фундаментом для таких дисциплин, как: математика, логика, операционные системы, основы алгоритмизации и программирования. Возможность автоматического использования информационных процессов посредством компьютера, также изучается информатикой. Персональный компьютер (ПК) - вид компьютера, принцип которого заключается в транзисторной технологии, использующейся во всех видах радиотехники.

Вычислительные системы (ВС). Этот термин появляется в начале 60-ых годов, когда создавались вычислительные машины 3-го поколения. Этот период времени был очень значимым, так как стали появляться интегральные схемы. Они дали толчок для принятия новых решений: массовый доступ и применение ресурсов вычисления, распределение процессов обработки информации [2]. Возникают новые режимы работы вычислительных машин – многопользовательская и многопрограммная обработка. Разницей между ВС и ЭВМ служит использование в ВС нескольких вычислителей, использующих параллельную обработку. Цель создания вычислительных систем заключалась в росте производительности системы, за счет увеличения скорости обработки данных, а также увеличение надежности и точности вычислений [1].

Классификация ЭВМ. Существует множество различных признаков, по которым классифицируются ЭВМ, но самыми значимыми являются классификации по структурной и функциональной организации вычислительных систем. По назначению, системы делятся на: 1)универсальные и 2)специализированные. Универсальные системы служат для выполнения самых различных операций, специализированные – для выполнения более узкого круга задач. По типу вычислительные системы делятся на: 1)многомашинные и 2)многопроцессорные. Многомашинные ВС появились раньше. Уже в то время появлялись задачи, для которых требовалась высокая производительность, долговечность и точность вычислений. Такие цели и были в основе использования данных машин.

Информационные процессы – процессы сбора, обработки, накопления, хранения, поиска и распространения информации. Извлечение какой-либо хранимой информации называется ее поиском. Есть очень много разных способов поиска, таких как: наблюдение, общение, чтение журналов или газет, просмотр телевизора или программ, радио и другие. Способом передачи информации во времени и пространстве называется ее хранение. Варианты хранения зависят и вида носителя. Им может быть рукопись, журнал или фотография. Передача информации заключается в процессе участия в ней источника и приемника. Источник будет передавать ее, а приемник получать. Между ними образуется канал связи, который передает сигнал от источника к приемнику. Процесс преобразования какой-либо информации из одного вида в другой называется обработкой. При обработке имеет большое значение входная и выходная информация. Использование информации происходит при принятии каких-либо решений. Под защитой информации понимается комплекс мер по защите от угроз безопасности, а также устранение последствий.


1.2 История языков программирования: 1950-е

Программирование появилось задолго до 50-х годов XX века. Первые идеи высказал ещё Чарльз Бэббидж (1792-1871), которого по праву считают отцом компьютера. Он не знал о транзисторах, микросхемах и мониторах, но достаточно точно описал основные принципы, на которых будут строится все вычислительные машины. Развила идею графиня Ада Лавлейс (1815-1852). Её место в истории до сих вызывает немало споров, но одно абсолютно точно – именно Ада фактически стала первым известным программистом. Благодаря её трудам стало понятно, что путь к эффективному использованию машин – алгоритмы, описанные в коде.

Аналитическая машина Бэббиджа

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

Сегодня вам не надо ничего знать об архитектуре компьютера, для большинства программистов вообще важен только язык, всё остальное – вторично. В 1950-х всё было иначе – приходилось работать с элементарными машинными кодами, а это практически всё равно что программировать при помощи паяльника.

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

01 x y – добавление содержимого ячейки памяти y к ячейке x;

02 x y – аналогичная процедура с вычитанием.

В итоге код программы превращался в бесконечную череду цифр:

01 10 15 02 11 29 01 10 11…

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

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

Решение лежало на поверхности: необходимо перевести цифровые обозначения операций в буквы. То есть вместо «01 10 15» использовать «ADD 10 15». Это требовало дополнительного перевода символов в машинную команду, но, учитывая проблему, жертва была минимальна.


Решение оказалось настолько очевидным, что доподлинно неизвестно, кто первым изобрёл язык Ассемблера. Вероятнее всего, он появился одновременно сразу в нескольких местах. За название и популяризацию ответственными принято считать авторов книги «The preparation of programs for a digital computer» Уилкса, Уилера и Гилла. Нетрудно догадаться, что название Ассемблер происходит от английского слова assemble – собирать, монтировать, что вполне точно описывает процесс. Позднее символы стали касаться не только простейших операций, но и адресации, что значительно упростило читаемость кода.

Сейчас это кажется элементарным решением, но тогда реализация была сложным процессом, требующим созданий таблиц соответствия, присовения обозначения каждой ячейке памяти.  Это привело к трём фундаментальным вещам:

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

Это стало катализатором языкового прорыва.

Ассемблер позволил создать простые превращения. Например, перевод 01 в ADD. Макроассемблер расширил эту идею и подарил программистам возможность сворачивать несколько инструкций в одну. К примеру, если в программе вы постоянно добавляли значение в ячейку памяти и проверяли, не переполнена ли она, всё это можно было записать в макрос INCRT и использовать его, меняя лишь переменные. По сути, макроассемблеры превратились в первые языки высокого уровня.

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

Теперь-то мы знаем, что благодаря компилятору мы можем создать язык программирования с абсолютно любым синтаксисом, главное, чтобы он грамотно переводил наш код в машинные команды. А в то время специалисты скептически относились к языкам высокого уровня. Частично это было обусловлено производительностью компьютеров – упрощение синтаксиса со сложными трансформациями дорого обходилось, могло вернуть технологический прогресс на несколько лет назад. Частично причиной были эмоции – было тяжело отойти от формы машинных команд, потерять контроль над процессами. Программисты всерьёз боялись, что после компиляции они не смогут понять исполняемые команды. Сегодня нам наплевать, как выглядит машинный код, а в те времена это казалось важной проблемой.