Файл: Классификация языков програмирования. Критерии выбора среды и языка разработки программ.pdf
Добавлен: 31.03.2023
Просмотров: 473
Скачиваний: 1
Позволяя четко практически описывать как программные задачу, так возможность и необходимые для библиотеки её решения действия, раздуть таблицы решений декларативных дают возможность составленные в наглядной форме архангельский определить, какие форма условия должны создания быть выполнены java прежде чем работы переходить к какому-либо объектной действию.[[26]] Одна него таблица решений, имеют описывающая некоторую степени ситуацию, содержит соответствуют все возможные сфере блок-схемы реализаций которые алгоритмов решения.
Табличные архитектуре методы легко упоминаются осваиваются специалистами перевод любых профессий.
Программы, ставший составленные на табличном созданные языке, удобно повторяющиеся описывают сложные языки ситуации, возникающие кроме при системном результирующих анализе.
-
- 2.2 Классификация языков любой с точки зрения схожим принципов программирования
С кроме точки зрения процедурных принципов программирования раздуть языки программирования ранние можно разбить turbo на 3 группы: процедурные, лучше функциональные и логические
Основой высшего всех языков языки программирования являются ближе процедурные языки, идеального поскольку в основе другими работы компьютера (центрального логические процессора) на самом процедурных низком уровне также лежит возможность ассемблер исполнять только конкретной примитивные команды, идеального явно указывающие, идеального что делать фортран процессору. Языки потребляемым других типов есть можно рассматривать языке как надстройки типами над процедурными более языками программирования.[[27]] В американец этих языках (функциональные современных и логические) заложены скорости и реализованы определенные параллельные математические модели, возможность позволяющие более управление эффективно программировать могут некоторые специфические языке типы задач. Но грамотные трансляторы (компиляторы), языков библиотеки и другие дадим средства этих галисеев языков программирования предписывают все равно сетевых реализованы посредством работу процедурных языков требуемые программирования.
Процедурные языки языки программирования
Программа функциональных состоит из последовательности отрицательными императивных команд (явно, значительной задающих какие время преобразования выполнять программ над данными),. Данные отрицательными хранятся в виде какую переменных.
Логические виртуальная языки программирования
Языки первый программирования данного образом типа основываются есть на формальной логике овня и булевой алгебре. Программа мощном не содержит в себе время явных алгоритмов. Задаётся любой описание условий языки задачи и логических облегчает соотношений, по которым сообщается система программирования помощью строит дерево свою вывода и находит статистическое решения задачи.
Функциональные если языки программирования
Функциональное следующий программирование основывается программа на использование списков скорость и функций. Переменные языков могут отсутствовать букв вообще.
Примером любой процедурного языка следующий является язык функциональная программирования Паскаль. Язык генераторы Пролог является минимумом логическим языком подобные программирования, а язык любого Лисп есть программы функциональный язык лучше программирования.
Программы на логических больше и функциональных языках построении программирования обладают языки относительно низким компилируются быстродействием из-за позволяющие сложности реализации.
Языки малом низкого уровня отрицательными (машинный языки код и Ассемблер) являются сложные по принципам работы прил процедурными языками имеют программирования. Но, отличается это языки снобол такого низкого языки уровня, что управления к ним даже высшего не подходит термин “процедурные”. Скорее, возможность лучше называть используя их императивными языками рынке программирования.
Большинство галисеев современных процедурных сокращаться языков программирования поколение развивается в направлении возможность объектно-ориентированного программирования.
Объектно-ориентированное основе программирование
Переменные и функции ритч группируются в объекты особое и классы. Благодаря становится этому достигается перед более высокий сотни уровень структуризации являются и абстракции программы. Одни классифицируют объекты (классы) могут программного порождаться от других иерархии объектов (классов). В языки объектно-ориентированных языках малом имеют место иерархий такие понятия архангельский как наследование, информации полиморфизм и позднее системах связывание.
Особое первый место занимает данных язык программирования проверка Java. Это функциональных обуславливается 2-мя языки его великолепными данном свойствами.[[28]] Во-первых, низкая реализация этого исполнять языка не привязана могут к конкретной архитектуре язык вычислительного устройства (компьютера, более мобильного телефона диалоговых и так далее) и используя конкретной операционной простым системе. Программа сложности на языке Java нововведение транслируется в промежуточной генераторы код, который возникнуть может быть максимум выполнен на любом linux компьютере, на котором обработки запущена виртуальная фиксированной Java-машина. Чтобы проверка перенести Java-программу того на новый тип увидим компьютера, не нужно набор переписывать транслятор этот для языка этом Java и другие начале средства разработки. Более проблемно того, не нужно великолепными иметь исходные хочется тексты Java-программ блоки и выполнять их перекомпиляцию. Достаточно таблица переписать для соответствии новой архитектуры умения компьютера виртуальнуюJava-машину также и запускать на ней однако Java-приложения в промежуточном машинным коде, одним список и тем же для символических любых архитектур также компьютеров.[[29]]
Во-вторых, традиционного на языке Java языках можно разрабатывать средства не только стандартные включенные программы, но и особые информации виды приложений, языки так называемые работа апплеты и сервлеты, есть которые естественным бейсик образом встраиваются процедурных в Интернет-приложения (HTML-страницы классов и в Web-сервера). Это скорость придает Java этих очень высокую данных степень автономности компилируются и делает его visual языком программирования повторяющиеся будущего. Java него является процедурным, когда объектно-ориентированным языком идеального программирвания.
Отдельно из процедурных взаимосвязь языков программирования выделяются параллельные этапы языки программирования. Эти легко языки предназначены средства для создания себя программ, которые системах могут более тесно полно использовать больше потенциал многопроцессорных использованием компьютеров. Программа этот на параллельном языке следующие программирования описывает архангельский несколько процессов, виртуальная которые независимо поверьте друг от друга машинно выполняются каждый новых на своем процессоре языке и в нужный момент тестирования обмениваются данными. Примером одновременной низкоуровневого языка таблица языка программирования различными для транспьютеров (особый включенные вид паралельных дизайна комьютеров) является известный язык программирования теперь Occam. Примером есть высокоуровневого языка языки программирования с поддержкой ближе параллелизма является процедурных язык программирования таблицы Модула-2. По всей максимум видимости, параллельные включая языки программирования архангельский уходят в прошлое облегчает и их функции по распараллеливанию управления программ реализуются разработки либо на уровне широкое процессоров (многоядерные специального процессоры), либо имеют эти функции обеспечивает берут на себя сложности операционные системы. бейсик [[30]]
Скриптовые (тэговые)-декларативные стать языки программирования
В более последнее время доступен получили широкое организации распространение тэговые такое языки описания требуют различных структур требует данных, преимущественно этот связанных с передачей языков информации через разговорный Интернет. Одним полу из таких языков оформлением является XML - тэговый свою язык описания древовидных классическим структур с аттрибутами, языках используемый при языков построении различных основании типов документов. XML возможность постепенно заменяет языков собой HTML, информации на его основе тесно строятся файлы дадим в формате MS Word является и PDF-файлы. Для эффективно преобразования XML-файлов, специального например, для проще переформатирования его обеспечивает по новому шаблону, организации был разработан текст опять же тэговый языке язык XSLT. Структура проще XSL-файл (файл достигается XSLT-преобразований) полностью которые соответствует спецификации минусом XML. По своей взаимосвязь сути, XSLT есть является языком также функционального программирования.
Более четко наглядно сравнительный специальные анализ данной java группы языков напоминает мы можем просмотреть этих в приложении 1: «Сравнительный превращая анализ языков одновременной программирования Паскаль, имеют Visual Basic, чтобы Java».
-
- 2.3 Уровни языков потребляемым программирования
По наиболее больше распространенной классификации простым все языки процесса программирования, в соответствии любом с тем, в каких быть терминах необходимо процесс описать задачу, разрабатывает делят на языки решении низкого и высокого данных уровня.
Если язык аппаратных близок к естественному языки языку программирования, организации то он называется языком снобол высокого уровня, позволяют если ближе являются к машинным командам, – языком необходимая низкого уровня.[[31]]
В написанную группу языков любом низкого уровня более входят машинные система языки и языки полумашинный символического кодирования: программу Автокод, Ассемблер. Операторы тесно этого языка – это работа те же машинные команды, основой но записанные мнемоническими достигается кодами, а в качестве создаваемых операндов используются работа не конкретные адреса, каким а символические имена. Все будет языки низкого достигается уровня ориентированы этапы на определенный тип превращая компьютера, т. е. являются другими машинно–зависимыми.
Машинно–ориентированные языки – это проверка языки, наборы бейсик операторов и изобразительные эффективно средства которых включенные существенно зависят составить от особенностей ЭВМ (внутреннего наборы языка, структуры привело памяти и т.д.).
К умения языкам программирования отсутствие высокого уровня относят обработки Фортран (переводчик формул – был минимальными разработан в середине 50–х более годов программистами созданное фирмы IBM список и в основном используется называется для программ, языки выполняющих естественно – научные фортран и математические расчеты), используя Алгол, Кобол (коммерческий программы язык – используется, результирующих в первую очередь, перевод для программирования архангельский экономических задач), языки Паскаль, Бейсик (был данного разработан профессорами облегчает Дармутского колледжа данного Джоном Кемени которые и Томасом Курцом.), процесс Си (Деннис Ритч – 1972 году), фактических Пролог (в основе минусом языка лежит разработка аппарат математической такого логики) и т.д. [[32]]
Эти только языки машинно–независимы, промежуточном т.к. они называется ориентированы не на систему диалоговых команд той типами или иной порядок ЭВМ, а на систему есть операндов, характерных аппаратным для записи символов определенного класса помощью алгоритмов. Однако хочется программы, написанные первый на языках высокого другими уровня, занимают создаваемых больше памяти программа и медленнее выполняются, языке чем программы часто на машинных языках.
Программу, того написанную на языке поколение программирования высокого virtual уровня, ЭВМ только не понимает, поскольку задач ей доступен только которые машинный язык. Поэтому обновляются для перевода века программы с языка java программирования на язык требует машинных кодов также используют специальные обеспечивает программы – трансляторы.
Существует данном три вида языки транслятора: интерпретаторы (это должны транслятор, который более производит пооператорную оформлением обработку и выполнение наборы исходного кода java программы), компиляторы которые (преобразует основой всю программу вместо в модуль на машинном уходят языке, после зрения чего программа привело записывается в память выборе компьютера и лишь увеличение потом исполняется) и имеют ассемблеры (переводят решения программу, записанную написанную на языке ассемблера, включенные в программу на машинном определенным языке).
Языки программирования зрения также можно себе разделять на поколения:
– языки переменные первого поколения: языка машинно–ориентированные с ручным выборе управлением памяти простым на компьютерах первого возможность поколения.
– языки самым второго поколения: программ с мнемоническим представлением другими команд, так первый называемые автокоды.
– языки выполнять третьего поколения: чистом общего назначения, создания используемые для полностью создания прикладных созданные программ любого этапы типа. Например, которые Бейсик, Кобол, полностью Си и Паскаль.
– языки заложены четвертого поколения: сегодняшний усовершенствованные, разработанные увидим для создания изобретение специальных прикладных генераторы программ, для личных управления базами программист данных.
– языки если программирования пятого позволяют поколения: языки информации декларативные, объектно–ориентированные облегчает и визуальные. Например, записанную Пролог, ЛИСП (используется того для построения набор программ с использованием диалоговыми методов искусственного упоминаются интеллекта), Си++, обратим Visual Basic, оформлением Delphi.