Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Классификация языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 336

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Данные, в непроцедурных языках обрабатываются после выполнения указанных условий по фиксированным алгоритмам (табличные языки и генераторы отчетов). Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения. Табличные методы легко осваиваются специалистами любых профессий[22]. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.

Непроцедурные языки подразделяются на: Объектно-ориентированные (Java, Delphi, Visual Basic, C++) и Декларативные.

Наряду с алгоритмическими языками развивались декларативные языки, созданные как языки искусственного интеллекта, а также для обработки деловой информации, такие как COBOL, Lisр (функциональный язык программирования; ориентирован на структуру данных в форме списка, позволяет организовать эффективную обработку больших объемов текстовой информации.), Prolog (основанный на системе правил). При написании декларативных языков (описательных) используется описание условий, а также каким должен быть результат, согласно имеющимся данным, не описывая процесс и последовательность выполнения действий. Отличительная особенность в декларативном языке, что программист не пишет алгоритм программы, он указывает исходные информационные структуры, взаимосвязи и какими свойствами должен обладать результат. Декларативные языки можно подразделить на две группы – логические (типичный представитель – Пролог) и функциональные (Лисп) [23].


Функциональные (аппликативные) языки программирования выполняют действия при помощи вызова функций или функций в функции. Функции в коде нужны для упрощения процесса программирования[24]. Подразумевается, что изначальные данные будут обработаны с помощью функции[25]. Язык логического программирования обрабатывает факты, данные и выражения, и обрабатывая их, как следствие и выдает результат обработки. Логичный язык используют стиль парадигмы, основанной на системе правил, это делает язык достаточно легким для изучения. Для создания больших программ с большим функционалом одного логического языка программирования будет недостаточно. Логичный язык подойдет для написания программы с искусственным интеллектом и работы с данными, однако редко используется без сторонних языков.

Пролог (Prolog) – это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В Прологе программа действует методом проверки каждого из возможных предположений. Выставляется предположение №1, которое проверяется на истину с помощью заданных баз данных, на выполнение заданного условия или совпадения. Если предположение №1 не выполнило заданных условий или не совпало с информаций из баз данных, оно является ложным и проверяется предположение №2, и так далее. Это процесс возврата. Для исследований в сфере изучения искусственного интеллекта подойдет Prolog и Lisp. Синтаксис ЯП основанных на парадигме основанных на системе правил выглядит[26]:

разрешающее условие_1 ->действие_1 разрешающее условие_2 ->действие_2 разрешающее условие_n ->действие_n

SQL, является прежде всего информационно-логическим языком, предназначенным для описания, изменения. Основные функции: создание в базе данных новой таблицы; добавление в таблицу новых записей; изменение записей; удаление записей; выборка записей из одной или нескольких таблиц (в соответствии с заданным условием); изменение структур таблиц.

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

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


Успешные примеры объектно-ориентированного языка: С++, Java, С#. Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi (язык объектно-ориентированного «визуального» программирования, обладает мощностью и гибкостью языков Си и Си++, простой интерфейс при разработке приложений, обеспечивающих взаимодействие с базами данных и поддержку различного рода работ в рамках корпоративных сетей и сети Интернет) и Visual Basic.

Одно из правил языка Си: функция не может содержать в себе другую функцию, а переменные делятся на глобальные и локальные. В языке Си создается много объектов выполняющих свою определенную функцию, как отдельные независимые компьютеры[29].

Стоит отдельно выделить классификацию языков веб-программирования, которые предназначены для работы с веб-технологиями. Особенность самих программ – в исходных текстах. Такие языки так же называются скриптязыками.

С развитием сети Интернет расширяется возможность распределения обработки данных. Появляются языки, разработанные для создания серверных приложений, например, Java, PHP и языки описания документов HTML(язык гипертекстовой разметки). HTML, не является ЯП, с помощью него создаются статические документы, можно посмотреть текст, рисунки[30].

Языки вебпрограммирования можно условно разделить на две пересекающиеся группы: клиентские и серверные[31].

В клиентских языках действия выполняется браузером со стороны пользователя. В случае, когда пользователь запретил выполнять клиентские программы, браузер не выполнит прописанное по скрипту (клиентскому языку программирования) действие. Так же может возникнуть ситуация в случае обновления браузера, старый скрипт не будет работать или будет работать не так. Поэтому, это является проблемным местом. При этом выполнения части действий со стороны пользователя, поможет упростить работу для программ написанных на серверном языке программирования, снижая нагрузку на сервер[32]. Самыми распространенными клиентскими языками программирования являются:

• HTML

• CSS

• JavaScript

• VBScript

• ActionScript

• Java

Серверные языки. Когда пользователь дает запрос на какую-либо страницу (переходит на неё по ссылке или вводит адрес в адресной строке своего браузера[33]), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML.


Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается[34].

К серверным языкам программирования можно отнести:

• PHP

• Perl

• Python

• Ruby

• любой .NET язык программирования (технология ASP.NET)

• Java .

2. Составляющие и выбор среды программирования

Язык программирования – инструмент для производства программных услуг[35]. Среда разработки программного обеспечения, является система средств, которые использует программист для разработки программ. В зависимости от задачи программисты используют тот или иной язык программирования. Так же и со средой программирования, в зависимости от программы и языка, на котором она написана, поставленной задачи, требуются разные среды программирования. Среды программирования (среды разработки) - это программы, в которых программисты пишут свои программы (коды) на выбранном языке программирования.

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

В текстовом редакторе программист пишет текст программы, программный код. Транслейтор может быть представлен в виде интерпретатора и компилятора.[36] Интерпретатор переводит ЯП по частям в промежуточный язык, а потом в машинный код. Если интерпретатор найдет ошибку в части кода, то следующую часть переводить не будет. Компилятор, сканирует код программы полностью, а потом переводит язык программирования на язык понятный машине, машинный код[37]. Компилятор так же проверяет текст программы на наличие синтаксических ошибок. Компилируемые языки: C, C++, C#, Fortran, Pascal, Ada. Интерпретируемые языки: Lisp, ML, Perl, Prolog, Smalltalk[38].

Отладчик, судя из названия, нужен для отладки программ. Ошибки могут быть синтаксическими, тогда компилятор выявляет их, и логическими. Для тестирования на логические ошибки программного языка и нужен отладчик. Для экономии времени программиста, среды программирования содержат части программного кода, со ссылкой на внешний источник[39]. Отладчик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей)[40]. Внешним источником может быть личная библиотека группы программистов в одной компании, или в стандартные общедоступные библиотеки. Например, файл с расширением .exe (для Windows), либо .out (для Linux). После загрузки программы, отладчик начинает тестирование и выполнение программы.


Среды разработки изначально подготавливались под определенный язык. В основном, после выбора языка для разработки, долго выбирать среду реализации не потребуется, они уже разработаны для основных задач, которые могут потребоваться. Для языка программирования Basic подходит среда программирования (реализации) Quick Basic, для Pascal – Virtual Pascal. Среда реализации занимается поиском и выявлением ошибок в коде, редактирует исходные данные, отлаживает и генерирует тексты в программном коде. Но существуют среды разработки, предназначенные для нескольких языков, такие как Eclipse или Microsoft Visual Studio.

С развитием объектно-ориентированного программирования широкое распространение получили среды визуального программирования. Среды визуального программирования- среды реализации, где самые распространённые блоки кода выражены в виде графических объектов[41]. Одним из результата развитий, появились среды программирования ориентированных систем на быструю разработку[42] (RAD системы). Rapid Application Development — среда быстрой разработки приложений. Среда быстрой разработки позволяет программисту создавать только логику приложения, последовательность и функции, RAD система же доделывает рутинную работу, типа интерфейса и кнопок. Благодаря данным новшествам, производительность программиста очень выросла. Например, среда программирования Delphi позволяет легко и быстро создавать законченные приложения для Windows, так же является RAD[43].

Наиболее часто используемыми являются визуальные среды Delphi, Borland C++Builder, Visual C++, Visual Basic фирмы Microsoft, Visual Ada фирмы IBM и др. C++Builder, использует большую библиотеку готовых частей кодов, которую постоянно обновляют и увеличивают в зависимости от потребностей и задач программистов. Данная среда использует язык С++, библиотека VCL (Visual Component Library). Конкурентом, является Microsoft Visual Studio, быстродействующая и мощная система RAD, уже без такой мощной поддержки постоянно обновляемой библиотеки данных.

С развитием современных языков программирования, среды для разработки программ тоже развивались, стремясь упросить задачу программиста. В одном случае язык должен быть простым для понимания, строгим и по возможности лишенным "подводных камней[44]". Во втором − пусть сложным, но эффективным и выразительным инструментом для профессионала. Каждая среда программирования предоставляет свой интерпретатор или компилятор с этого языка, который зачастую допускает использование конструкций, не фиксированных в стандарте.