В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet5/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   2   3   4   5   6   7   8   9   ...   40
Bog'liq
Боши Лекция Парадигма и методы программирование

1.1. Языки программирования


mov ax, 0900h lea dx, msg int21h mov ax, 4C00h
21h
END START
Поскольку команды ассемблера всего лишь более удобно обозначенные инструкции в двоичных кодах, как правило, можно добиться взаимнооднозначного соответствия между программами в машинных кодах и программами на ассемблере, следовательно, они оказываются полностью взаимно заменяемыми. В этом кроется как ключевое преимущество, так и ключевой недостаток ассемблера. С одной стороны, программирование в двоичных кодах становится ненужным ровно с того момента, как написана программа-транслятор, при этом сохраняется полный доступ ко всем возможностям ЭВМ. С другой стороны, если изменятся инструкции или регистры, программа на ассемблере окажется бесполезна. Поскольку архитектура ЭВМ меняется часто, а одновременно сосуществуют вычислительные машины различных архитектур, получается, что программы на ассемблере приходится всё время переписывать.
Чтобы не переписывать каждый раз программу, необходимо было создать некоторый уровень абстракции: спрятать детали организации конкретного компьютера от программиста и позволить ему мыслить категориями более универсальными, чем категории конкретных инструкций конкретной машины. Такой шаг был впервые сделан в 1958 году, когда появился первый язык высокого уровня — FORTRAN (сокращение от FORmula TRANSlation). Хотя программы на Фортране работали существенно (в 2–4 раза) медленнее, чем программы на ассемблере, переход на языки высокого уровня стал огромным шагом вперёд, поскольку число способных к программированию людей резко увеличилось: стало не нужно помнить все регистры и инструкции процессора. Программировать начали не только профессиональные программисты, но и учёные и инженеры.
Программа «Привет мир» на Фортране (эта программа будет компилироваться только сравнительно современными компиляторами, поддерживающими стандарт Frotran 90 или более новые):
hello
(*,*) ’Hello,ЂWorld!’
Конечно, программа на Фортране требовала перевода в двоичный код, который, в отличие от ассемблера, нельзя было сделать простым взаимно однозначным транслированием. Для этого была написана на ассемблере специальная программа — компилятор. Поэтому такие языки получили название компилируемых. Когда изменяется архитектура ЭВМ, компилятор для каждого языка приходится переписывать, ведь он всё равно написан на ассемблере. Компилируемые языки: Fortran (1958 г.), Algol (1960 г.), С (1970 г.) и его потомки (C++, D, Vala), Pascal (1970 г.) и его потомки (Delphi, FreePascal/Lazarus) — основа современного программирования.
Программа «Привет мир» на Pascal: hello;
(’Hello,ЂWorld’); .
Программа «Привет мир» на С:
main() {
printf(’Hello,ЂWorld’);
0;
}
Со временем производительность компьютеров выросла настолько, что оказалось возможным не компилировать код программ в двоичный, а сразу исполнять его строчка за строчкою. Такой способ называется интерпретированием, программа, интерпретирующая код — интерпретатором, а такие языки — интерпретируемые. MATLAB (1978 г.), Perl (1987 г.), Python (1992 г.), PHP (1995 г.), Ruby (1995 г.), Javascript (1995 г.) — примеры популярных интерпретируемых языков. Интерпретатор может работать в двух режимах: интерактивном и выполнения скрипта.
Программа «Привет мир» на Perl:
#!/usr/bin/perl
"Hello,ЂWorld\n"
Программа «Привет мир» на Python:
(’Hello,ЂWorld’) На PHP:
На Ruby:
{puts "Hello,ЂWorld"}
На JavaScript:

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

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling