Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация языков программирования высокого уровняКлассификация языков программирования высокого уровня языков программирования

Содержание:

Введение

1. Существует множество классификаций языков программирования по различным критериям. Самое простое деление – на языки высокого и низкого уровня.

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

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

Другая классификация делит языки на вычислительные и языки символьной обработки. К первому типу относят ФОРТРАН, ПАСКАЛЬ, АЛГОЛ, БЕЙСИК, С, ко второму – ЛИСП, ПРОЛОГ, СНОБОЛ и др.

Классификация языков программирования по типам задач приведена в табл. 1.1

Таблица 1.1. Классификация языков программирования по типам задач


 

Тип задачи

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

Задачи искусственного интеллекта

ЛИСП, ПРОЛОГ, Common Lisp, РЕФАЛ, Planner, QLisp

Параллельные вычисления

Fun, Apl, ML, SML, Occam, Actus, параллельный КОБОЛ, ОВС-АЛГОЛ, ОВС-ФОРТРАН

Задачи вычислительной математики и физики

Occam, Actus, параллельный КОБОЛ, ОВС-АЛГОЛ, ОВС-ФОРТРАН

Разработка интерфейса, программ-оболочек, систем

Forth, С, C++, АССЕМБЛЕР, МАКРОАССЕМБЛЕР, СИМУЛА-67,0 А К, Smalltalk, Java, РПГ

Задачи вычислительного характера

АЛГОЛ, ФОРТРАН, КОБОЛ, Ada, PL/1, БЕЙСИК, ПАСКАЛЬ

Оформление документов, обработка больших текстовых файлов, организация виртуальных трехмерных интерфейсов в Интернете, разработка БД

HTML, Perl, SQL, Informix 4GL, Natural, DDL, DSDL, SEQUEL

1.1 Процедурно-ориентированные языки применяются для записи процедур или алгоритмов обработки информации на каждом определенном круге задач. К ним относятся:

а) язык Фортран (Fortran), название которого происходит от слов Formulae Translation – «преобразование формул». Фортран представляет собой один из старейших языков программирования высокого уровня. Длительность его существования и применения можно объяснить простотой структуры данного языка;

б) язык Бейсик (Basic), который расшифровывается как Beginner's All-purpose Symbolic Instruction Code, что в переводе означает – «многоцелевой символический обучающий код для начинающих», разработан в 1964 г. как язык для обучения программированию;

в) язык Си (С), применяемый с 1970-х гг. как язык системного программирования специально для написания ОС UNIX. В 1980-е гг. на основе языка С был разработан язык C++, практически включающий в себя язык С и дополненный средствами объектно-ориентированного программирования;

г) язык Паскаль (Pascal), который назван в честь французского ученого Б. Паскаля, начал применяться с 1968–1971 гг. Н. Виртом. При создании Паскаль использовался для обучения программированию, но со временем стал широко применяться для разработки программных средств в профессиональном программировании.

1.2 Проблемно-ориентированные языки используются для решения целых классов новых задач, возникших в связи с постоянным расширением области применения вычислительной техники:

а) язык Лисп (Lisp – List Information Symbol Processing), который был изобретен в 1962 г. Дж. Маккарти. Первоначально он применялся как средство для работы со строками символов. Лисп употребляется в экспертных системах, системах аналитических вычислений и т. п.;

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

Объектно-ориентированные языки развиваются и в настоящий момент. Большинство из этих языков являются версиями процедурных и проблемных языков, но программирование с помощью языков этой группы является более наглядным и простым. К наиболее часто употребляемым языкам относятся:

а) Visual Basic (~ Basic);

б) Delphi (~ Pascal);

в) Visual Fortran (~ Fortran);

r) C++ (~ C);

д) Prolog++ (~ Prolog).

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

9.3. Классификация языков программирования высокого уровня Основные элементы языков программирования

Эволюция языков программирования

2. 20-е годы XIX века. Предварительная запись порядка действий машины на перфокарте для последующей автоматической реализации вычислений – программе (предложена Ч.Бэббиджем). Ада Лавлейс теоретически разработала некоторые приемы управления последовательностью вычислений, которые используются до сих пор.

40-е годы XX века. Создание программ на основе кодирования машинных команд (Грейс Мюрей Хоппер).

50-60-е годы. Роль программирования в машинных кодах уменьшается, появляются процедурные языки программирования высокого уровня (FORTRAN, ALGOL). Для преобразования команд в машинные коды используются трансляторы.

Середина 60-х годов. Создание специализированного языка программирования, состоящего из простых слов английского языка (BASIC), попытки создать универсальный язык (PL/1, АЛГОЛ-68).

Начало 70-х. Развитие идеи АЛГОЛА о структуризации разработки алгоритмов, создание Н. Виртом языка Паскаль. Создание языка АДА, предназначенного для создания и длительного сопровождения больших программных систем, допускающего возможность параллельной обработки, управления процессами в реальном времени и др.

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

В течение многих лет программное обеспечение строилось на основе операциональных и процедурных языков (Ассемблеры, Фортран, Бейсик, Паскаль, Ада, Си). По мере эволюции языков программирования широкое распространение получили и другие принципиально новые подходы к созданию программ непроцедурноепрограммирование: объектно-ориентированное программирование (языки Си++, Delphi, Visual Basic) и декларативное программирование. Декларативные языки делятся на логические (Пролог) и функциональные (Лисп). В настоящее время разработаны языки работающие в управляемом окружении, обеспечивающие высокую надежность и защищенность создаваемых программ (Java, C#, VB.net).

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

3.


 

Понятие о языках программирования высокого уровня

4. Языки программирования – это формальные языки специально созданные для общения человека с компьютером. Каждый язык программирования, равно как и "естественный язык" (русский, английский и т.д.) имеет:

  • Алфавит – фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.
  • Синтаксис – система правил, определяющих допустимые конструкции языка программирования.
  • Семантика – система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.

При описании языка и его применении используют понятия языка.

Понятие – некоторая синтаксическая конструкция и определяемые ею свойства программных объектов или процесса обработки данных.


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

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

Язык программирования высокого уровня (high-level programming language).

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

ЯПВУ отражают естественные для человека понятия, а не архитектуру вычислительной системы. Поэтому программа, составленная на ЯПВУ , сначалатранслируется самой ЭВМ на машинный язык (низкого уровня), а затем выполняется.

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

  • if (если);
  • then (тогда);
  • else (иначе) и т. п.

Из исходных символов по правилам синтаксиса строятся предложения, обычно называемые операторами, например: if x 1 следует воспользоваться формулой у = х – 1.

Достоинства ЯПВУ

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

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

5.1 Fortran. Первый компилируемый язык созданный Джимом Бэкусом в 50-е годы. Для этого языка было создано огромное количество библиотек, начиная от статических комплексов и кончая пакетами управления спутниками, поэтому Fortran продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k, который появился в 2000 году. Имеется стандартная версия Фортрана HPF (High Perfomance Fortran) для параллельных супер компьютеров со множеством процессоров.

5.2 Cobol. Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х г. Он отличается большой "многословностью" – его операторы выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано много различных приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.


5.3 Algol. Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол68,по своим возможностям опережающая и сегодня многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы .

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

5.5 Basic. Для этого языка имеются и компиляторы, и интерпретаторы , а по популярности он занимает первое место в мире. Он создавался в конце 60-х годов в качестве учебного пособия и очень прост в изучении.

5.6 C. Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного вида процессора.

5.7 C++. Это объектно-ориентированное расширения языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко увеличить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.

5.8 Java. Этот язык был создан компанией Sun в начале 60-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформо-независимый байт -код. Этот байт-код может выполнятся с помощью интерпритатора-виртуальной машины Javа-машины JVM (Java Virtyal Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне обычного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика.

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

6.язык программирования vba предназначен для написания кода программы. Он обладает своим алфавитом, который включает в себя:

• строчные и прописные буквы латинского алфавита (А, B....,Z,a,b....,z);

• строчные и прописные буквы кириллицы (А—Я, а—я);

• неотображаемые символы, используемые для отделения лексем (лексических единиц) друг от друга;

• специальные символы, участвующие в построении конструкций языка: +-*?^=><[]():{}' &©;

• цифры от 0 до 9;

• символ подчеркивания «_»;

• составные символы, воспринимаемые как один символ: <=, >=, <>.

Лексема является единицей текста программы, которая имеет определенный смысл для компилятора и не может быть разбита в дальнейшем.

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

Идентификатор представляет собой последовательность букв, цифр и символов подчеркивания.

Система VBA определяет некоторые ограничения, которые накладываются на имена:

1) имя следует начинать с буквы;

2) имя не должно включать в себя точки, пробелы, разделительные символы, знаки операций, специальные символы;

3) имя должно быть уникальным и не совпадать с зарезервированными словами VBA или другими именами;

4) длина имени не должна превышать 255 символов;

5) при составлении имен необходимо соблюдать соглашения по стилю;

6) идентификатор должен ясно отражать назначение переменной для понимания программы;

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

8) имена констант следует составлять из прописных букв;

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

Переменные являются объектами, которые предназначены для хранения данных . Об этом говорит сайт https://intellect.icu . Перед применением переменных в программе необходимо их объявлять (декларировать). Правильный выбор типа переменной обеспечивает эффективное использование памяти компьютера.

Строковые переменные могут быть переменной и фиксированной длины.

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

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

Переменные подразделяют на два вида – простые и переменные структурного вида. Массивы бывают одномерными и многомерными.

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

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

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

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

Группа языков программирования, которую мы рассмотрим – это машинно-ориентированные языки.

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

Машинно-ориентированные языки в свою очередь подразделяются на классы.

Первый класс, который мы рассмотрим, машинный язык. Каждый компьютер имеет свой машинный язык, ему предписывают выполнение указанных операций над определяемыми ими операндами, отсюда мы видим, что машинный язык является командным. Однако некоторые группы ЭВМ имеют единый машинный язык для электронно-вычислительных машин разной мощности.

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

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

Развитые автокоды получили название ассемблеры.

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

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

Макрос может одинаково работать и с программами, и с данными.

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

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

Проблемных языков достаточно много. К ним можно отнести Фортран, Algol, Лисп, Слэнг, Снобол и некоторые другие.

Универсальные языки были созданы для большого круга задач. Одним из первых универсальных языков был разработан компанией IBM, ставший в последовательности языком Пл/1. Второй по мощности язык программирования называется Алгол-68. Он работал с символами, числами с фиксированной и плавающей запятой.

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

Работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождения задач, которые составлялись на ранее неразработанных языках. Кроме того, разрабатывались языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач. Одним из примеров диалоговых языков является Бейсик. Он использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому данный язык позволяет решать обширный круг задач.

Языки программирования можно классифицировать на процедурные и непроцедурные ЯП.

Процедурные языки программирования появились в 1950 году. Программа состояла из последовательности инструкций операторов, включающих блоки типичных действий или процедур. Эти языки обладают меньшей машинной зависимостью и большей совместимостью. Благодаря процедурным языкам повысилась производительность труда программистов, программный код стал унифицирован. Среди процедурных языков выделяют структурные и операционные. В структурных языках одним оператором записывается целая группа алгоритмических структур различного вида. А в операционных языках для этого используются несколько операций. Примерами структурных языков можно считать Паскаль, Ada, Си. Среди операционных можно выделить Фокал, Бейсик, Фортран.

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

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

Двоичный язык – сейчас программистами не применяется.

Шестнадцатеричный язык – используется в качестве дополнения к языкам высокого уровня для программирования критичных к времени выполнения алгоритмов.

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

Язык макроассемблера – расширение языка ассемблера, он позволяет определять более мощные команды.

Язык программирования С был разработан в 70 годах. Этот язык сочетает в себе достоинства современных высокоуровневых языков и возможность доступа к аппаратным средствам компьютера.

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

Язык Фортран разработан в 1956 году.

Язык Паскаль разработан в 1970 году Норбертом Винером, назван в часть французского математика Блеза Паскаля.

Язык Modula – 2 создан в 1979 году также Норбертов Винером. Этот язык по существу является развитием языка Паскаля. Особенностью данного языка программирования является высокая модульность программ и наличие средств описания параллельных процессов.

Язык Ada разработан в 1979 году по приказу Министерства обороны США.

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

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

Языки программирования можно классифицировать по типам задач.

Задачи искусственного интеллекта – Пролог, Лисп, Рефал.

Параллельные вычисления – параллельный Кобол, Fun, Apl. Время появления таких языков отводится на 1980 год. Эти языки обладают высокой функциональностью в системах реального времени, узким спектром применения и высокой себестоимостью разработки небольших программ.

Задачи вычислительной математики – параллельный Кобол, РА, Occam.

Разработка интерфейса – Ассемблер, Макроассемблер, Ява.

Задачи вычислительного характера – Алгол, Фортран, Кобол, Ада.

Разработка программ оболочек – Ассемблер, Макроассемблер, Ява.

Оформление документов, обработка больших текстовых данных – Natural, Perl.

К языкам программирования сверхвысокого уровня можно отнести лишь Алгол-98 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.

Языки программирования можно разделить на поколения:

- языки первого поколения (начало 1950 годов): машинно-ориентированные языки с ручным управлением памяти на компьютерах первого поколения (сложны в управлении, требуют хорошего знания архитектуры и работы персонального компьютера). Основная отличительная особенность языков первых компьютеров – это ориентирование на конкретный компьютер. Языки программирования первого поколения представляют собой набор команд в двоичном или восьмеричном коде, который определялся конкретной архитектурой персонального компьютера. Каждый тип электронно-вычислительной машины имел свой язык программирования, а программы были пригодны только для него, для этого типа. От программиста требовалось знание не только языка программирования, но и знать архитектуры ЭВМ.

- языки второго поколения (конец 1950 – начало 1960 годов): с мнемоническим представлением команд (более удобны в усвоении и использовании). Вместо двоичных и восьмеричных кодов стали использоваться мнемонические символьные обозначения. Это явилось существенным шагом в развитии. Ассемблерные языки по-прежнему остались машинно-зависимыми, а программист так и должен был хорошо знать архитектуру ЭВМ и язык программирования. Программы все также затруднительны в чтении, трудоемки в отладке, требует больших усилий при переносе с одной электронно-вычислительной машины на другую. Основная отличительная особенность – это ориентирование на абстрактный компьютер с той же системой команд.

- языки третьего поколения (1960 год): общего назначения, используемые для создания специальных прикладных программ, для управления базами данных (еще проще в усвоение, нежели языки второго поколения). Основная отличительная особенность – это ориентирование на алгоритм. Третье поколение языков программирования началось в 1956 году с появления первого языка высокого уровня - Фортрана. За сравнительно небольшой отрезок времени этот язык стал основным языком программирования при решении научных, инженерно-технических задач. Первоначально Фортран имел ограниченные средства обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное его развитие сделало его самым распространенным ЯВУ. Вскоре после этого языка появляются такие языки, как Алгол, Бейсик, Паскаль, Ада, Кобол. Всего в мире существует около 200 популярных языков программирования третьего уровня.

- языки четвертного поколения (начало 1970 и по сегодняшний день): усовершенствованные, разработанные для специальных прикладных программ (ориентированы на непрофессионального пользователя). Языки программирования этого поколения носят ярко выраженный непроцедурный характер. В программах теперь формируется скорее соотношение, нежели последовательность шагов выполнения алгоритма. Эти языки более пригодны для применения непрофессионалами в области программирования. Отличительная особенность данных языков – это приближение к человеческой речи. Некоторые языки имеют черты и третьего и четвертого поколения одновременно.

- языки пятого поколения: объектно-ориентированные языки, визуальные (ориентированы на повышение интеллектуального уровня электронно-вычислительных машин и интерфейса с языками).

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

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

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

Компилятор переводит исходный текст программы на машинный язык целиком, а интерпретатор выполняет исходный текст прямо во время исполнения программы.

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

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

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

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

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

Такие языки программирования, как Java и C#, находятся между компилируемыми и интерпретируемыми. То есть программа компилируется не в машинный язык, а в машинно – независимый код низкого уровня, байт - код. Для выполнения байт – кода используется интерпретация, несмотря на то, что отдельные части этого кода для ускорения работы могут быть транслированы в машинный код непосредственно во время выполнения программы.

Заключение

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

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

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

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

В данной курсовой работе были рассмотрены наиболее популярные языки программирования, такие как Си++, Си, Бейсик, Паскаль.

Сформулируем основные перспективы развития языков программирования:

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

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

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

В заключение хотелось бы сказать такие слова Брайэна Кернигана: «Единственный способ изучать язык программирования – это писать на нем программы».

Список источников