Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Декларативные языки;

Объектно-ориентированные языки

Смолток (Smalltalk – светская беседа) начал разрабатываться в 1970 г. в исследовательской лаборатории XEROX (США) и первоначально предназначался для реализаций функций машинной графики. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В нем отсутствуют операторы или данные. Все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия Visual Age for Smalltalk развивается компанией IBM.

Язык Cи++ (C++) был разработан в начале 80-х гг. Бьярном Страуструпом в лаборатории Bell корпорации AT&T. К 1990 г. была выпущена третья версия языка C++, стандартизированная американским государственным комитетом стандартов ANSI. Объектно-ориентированное расширение языка Си позволило резко повысить производительность труда программистов, унаследовав при этом определённую низкоуровневость.

В 1990 г. сотрудник корпорации Sun Д. Гослинг разработал объектно-ориентированный язык на основе расширения C++, путём исключения из него низкоуровневых возможностей. Новая интегрируемая в Internet версия языка получила название Java (Ява, Джава). Синтаксис языков C++ и Java практически полностью совпадает. Принципиальным различием является то, что язык C++ компилируется в машинный код, a Java – в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора – виртуальной Java-машины (Java Virtual Machine), версии которой созданы сегодня для любых платформ.

К объектно-ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. VBA (Visual Basic for Application – Visual Basic для приложений) является общей языковой платформой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирования языков Бейсик-диалектов. VBA помогает довольно сильно расширить возможности приложений за счет написания макросов — программ, предназначенных для автоматизации выполнения многих операций. Программы на языке VBA для приложений создаются двумя способами: в автоматическом режиме как результат записи клавишной макрокоманды и путем написания программного кода.

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

Первым функциональным языком стал Лисп (LISP, LISt Processing – обработка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. Существенная черта языка — единообразие программных структур и структур данных: все выражения записываются в виде списков.

Логическое или реляционное программирование началось с создания в 1973 г. французским ученым Аланом Кольмероэ языка искусственного интеллекта Пролог (PROLOG – PROgramming in LOGic – программирование в терминах логики) Концепция логического программирования базируется на понятии отношения. Логическая программа — это совокупность аксиом и правил, определяющих отношения между объектами и целью. Выполнение программы представляет собой попытку доказательства логического утверждения, построенного из программы по правилам, определенным семантикой используемого языка. Результатом вычислений по методу резолюций является вывод следствий из аксиом. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска (вычисление методом проб и ошибок). Программа на языке Пролог, в основу которой положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Пользователь только описывает структуру задачи, а внутренний механизм Пролога сам ищет решение с помощью методов поиска и сопоставления.

Декларативные языки программирования

К ним относятся функциональные и логические языки программирования. Функциональное программирование- это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп ( LISP , LIST Processing- обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации. Логическое программирование- это программирование в терминах логики. В 1973 году был создан язык искусственного интеллекта Пролог ( PROLOG ) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

Функциональное программирование

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

Логическое программирование

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

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Читать еще:  0x80070571 ошибка при восстановлении системы

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

Создание декларативных мини-языков

Программирование как утверждение, а не как инструкция

Серия контента:

Этот контент является частью # из серии # статей: Очаровательный Python

Этот контент является частью серии: Очаровательный Python

Следите за выходом новых статей этой серии.

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

Позвольте мне перечислить несколько языков, которые относятся к различным категориям. Многие читатели уже используют большинство этих инструментов, не задумываясь о категориальных различиях между ними. Python, C, C++, Java, Perl, Ruby, Smalltalk, Fortran, Basic, xBase — всё это просто императивные языки программирования. Некоторые из них являются объектно-ориентированными, но это всего лишь вопрос организации кода и данных, а не основного стиля программирования. В этих языках вы даете программе команды выполнить последовательность инструкций: разместить некие данные в переменную; выбрать данные обратно из переменной; исполнить группу инструкций цикла пока не выполнено некоторое условие; сделать что-либо, если что-то истинно (true). Прелесть всех этих языков заключается в том, что о них удобно думать в рамках знакомых житейских метафор. Обычная жизнь состоит из выполнения одного действия, осуществления выбора, а затем исполнения другого действия, возможно с использованием некоторых инструментов. Легко представить себе компьютер, выполняющий программу, как повара, или каменщика, или шофера.

Языки, похожие на грамматики Prolog, Mercury, SQL, XSLT, EBNF, а на самом деле и конфигурационные файлы различных форматов, — все они объявляют, что имеет место ситуация, или что применяются определенные ограничения. Функциональные языки (такие как Haskell, ML, Dylan, Ocaml, Scheme) — подобны, однако, с приданием большего значения формулированию внутренних (функциональных) отношений между программными объектами (рекурсией, списками и т.д.). Наша обычная жизнь, по крайней мере, ее описательная сторона, не имеет прямого аналога программных конструкций этих языков. Однако, для тех проблем, которые вы легко можете описывать на этих языках, декларативные описания гораздо более лаконичны и в значительно меньшей степени подвержены ошибкам по сравнению с императивными решениями. Рассмотрим, например, систему линейных уравнений:

Это весьма элегантная запись, которая устанавливает отношения между объектами (x, y и z). Возможно, вы сталкивались с этими фактами в различных ситуациях реальной жизни, но на самом деле нахождение x вручную, на листке бумаги — это кропотливая работа, чреватая ошибками. Но написание этих шагов на Python, возможно, еще хуже — с точки зрения отладки.

Prolog — это язык, который приближается к логике и математике. В нем вы просто записываете утверждения, которые, как вы знаете, должны быть истинны, а затем требуете, чтобы приложение делало для вас выводы. Утверждения записываются вне какой-либо определенной последовательности (так же как и у линейных уравнений отсутствует порядок следования), и программист/пользователь не имеет ни малейшего представления о том, какие шаги участвуют в получении результатов. Например:

Не совсем идентично, но схоже по духу объявление грамматики EBNF (Extended Backus-Naur Form, Расширенная форма Бэкуса-Наура). Вы могли бы записать несколько следующих объявлений:

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

В качестве еще одного примера рассмотрим объявление типа документа, которое описывает диалект допустимых XML-документов:

Как и в других примерах, язык DTD не содержит никаких инструкций о том, что делать, чтобы распознать или создать допустимый XML-документ. Он просто описывает, каким мог бы быть документ, если бы он должен был существовать. Для декларативных языков характерно сослагательное наклонение.

Python как интерпретатор в сравнении с Python как средой

Библиотеки Python могут использовать декларативные языки одним или двумя совершенно различными способами. Возможно, более общий подход — это разобрать и обработать непитоновские декларативные языки как данные. Приложение или библиотека может считать внешний источник (или строку, определенную внутренне, но только как «блоб»), затем определить ряд императивных шагов для выполнения, которые некоторым образом соответствуют внешним объявлениям. В сущности, эти типы библиотек являются системами, «управляемыми данными»; существует концептуальный и категориальный разрыв между декларативным языком и тем, что приложение Python делает, чтобы выполнить или использовать его объявления. К тому же, как правило, библиотеки, обрабатывающие эти идентичные объявления, реализуются также и для других языков программирования.

Все приведенные выше примеры относятся к этому первому подходу. Библиотека PyLog — это Питоновская реализация системы Prolog. Она читает Прологовский файл данных как шаблон, затем создает объекты Python для моделирования объявлений Prolog. Пример для EBNF использует специфический вариант SimpleParse , который является библиотекой Python, преобразующей эти объявления в таблицы состояний, которые могут использоваться mx.TextTools . Сам mx.TextTools — это библиотека расширений для Python, которая, будучи написана на C, исполняет код, хранимый в структурах данных Python, но имеет весьма отдалённое отношение к собственно Python. Python — это великолепная склейка для таких задач, но сами склеенные языки сильно отличаются от Python. Большинство реализаций Prolog к тому же написано на языках, отличных от Python, как и большинство парсеров для EBNF.

DTD подобен остальным примерам. Если вы используете валидирующий парсер, как xmlproc , вы можете воспользоваться DTD, чтобы проверить диалект XML-документа. Однако язык DTD «непитоновский», и xmlproc просто использует его в качестве данных, которые необходимо разобрать. Более того, валидирующие парсеры XML написаны на многих языках программирования. Подобно этому и преобразование XSLT — оно «непитоновское», а такой модуль, как ft.4xslt , просто использует Python как связующее средство.

Хотя в упомянутых выше подходах и инструментах нет ничего дурного (я постоянно их использую), было бы более элегантно — и в некоторых отношениях более выразительно — если бы сам Python мог быть декларативным языком. Тогда библиотеки, которые выполняли бы это, не требовали бы от программистов думать о двух (или более) языках при написании одного приложения. Иногда естественно и обоснованно изучить интроспективные возможности Python, чтобы реализовать «родные» объявления.

Читать еще:  Возникла ошибка при запуске kernel32 bin

Магия интроспекции

Парсеры Spark и PLY разрешают пользователям объявлять Питоновские значения в Python, а затем используют немного магии, чтобы позволить среде исполнения Python выступать в качестве конфигуратора разбора. Рассмотрим, например, эквивалент предшествующей грамматики SimpleParse, описанный с помощью PLY . (пример для Spark почти аналогичен):

Я написал о PLY в моей готовящейся к публикации книге «Текстовая обработка в Python» («Text Processing in Python») и рассказывал о Spark в этой рубрике (см. Ресурсы). Не вдаваясь в подробности об этих библиотеках, замечу, что все, на что здесь следует обратить внимание, это то, что разбор (в данном примере, лексическое сканирование) непосредственно конфигурируется Питоновскими объявлениями. Просто модуль PLY знает достаточно, чтобы действовать на основании этих шаблонных описаний. Как именно PLY выясняет, что делать, подразумевает весьма причудливое программирование на Python. На начальном этапе программист среднего уровня поймет, что можно исследовать содержимое словарей globals() и locals() . Было бы неплохо, если бы стиль объявления был слегка другим. Представьте, например, что код был бы таким:

Этот стиль не стал бы ничуть менее декларативным, а модуль basic_lex гипотетически мог бы содержать что-нибудь простое вроде:

Это сгенерировало бы:

PLY ухитряется проникнуть в пространство имен импортирующего модуля, используя информацию о кадре стека. Например:

Это производит такой же результат, как и полученный в примере basic_app.py , но с объявлениями, использующими предыдущий стиль t_TOKEN .

В реальном модуле PLY присутствует больше волшебства. Мы видели, что лексемы, обозначенные шаблоном t_TOKEN , могут на самом деле быть либо строками, содержащими регулярные выражения, либо функциями, которые включают строки документации (docstring) регулярных выражений вместе с действующим кодом. Некий контроль типов обеспечивает полиморфное поведение:

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

Магия наследования

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

Модуль gnosis.xml.validity — это библиотека для создания классов, которые отображаются прямо на результирующие DTD. Любой класс gnosis.xml.validity может быть создан только с аргументами, подчиняющимися ограничениям допустимости диалекта XML. На самом деле это не совсем верно; этот модуль также будет выводить правильные типы из более простых аргументов, если существует только один непротиворечивый способ «достроить» тип до корректного состояния.

Поскольку модуль gnosis.xml.validity написал я сам, я склонен считать, что его предназначение само по себе интересно. Но в этой статье я лишь хочу рассмотреть декларативный стиль, в котором создаются классы допустимости. Набор правил/классов, соответствующих предыдущему шаблону DTD, состоит из:

Вы могли бы создать экземпляры из этих объявлений используя:

Заметьте, как близко эти классы соответствуют предыдущему DTD. Это отображение в основном «один к одному», с тем исключением, что необходимо использовать промежуточные имена для определение числа и чередования вложенных тегов (промежуточные имена помечены начальным символом подчеркивания).

Также обратите внимание, что, будучи созданы с использованием стандартного синтаксиса Python, эти классы являются необычными (и более лаконичными) в том, что не имеют ни методов, ни данных экземпляра. Классы определяются исключительно, чтобы наследовать некую структуру, причем эта структура ограничена единственным атрибутом класса. Например, является последовательностью других тегов, а именно: , за которым следует один или более тегов

. Но все, что нам необходимо сделать, чтобы обеспечить выполнение этого ограничение в экземпляре, это лишь объявить класс chapter .

Главная «хитрость», используемая при программировании таких родительских классов, как gnosis.xml.validity.Seq , это рассмотреть атрибут .__class__ экземпляра во время инициализации. Класс chapter не имеет собственной инициализации, поэтому вызывается метод __init__() его родителя. Но self , передаваемый в родительский __init__() , является экземпляром chapter , и он это знает. В качестве иллюстрации рассмотрим фрагмент реализации gnosis gnosis.xml.validity.Seq :

Если разработчик приложения пытается создать экземпляр chapter , код реализации контролирует, что chapter был объявлен с необходимым атрибутом класса ._order , и этот атрибут является кортежем. Метод .validate() выполняет еще несколько проверок, чтобы убедиться, что объекты, с которыми был инициализирован этот экземпляр, принадлежат соответствующим классам, указанным в ._order .

Когда объявлять

Декларативный стиль программирования почти всегда более прямой способ задания ограничений, чем императивный или процедурный. Разумеется, не все проблемы программирования связаны с ограничениями — или, по крайней мере, не всегда естественно формулируются в таких терминах. Но проблемы систем, основанных на правилах, таких как грамматики и системы логического вывода, решаются много проще, если они могут быть описаны декларативно. Императивная верификация соответствия грамматике быстро превращается в трудноотлаживаемый код «спагетти». Утверждения шаблонов и правил могут быть гораздо проще.

Декларативный язык программирования

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

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

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

Наиболее распространённым языком логического программирования является язык Пролог.

Wikimedia Foundation . 2010 .

Смотреть что такое «Декларативный язык программирования» в других словарях:

Декларативный язык программирования — язык программирования высокого уровня, построенный: на описании данных; и на описании искомого результата. Декларативные языки подразделяются на функциональные и логические языки. См. также: Декларативные языки программирования Языки… … Финансовый словарь

декларативный язык — Язык программирования для выражения определений. Примечание В качестве такого языка часто выступает язык описания данных. [ГОСТ 19781 90] декларативный язык непроцедурный язык Язык программирования, который задает отношения между объектами, но не … Справочник технического переводчика

Декларативный язык — 34. Декларативный язык Declarative language Язык программирования для выражения определений. Примечание. В качестве такого языка часто выступает язык описания данных Источник: ГОСТ 19781 90: Обеспечение систем обработки информации программное.… … Словарь-справочник терминов нормативно-технической документации

Oz (язык программирования) — Oz Семантика: функциональный, процедурный, декларативный, объектно ориентированный, вычисления с ограничениями, Н модели, параллельные вычисления Тип исполнения: компилируемый Появился в: 1991 Автор(ы): Gert Smolka his students Релиз … Википедия

Читать еще:  Ошибка 492 при скачивании

Mercury (язык программирования) — У этого термина существуют и другие значения, см. Mercury. Mercury Класс языка: логический, функциональный Появился в: 1995 Автор(ы) … Википедия

Оз (язык программирования) — Oz Семантика: функциональный, процедурный, декларативный, объектно ориентированный, вычисления с ограничениями, Н модели, параллельные вычисления Тип исполнения: компилируемый Появился в: 1991 г. Автор(ы): Gert Smolka his students Последняя… … Википедия

Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Условные обозначения … Википедия

QML — Класс языка: декларативный, скриптовый Появился в: 2009 Автор(ы): Nokia Расширение файлов: .qml Релиз: 4.8.2 … Википедия

ГОСТ 19781-90: Обеспечение систем обработки информации программное. Термины и определения — Терминология ГОСТ 19781 90: Обеспечение систем обработки информации программное. Термины и определения оригинал документа: 9. Абсолютная программа Non relocatable program Программа на машинном языке, выполнение которой зависит от ее… … Словарь-справочник терминов нормативно-технической документации

Парадигма — (Paradigm) Определение парадигмы, история возникновения парадигмы Информация об определении парадигмы, история возникновения парадигмы Содержание Содержание История возникновения Частные случаи (лингвистика) Управленческая парадигма Парадигма… … Энциклопедия инвестора

Декларативные языки программирования

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

Функциональное программирование— это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп (LISP, LIST Processing- обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации.

Логическое программирование— это программирование в терминах логики.

В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

Языки программирования баз данных.

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

ü создание, преобразование и удаление таблиц в БД;

ü поиск, отбор, сортировка по запросам пользователя;

ü добавление новых записей и модификация существующих, удаление записей и др.

Для обработки больших массивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (Structured Query Language). Язык SQL – это стандартный язык работы с реляционными базами данных.

Сегодня в мире ведущие производители СУБД: Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Практически в каждой СУБД имеется свой встроенный язык работы с БД. Так, например, в Oracle имеется встроенный язык PL/SQL, в Informix – INFORMIX 4GL, в Adabas – Natural и т.д.

Языки программирования для компьютерных сетей

Языки программирования для компьютерных сетей являются интерпретируемыми. Интерпретаторы для них распространяются бесплатно, а сами программы – в исходных текстах. Такие языки называются скрипт – языками.

Язык HTML (Hyper Text Markup Language) – универсальный язык разметки гипертекста, используемый для подготовки Web документов для Internet. Язык позволяет форматировать текст, добавлять графические образы, работать с таблицами и организовывать связь одного документа с другим с помощью механизма гиперссылок.

Язык Perl (80 г) содержит многочисленные функции работы со строками, массивами, всевозможные средства преобразования данных.

Язык PHP (1995-1997гг) обладает средствами доступа к БД и используется создателями динамических сайтов во всем мире.

Язык Tcl/Tk (конец 80-х годов) состоит из мощных команд, предназначенных для работы с абстрактными нетипизированными объектами и позволяет создавать программы с графическим интерфейсом.

Язык VRML (1994г) создан для организации виртуальных трехмерных интерфейсов в Интернете.

Язык XML. С 1996г идет работа над созданием универсального языка структуры документов. Может стать заменой языка HTML.

6. Характеристики и возможности языков и сред программирования.

ABAP

Парадигма:

Типизация:

ABAP (Allgemeiner Berichts-Aufbereitungs-Prozessor, перевод с немецкого «Процессор для создания отчетов”) — высокоуровневый язык, созданный немецкой компанией SAP. На данный момент позиционируется, как язык для создания приложений для SAP Web Application Server, являющейся частью NetWeaver, платформы для создания бизнес приложений.

АДА

Русское название: Ада
Дата создания: 1983
Создан под влиянием:

Парадигма:

Типизация:

Принятые расширения файлов: .adb .ads .ada

Диалекты:

Реализации и версии:

· IBM Rational Ada Developer

Ада — мощнейший объектно–ориентированный язык общего назначения, ориентированный на разработку надёжного программного обеспечения. В язык включены механизмы поддержки параллельного исполнения, обработки исключений, настраиваемых модулей, поддержки распределённых вычислений, стандартные интерфейсы к другим языкам и библиотекам. Ада имеет компиляторы под практически любую операционную систему плюс Java и .NET байткод.

Ада — язык программирования, созданный в 1979–1980x годах в результате проекта, предпринятого Министерством Oбороны США с целью разработать единый язык программирования для так называемых встроенных систем (то есть, систем управления автоматизированными комплексами, работающими в реальном времени). Имелись в виду, прежде всего, бортовые системы управления военными объектами . Перед разработчиками не стояло задачи создать универсальный язык, поэтому решения, принятые авторами, нужно воспринимать в контексте особенностей выбранной предметной области.

Ада — это структурный, модульный, объектно-ориентированный язык программирования, содержащий высокоуровневые средства программирования параллельных процессов. Синтаксис унаследован от языков типа ALGOL или Pascal, но расширен, а также сделан более строгим и логичным. Ада — язык со строгой типизацией, в нём исключена работа с объектами, не имеющими типов, а автоматические преобразования типов сведены к абсолютному минимуму.

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

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

Ссылка на основную публикацию
Adblock
detector