Урок 1 – История появления и развития программирования и ЭВМ

В 1945 году американские военные обратились к ученым в пенсильванском университете с требованием разработать вычислительную машину, которая будет выполнять сложные расчеты быстро и точно. Таким образом двое ученных Джон Уильям Моучли и Джон Адам Преспер Эккерт-младший создали первый компьютер под названием ЭНИАК.

ЭНИАК теперь относится к компьютерам 1-ого поколения. Эта машина весила 130 тон, содержал 18 тысяч ламп, выполняла 5 тыс. операций в секунду и стоила практически 3 миллиона долларов.

В СССР первые ламповые компьютеры появились в 1951 году под руководством Сергея Алексеевича Лебедева и назывались МЭСМ (малая электронная счетная машина) и БЭСМ (большая электронная счетная машина).

МЭСМ
БЭСМ

Эти два компьютера сыграли огромную роль в появлении в нашей стране первых программистов. Также БЭСМ на тот момент являлся самой быстродействующей ЭВМ в мире и выполнял 8 тыс. операций в секунду.

Все ЭВМ делятся на поколения. Так вышеперечисленные машины относятся к компьютерам первого поколения. Архитектура этих машин была основана на лампах. Эти машины были огромными и выполняли несколько тысяч операций в секунду.

Как и компьютеры сейчас, первые компьютеры понимали только двоичный код (или машинный код), алфавит которого состоял из нулей и единиц. С помощью двоичного кода люди писали для компьютера программы.

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

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

Где на определенном участке не было дырочки – это означало 0 для компьютера, если была то 1.

Помимо перфокарт также были перфоленты.

В 1960 году появились компьютеры второго поколения и были основаны транзисторах вместо ламп.

Благодаря транзисторам размер машин и потребление энергии резко сократилось, а скорость работы возросла.

В это же время появился и первый язык программирования – Ассемблер. Дело в том, что при работе с двоичным кодом люди часто использовали одни и те же команды, например, знак “+” в двоичном коде пишется так – 00101011. Т.е. если сделать так, чтобы человек писал на специальной машинке для перфокарт знак “+”, а машинка выбивала на перфокарте двоичное представление знака “+”, то это существенно облегчит жизнь. Кстати, эта специальная машинка тоже называлась Ассемблер.

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

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

От языков Fortran и Algol стали появляться в будущем и другие языки программирования, например язык Basic произошел от Fortran, а язык C произошел от Algol. Также язык Pascal, который мы с вами изучим, тоже произошел от Algol.

Языки высокого уровня гораздо легче писать и читать, чем код написанный на языке Ассемблера, так как чтобы понять, что написано на языке Ассемблера, как я уже писал, вам необходимо хорошо знать внутреннее устройство компьютера. И в 99% образовательных учреждений преподают именно языки высокого уровня.

В 70-е годы появились компьютеры 3-его поколения. Их основное отличие в том, что они начали работать на интегральных микросхемах. Интегральная микросхема представляла собой кристалл полупроводника на котором были размещены от десятка до миллионов транзисторов и других элементов. До этого, на компьютерах второго поколения на одном кристалле размещался один транзистор.

Современные интегральные микросхемы:

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

Также в период компьютеров третьего поколения появились мониторы и клавиатуры.

В это время также начали появляться новые языки программирования как Pascal (предназначенный для обучения программированию) и С (от него потом пошли C++, С#, Java и многие другие си-подобные языки).

В 80-ых годах появились компьютеры 4-ого поколения. Благодаря дальнейшему развитию интегральных схем, оборудования (например, экраны мониторов стали цветными и появилась мышь), технологий производства способствовали появлению персонального компьютера (или ПК). Т.е. теперь компьютеры стали доступны не только государствам и крупным предприятиям, но и обычным людям.

В заключении этого урока я хотел бы еще чуть рассказать как происходит процесс от написания программ до исполнения ее компьютером. Сейчас чтобы написать программу на любом языке программирования вам в большинстве случаев хватит обычной программы Блокнот. Допустим вы написали программу на языке Pascal и сохранили код в файле. Теперь вам нужна программа переводчик, которая переведет ваш файл на понятный для компьютера машинный код. Эти программы переводчики называются Трансляторы (т.е. переводчики). Эти программы и переводят ваш код на языке Pascal в машинный и процессор уже может эту программу исполнить.

Трансляторы подразделяются на компиляторы и интерпретаторы.

Компилятор переводит ваш код в отдельный файл (в Windows у этих файлов расширение .exe), внутри которого содержится машинный код, и процессор при запуске этого файла начинает его исполнять.

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

У компилятора и интерпретатора есть свои плюсы и минусы. Компилируемые файлы, например в формате .exe, работают гораздо быстрее чем код который работает через интерпретатор. Но при работе с интерпретируемым транслятором вы моментально видите результат исполнения и вам не надо ждать пока будет компилироваться файл с машинным кодом.

А где нам взять транслятор для языка Pascal? Все очень просто, вам просто надо скачать программу PascalABC. Но это не просто транслятор – это также полноценный редактор кода, т.е. нам не надо будет отдельно писать код в блокноте и транслировать его через PascalABC – все что нам нужно для работы с Pascal уже есть в данной программе. Вообще PascalABC.NET считается даже отдельным языком программирования, разновидностью Pascal, т.е. существует язык программирования PascalABC.NET и программа с таким же названием, но в этой программе мы будем изучать только язык Pascal.

Кстати, в PascalABC транслятор является компилятором, а не интерпретатором, но он работает настолько быстро, что нам практически не надо ждать, когда скомпилируется файл с машинным кодом, мы даже к этому файлу не будем прикасаться, но вы скоро все увидите сами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *