Эволюция и классификация языков программирования. Основные понятия языков программирования

Автор: Пользователь скрыл имя, 19 Декабря 2011 в 09:30, реферат

Краткое описание

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

Оглавление

1.Введение……………………………………………………………………………...3
2.Способы реализации языков………………………………………………………3
3.Движущие силы эволюции языков программирования……………………......4
4.История развития языков программирования…………………………………..5
5.Классификация языков программирования……………………………………..8
6.Язык программирования Фортран………………………………………………..9
7.APL……………………………………………………………………………………10
8.Lisp и ему подобные языки……………………………….... ……………………10
9.Cobol………………………………………………………………………………….10
10.Algol…………………………………………………………………………………11
11.Snobol и Icon………………………………………………………………………11
12.BASIC……………………………………………………………………………….11
13.SETL…………………………………………………………..................................11
14.Pascal-подобные языки………………………………………………………….12
15.С-подобные языки………………………………………………………………..12
16.Языки Ada и Ada 95………………………………………………………………13
17.Скриптовые языки……………………………………………………………..…13
18.Perl………………………………………………………………………………….14
19.Python……………………………………………………………………………....14
20.Объектно-ориентированные языки…………………………………………...14
21.Языки параллельного программирования…………………………………...15
22.Функциональные языки…………………………………………………………16
23.Языки логического программирования……………………………………… 17
24.Вывод………………………………………………………………………………17
25.Список литературы………………………………………………………………18

Файлы: 1 файл

эволюция и классификация языков программирования..doc

— 122.00 Кб (Скачать)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ                                                                    ФЕДЕРАЦИИ

КУРГАНСКИЙ  ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КАФЕДРА «ЭКОНОМИЧЕСКАЯ ТЕОРИЯ И МОДЕЛИРОВАНИЕ  ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ» 
 
 

РЕФЕРАТ

по дисциплине «Экономическая информатика»

на тему

«Эволюция и классификация языков программирования. Основные понятия языков программирования.»

Вариант №28 
 
 
 
 
 
 

Выполнил  студент:

Денисова  Екатерина

Группа  Э1711

Руководитель: Филимонов Сергей Михайлович, старший  преподаватель

Курган 2011

                                         СОДЕРЖАНИЕ.

1.Введение……………………………………………………………………………...3

2.Способы  реализации языков………………………………………………………3

3.Движущие  силы эволюции языков программирования……………………......4

4.История  развития языков программирования…………………………………..5

5.Классификация  языков программирования……………………………………..8

6.Язык  программирования Фортран………………………………………………..9

7.APL……………………………………………………………………………………10

8.Lisp и ему подобные языки……………………………….... ……………………10

9.Cobol………………………………………………………………………………….10

10.Algol…………………………………………………………………………………11

11.Snobol и Icon………………………………………………………………………11

12.BASIC……………………………………………………………………………….11

13.SETL…………………………………………………………..................................11

14.Pascal-подобные языки………………………………………………………….12

15.С-подобные языки………………………………………………………………..12

16.Языки Ada и Ada 95………………………………………………………………13

17.Скриптовые языки……………………………………………………………..…13

18.Perl………………………………………………………………………………….14

19.Python……………………………………………………………………………....14

20.Объектно-ориентированные языки…………………………………………...14

21.Языки  параллельного программирования…………………………………...15

22.Функциональные  языки…………………………………………………………16

23.Языки  логического программирования……………………………………… 17

24.Вывод………………………………………………………………………………17

25.Список литературы………………………………………………………………18 
 
 
 

                                                      Введение.

Развитие вычислительной техники сопровождается созданием новых и совершенствованием существующих средств общения программистов с ЭВМ - языков программирования(ЯП).  
Язык программирования — формальная
знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением. В более абстрактном виде ЯП является средством создания программных моделей объектов и явлений внешнего мира.  

Язык  программирования строится в соответствии с той или иной базовой моделью вычислений и парадигмой программирования. К настоящему времени созданы десятки различных ЯП от самых примитивных до близких к естественному языку человека. Чтобы разобраться во всем многообразии ЯП, нужно знать их классификацию, а также историю создания, эволюцию и тенденции развития. Этот реферат посвящен рассмотрению этих вопросов.

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

Способы реализации языков

Языки программирования могут быть реализованы как компилируемые и интерпретируемые.

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

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

Разделение  на компилируемые и интерпретируемые языки является условным. Так, для  любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

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

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

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

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

Движущие силы эволюции языков программирования.    

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

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

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

  
4) В-четвертых, совершенствование самих ЭВМ приводит к необходимости создания языков, максимально реализующих новые возможности ЭВМ.

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

 
История развития языков программирования.

 
Известно, что первым программистом была женщина - леди Ада Лавлейс, дочь лорда Байрона. Она разрабатывала программы для одного из первых механических компьютеров, созданного в начале XIX века английским ученым Чарльзом Беббиджом. Однако, настоящее программирование в современном понимании началось с момента создания первой электронной вычислительной машины. Но тем не менее, имя этой женщины - Ada - присвоено одному из самых мощных современных ЯП.  
 
Первые ЭВМ, созданные человеком, имели небольшой набор команд и встроенных типов данных, но позволяли выполнять программы на машинном языке. Машинный язык (МЯ) - единственный язык, понятный ЭВМ. Он реализуется аппаратно: каждую команду выполняет некоторое электронное устройство. Программа на МЯ представляет собой последовательность команд и данных, заданных в цифровом виде. Например, команда вида 1А12 в 16-ричном виде или 0001101000010010 в двоичном виде означает операцию сложения (1А) содержимого регистров 1 и 2.  
 
Данные на МЯ представлены числами и символами. Операции являются элементарными и из них строится вся программа. Ввод программы в цифровом виде производился непосредственно в память с пульта ЭВМ либо с примитивных устройств ввода. Естественно, что процесс программирования был очень трудоемким, разобраться в программе даже автору было довольно сложно, а эффект от применения ЭВМ был довольно низким. Этот этап в развитии ЯП показал, что программирование является сложной проблемой, трудно поддающейся автоматизации, но именно программное обеспечение определяет в конечном счете эффективность применения ЭВМ. Поэтому на всех последующих этапах усилия направлялись на совершенствование интерфейса между программистом и ЭВМ - языка программирования.  

Стремление программистов оперировать не цифрами, а символами, привело к созданию мнемонического языка программирования, который называют ассемблером, мнемокодом, автокодом. Этот язык имеет определенный синтаксис записи программ, в котором, в частности, цифровой код операции заменен мнемоническим кодом. Например, команда сложения записывается в виде AR 1,2 и означает сложение (Addition) типа регистр-регистр (Register) для регистров 1 и 2. Теперь программа имеет более удобочитаемую форму, но ее не понимает ЭВМ. Поэтому понадобилось создать специальную программу транслятор, который преобразует программу с языка ассемблера на МЯ. Эта проблема потребовала, в свою очередь, глубоких научных исследований и разработки различных теорий, например теорию формальных языков, которые легли в основу создания трансляторов. Практически любой класс ЭВМ имеет свой язык ассемблера. На сегодняшний день язык ассемблера используется для создания системных программ, использующих специфические аппаратные возможности данного класса ЭВМ.

Информация о работе Эволюция и классификация языков программирования. Основные понятия языков программирования