Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

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

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

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

Языки, компилируемые на основе псевдокода («шитого» кода). В этих языках исходный код программы компилируется и выполняется как последовательность вызовов подпрограмм из существующих библиотек. Таковыми являются некоторые версии Basic.

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

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

Языки, создающие процесс. После запуска программы создается отдельный процесс выполнения этой программы. Так происходит в языках С, С++, Object Pascal.

Сценарные языки. Сценарий, или скрипт, – это программа, которую выполняет другая программа. В качестве примером можно привести скрипты оболочки в UNIX, программы на языках PHP, Python, Ruby.

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

Автономные языки программирования (С, С++, Java) являются автономным инструментом для создания программ.

Встроенные языки программирования являются частью какой-то системы и позволяют создавать программы, предназначенные для работы только в этой системе. Пример наиболее известного встроенного языка – VBA (Visual Basic for Applications), который используется только внутри приложений Microsoft Office для автоматизации и расширения их функциональности. Встроенными являются также язык программирования системы 1C и язык JavaScript, который выполняется только внутри интернет-приложений.

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

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

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

По парадигмам языки программирования делятся на императивные (процедурные), функциональные, логические и объектно-ориентированные.

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

Функциональные языки описывают требуемый результат в виде набора вложенных друг в друга функций (Haskell).

Логические языки описывают требуемый результат в виде суммы логических операций (Prolog).

Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы объектно-ориентированного программирования (ООП): инкапсуляцию, наследование и полиморфизм (С + +, Java, Object Pascal, и др.).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.