Файл: Классификация языков программирования высокого уровня(Общие понятия языков программирования).pdf
Добавлен: 01.04.2023
Просмотров: 278
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1.Основные понятия об языках программирования
1.1. Общие понятия языков программирования
1.2. Назначение языков программирования
1.3. Что такое компилятор и интерпретатор
Глава 2. Классификация языков программирования
2.2. Языки программирования низкого уровня.
2.3. Языки программирования высокого уровня.
2.4. Объектно-ориентированные языки
2.5. Декларативные языки программирования.
2.6. Функциональные языки программирования
2.7. Логические языки программирования
2.8. Языки сценариев (скрипты)
2.9. Языки, ориентированные на данные
Классификация языков программирования [8] по категориям связана с методами, которые используются при написании программ (Рис.1).
Рис.1. Классификация языков программирования
Классификация языков программирования по категориям связана с методами, которые используются при написании программ.
2.1. Процедурные языки
Процедурные языки [11] являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрограммы (процедуры и функции). Компоненты языка состоят из последовательности операторов, которые используют библиотечные процедуры и функции. Первым процедурным языком был Fortran, затем появился Cobol, Algol, Pascal, C, Ada.
Программа на процедурном языке состоит из последовательности команд, определяющих процедуру решения задачи.
Фортран, Алгол предназначены для использования в научных целях.
КОБОЛ – для использования в мире бизнеса.
ВАSIС в равной степени годится для любых задач и в то же время достаточно прост для изучения.
2.2. Языки программирования низкого уровня.
Замечание 1 [7]. Программирование на первых компьютерах происходило с помощью двоичных машинных кодов. Такое программирование довольно трудоемкое и тяжелое. Для упрощения процесса программирования разрабатывались языки программирования низкого уровня, которые позволяли задавать машинные команды в понятном для человека виде. Чтобы преобразовать их в двоичный код создавались специальные программы – трансляторы.
К языкам низкого уровня относятся [9]:
- программирование в машинных кодах;
- ассемблер;
- макроассемблер.
Языки низкого уровня ориентировались на определенный тип процессора и учитывали его особенности, поэтому для того, чтобы перенести программу, написанную на ассемблере, на другую аппаратную платформу её нужно было почти полностью переписать. Различия присутствовали также и в синтаксисе программ под разные компиляторы. Языками низкого уровня пользуются преимущественно для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирования специализированных микропроцессоров, когда немаловажным является компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
2.3. Языки программирования высокого уровня.
В языках высокого уровня [11] особенности конкретных компьютерных архитектур не учитываются, поэтому написанные программы легко могут быть перенесены на другой компьютер. Зачастую достаточным является компиляция программы под определенную архитектурную и операционную систему. Разработка программ на языках высокого уровня значительно проще и ошибок намного меньше. К тому же время разработки программы значительно уменьшается, что является особенно важным фактором при работе над сложными программными проектами.
Недостаток некоторых языков [10] высокого уровня состоит в большом размере программ по сравнению с программами на языках низкого уровня. В то же время текст программ на языке высокого уровня гораздо меньше, но в байтах код, написанный на ассемблере, будет более компактным. Поэтому языки высокого уровня преимущественно используют для создания программного обеспечения для компьютеров и вычислительных устройств с большим объемом памяти. Языки же низкого уровня используются для написания программ к устройствам, для которых критичным является размер программы.
Языки высокого уровня делятся на универсальные и проблемно-ориентированные. Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др. Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.
Замечание 2 [7]. Проблемно-ориентированными языками, которые используются на Интернет-серверах и клиентских Интернет-приложениях, являются PHP, Perl, JavaScript, VBScript.
2.4. Объектно-ориентированные языки
Объектно-ориентированные [16] языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java.
2.5. Декларативные языки программирования.
В декларативном программировании [17] задается спецификация решения задачи, то есть дается описание того, что представляет собой проблема и какой ожидается результат. Программы, созданные с помощью декларативного языка, не содержат переменные и операторы присваивания. К декларативным языкам можно отнести SQL и HTML. К подвидам декларативного программирования относится функциональное и логическое программирование.
2.6. Функциональные языки программирования
Функциональные языки [16] являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel.
2.7. Логические языки программирования
Языки, ориентированные [17] на решение задач без описания алгоритмов, языки искусственного интеллекта. При использования декларативных языков программист указывает исходные данные, взаимосвязи между ними и то, какими свойствами должен обладать результат.
Алгоритм получения результата программист не строит.
В декларативных языках отсутствует понятие «оператор» («команда»).
Представителем логического программирования являютсяLisp иProlog, которым написано большинство экспертных систем.
Лисп –для обработки больших объемов текстовой информации.
Пролог (логическое программирование) – язык искусственного интеллекта.
2.8. Языки сценариев (скрипты)
Языки относятся к объектно-ориентированным языкам [17], используются для написания программ, которые исполняются в определенной программной среде. Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные особенности, присущие сетевым языкам: они являются интерпретируемыми. Такие языки получили название скрипт -языков.
Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек.
НТМL(НуреrТехtТгаnsferРгоtoсоl) – универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet.
Реrl – предназначался для эффективной обработки больших текстовых файлов.
VRML предназначен для организации виртуальных трехмерных интерфейсов в Internet. Он ориентирован на описание разнообразных трехмерных образов, цвето -теневого освещения в текстовом виде и позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» с разных сторон, вращаться в любых направлениях, масштабировать, управлять освещенностью и многое другое.
2.9. Языки, ориентированные на данные
Языки ориентированы [17] на работу с одним определенным типом данных. Для обработки больших массивов информации и выборки записей по определенным признакам.
При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей или модификация существующих; удаление записей и др.
Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами. Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro.
SQL (StructuredQueryLanguage) - структурированный язык запросов.
Итак, в данной главе мы рассмотрели основную классификацию языков программирования, привели примеры для каждого из основ классификации. В следующей главе мы рассмотрим основные языки объектно-ориентированного программирования, так как они в большей мере относятся к языкам высокого уровня и используются в повседневности в большей мере.
Глава 3.Обзор самых популярных языков программирования
3.1. С++
Это один из первых, и невероятно популярный до сих пор язык, которым просто обязан владеть каждый программист. Не обязательно начинать изучение программирования именно с него, но со временемС++всё равно станет одним из наиболее используемых компиляторов. С момента своего создания этот язык прошёл несколько стандартизаций и обновлений, благодаря чему остаётся актуальным и в наше время.
Основным его плюсом [1] является полная универсальность – на С++ можно писать всё. Именно благодаря этому его так часто используют профессионалы. Также можно отметить сравнительную простоту компилятора – если вы уже овладели С, Python илиJava, то работать с С++ для вас не составит труда.
Однако критиков у языка также достаточно [2]. Основные их аргументы – это неудобный синтаксис и то, что иногда результатом работы с С++ является слишком длинный программный код, что влечёт за собой некоторые неудобства в дальнейшей работе с программой.
Правда, вторая проблема была частично решена в 1998 году [25], когда были введены дополнительные шаблоны компилятора. В целом, что бы ни говорили критики, а С++ вот уже почти 30 лет остаётся одним из наиболее популярных языков программирования в мире.
3.2.Python
Питон [15] – достаточно популярный в наше время язык, суть которого сводится к тому, чтобы как можно проще было создавать сложные программы. Созданный на основе более ранних языков, он впитал в себя все их наработки и является более совершенным. К тому же он постоянно обновляется, последняя версия была выпущена в начале 2012 года.
Основные плюсы компилятора – минимализм, многофункциональность и простота. Но в свою очередь, за минимализм приходится платить низким быстродействием, а за минимализм – наличием множества ошибок в системном коде, некоторые из которых присутствуют и в самых последних версиях. Как бы то ни было, но и Python нашёл своих поклонников.
3.3.VisualBasic
Этот продукт от Майкрософт знают все программисты, ведь большинство именно на нём познавало азы работы с компиляторами [6]. Он прост, многофункционален и идеально подходит для быстрого создания прототипов программ.
Кроме широких возможностей по созданию программного кода, также с его помощью можно конструировать пользовательский интерфейс программы. Именно VB чаще всего используют профессионалы из Майкрософт для создания своих программ.
Недостатки у компилятор также есть. К ним относятся отсутствие указателей, низкоуровневый доступ к памяти компьютера. Также программа отличается невысокой скоростью работы и возможностью использования только на Windows и Mac OS X.