Глава 13. Программирование. Языки Программирования

advertisement
Лекция не первая, но и не последняя. Программирование. Языки Программирования.
Глава 13. Программирование. Языки Программирования
13.1 Что такое Программирование?
Программирование – это не что иное, как процесс создания компьютерных программ. А компьютерная
программа, в свою очередь – это последовательность команд процессора и данные, необходимые для
выполнения этой последовательности, записанные в один или несколько файлов. Таким образом,
программирование – это задание последовательности команд процессора.
Существуют два варианта программирования. Программирование непосредственно команд процессора (так
называемое "низкоуровневое" программирование), и программирование с использованием языков
программирования ("высокоуровневое программирование").
13.2 Программирование на "низком уровне".
Зарождалось программирование довольно интересно. Первые компьютеры программировались с помощью
перфокарт. На перфокарте в соответствующих местах пробивались дырки. Подготовленная таким образом
перфокарта вставлялась в компьютер, и компьютер выполнял закодированную последовательность
действий.
Следующим шагом стало программирование в машинных кодах. От предыдущего варианта оно отличалось
только отсутствием перфокарт. Программист в данном случае просто создавал файл, состоящий из кодов
процессора. Естественно, такое программирование не самое удобное. Кроме самой трудности кодирования,
нужно было еще помнить огромное количество кодов команд процессора.
Проблему с запоминанием большого количества кодов решил язык ассемблера (assemble – собирать,
assembler - сборщик). На ассемблере программист мог писать не коды команд, а их мнемонические имена. А
затем, с помощью специальной программы эта последовательность имен команд превращалась собственно в
программу. Примеры мнемонических имен: ADD – сложение, SUB – вычитание, MOV – копирование одной
ячейки памяти в другую.
Но "низкоуровневое" программирование заставляет программиста мыслить на уровне процессора. А при
решении большинства задач программисту нужно больше думать о предметной области, а не о работе
процессора. Поэтому и стали появляться языки программирования "высокого уровня", которые позволяли
сосредоточиться больше на решении задач предметной области, нежели на работе с процессором.
13.3 Программирование на "высоком уровне"
В данный момент создание программ осуществляется следующим образом. Программист на каком-либо
языке программирования пишет исходный код программы. Затем специальная программа (транслятор или
компилятор) преобразовывает исходный код программы в машинные команды, и программу можно
запускать.
13.3.1 Трансляция и компиляция
Существуют два способа преобразования исходного кода программы в машинные коды: трансляция и
компиляция. При трансляции пользователю поставляется исходный код программы и программатранслятор, которая этот исходный код преобразовывает в машинные команды, и сразу же выполняет. При
компиляции программа-компилятор преобразовывает исходный код программы в машинный код, который
записывается в файл, и уже этот файл передается пользователю. В случае компиляции пользователь не
получает исходный код программы, что, естественно, выгодно для программиста, так как пользователь не
сможет без программиста изменить программу.
13.3.2 Эволюция языков программирования
Языки программирования развивались от процедурных до объектно-ориентированных. Развитие языков
программирования обуславливалось двумя важными тенденциями:
 Если изначально компьютеры использовали в основном для математических вычислений, и,
соответственно, языки программирования были ориентированы на математические расчеты, то
сейчас компьютеры в основном используют для обработки больших объемов различной
информации, и языки программирования сейчас ориентированы именно на это
1
Лекция не первая, но и не последняя. Программирование. Языки Программирования.

Если ранние программы были небольшими, то с развитием вычислительной техники появилась
потребность во все более больших программах, которые на старых языках программирования
писать становилось очень тяжело.
Можно проследить примерно следующий путь развития языков программирования.
 Изначально программа записывалась просто как последовательность команд, обрабатывающих к
данные.
 Затем появились управляющие конструкции (циклы, условные переходы).
 Следующим шагом стало появление подпрограмм – поименованных блоков программы, которые
могли выполняться несколько раз.
 Далее исходные коды программ стали разбивать на модули – исходный код программы стало
возможным хранить в нескольких файлах.
 Ну и последним на данный момент шагом в развитии программирования явилось появление
объектно-ориентированое программирование (ООП). До этого шага подпрограммы и данные
существовали отдельно друг от друга. Объект в программировании – это модель какого-либо
объекта из реальной жизни. Объект объединил данные и подпрограммы. Методика ООП состоит в
том, что отдельно программируются отдельные объекты, моделируемые в программе, а затем – их
взаимодействие.
Пока что ООП является вершиной техники программирования. Но, вполне возможно, скоро появится еще
какая-нибудь методика программирования, которая все перевернет с ног на голову.
13.4 Некоторые языки программирования
На данный момент существует более 2000 различных языков программирования. Мы разберем три наиболее
используемых языка программирования.
13.4.1 C++
Автор – Bjorn Stroustrup (Бьорн Страуструп), сотрудник AT&T. Язык C++ произошел от языка C (которому,
в свою очередь, предшествовали языки A и B). Если C был процедурным языком, то в C++ была добавлена
поддержка классов (объектов), и язык стал объектно-ориентированным.
void main
int a =
int b =
int c =
}
() {
2;
2;
a + b;
В данный момент для разработок на C++ в основном используется одна из двух сред программирования –
либо Microsoft Visual C++, либо Borland C++ Builder.
13.4.2 Pascal
Разработан Никлаусом Виртом (Niklaus Wirth). Изначально предназначался для обучения студентов
программированию. Но этот язык стал активно использоваться для реальных разработок. Компилятор Pascal
работает гораздо быстрее компиляторов C и С++. Изначально был процедурным языком, но в процессе
развития стал поддерживать классы. В данный момент язык Pascal популярен благодаря среде
программирования Borland Delphi.
program test;
var
a, b, c: integer;
begin
a := 2;
b := 2;
c := a + b;
end.
13.4.3 Java
Основной автор – Джеймс Гослинг (James Gosling), сотрудник компании Sun. Работа над созданием языка
началась в 1990. Изначально Гослинг занимался разработкой операционной среды для бытовых приборов. И
собирался для этого модифицировать C++. Но C++ не подошел для этих целей, так как он не обязывал к
объектно-ориентированному программированию. В 1993 проводимые работы вылились в язык Oak (Дуб),
2
Лекция не первая, но и не последняя. Программирование. Языки Программирования.
который можно было использовать для программирования бытовых приборов. В 1994 году было принято
решение адаптировать Oak для программирования в интернет. Тогда же язык был переименован в Java.
Основные особенности Java
 обязывает писать объектно-ориентированные программы.
 Переносим абсолютно на все платформы.
Переносимость достигается за счет того, что компилятор Java преобразует исходный код не
непосредственно в команды процессора, а в некий промежуточный код. А уже этот промежуточный код с
помощью виртуальной машины Java (JVM) выполняется на любой платформе (для которой создана
соответствующая JVM).
Основные среды программирования, используемые для разработки java-программ: Microsoft Visual J++,
Borland JBuilder, TogetherJ (разрабатывается в Санкт-Петербурге).
Домашнее задание:
1.
2.
Подготовиться к тесту по теме «Программирование»
Привести примеры языков программирования (определить их вид)
3
Download