Материал лекции №1 для самостоятельного изучения

Вопрос 1. История и эволюция языков программирования. Краткий обзор.

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

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

 

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

1. машинные языки;

2. языки ассемблера;

3. языки высокого уровня;

4. системы программирования.

 

Машинные языки

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

Машинный язык - это «природный язык» компьютера определенного типа. Он определяется при проектировании его аппаратных средств - именно процессоре "зашит" некий набор базовых операций над двоичными числами – сложение, вычитание, сдвиг, логические операции и т.п. Таким образом, машинные языки машинно-зависимы, т.е. каждый машинный язык может быть использован только на компьютере определенного типа.

Определение. Машинный язык – язык программирования, предназначенный для представления программы в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации.

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

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

Языки ассемблера

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

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

Вместо использования строк чисел, которые компьютер понимает непосредственно, программисты начали использовать похожие на английский язык аббревиатуры для представления элементарных компьютерных операций, например, ADD (Добавить) или MOVE (Переместить). Отсюда пошли языки программирования.

Определение. Язык ассемблера – язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня.

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

Языки высокого уровня

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

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

Определение. Язык высокого уровня – язык программирования, понятия и структура которого удобны для восприятия человеком.

К числу таких языков относятся Pascal, Fortran, C, BASIC, COBOL, С++. Благодаря этим языкам появилась возможность программировать, используя логические конструкции из слов и выражений, например Let I = 100. Эти команды переводились на машинный язык интерпретаторами и компиляторами.

Системы программирования

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

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

И как инструмент, полностью реализовавший преимущества объектно-ориентированного подхода в программировании, появились системы программирования.

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

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

 

 

Выбор языка программирования

На выбор языка программирования влияют четыре основных фактора.

· Сравнительная пригодность языка программирования для данной задачи.

· Избранная методология. Часто говорят, что язык поддерживает ту или иную методологию. Обычно это означает, что применение этого языка совместно с указанной методологией в совокупности позволят решить задачу наиболее эффективно.

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

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

 

 
 

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

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: