Языки программирования 4 поколения

Языки программирования 4 поколения

язык программирования четвертого поколения — Fourth-generation programming language

Язык 4-го поколения программирования ( 4GL ) или ( процедурный язык ) является любым компьютером языка программирования , который принадлежит к классу языков , предусмотренным в качестве продвижения при языках программирования третьего поколения (3GL). Каждый из языков программирования поколений стремится обеспечить более высокий уровень абстракции внутренних компьютерных аппаратных деталей, что делает язык более программист содружественная, мощный и универсальный. Хотя определение 4GL изменилось с течением времени, это может быть прообразом, работая больше с большими коллекциями информации сразу , а не сосредотачиваться на только биты и байты . Языки утверждал, что 4GL может включать в себя поддержку баз данных управления, создание отчетов , математическая оптимизация , разработка GUI или веб — разработки . Некоторые исследователи утверждают , что 4GLs являются подмножеством предметно-ориентированных языков .

Концепция 4GL была разработана с 1970 — х по 1990 — е годы, перекрывая большую часть развития 3GL. Хотя 3GLs как COBOL , C , C ++ , C # , Java и JavaScript остаются популярными для широкого спектра применений, 4GLs первоначально определены найденные узкие использования. Некоторые продвинутые 3GLs как Python , Ruby , и Perl объединить некоторые способности 4GL в среде общего назначения 3GL. Кроме того , библиотеки с 4GL-подобные функции были разработаны в качестве дополнения для самого популярного 3GLs. Это привело к стиранию различия 4GL и 3GL.

В 1980 — х и 1990 — х годах, были усилия по разработке языков программирования пятого поколения (5GL).

содержание

история

Хотя используемый ранее в работах и дискуссиях, термин 4GL впервые был использован формально Джеймсом Мартином в его книге 1981 Разработка приложений без Программисты обратиться к непроцессуальными, высокоуровневых языков спецификации . В каком — то примитивном, ранние 4GLs были включены в Информатики MARK-IV (1967) продукт и Sperry «s MAPPER (1969 внутреннего использования, 1979 выпуск).

Мотивы момента создания «4GL» и интерес несколько. Этот термин может применяться к большому набору программных продуктов. Он может также применяться к подходу , который выглядит для больших семантических свойств и мощности реализации. Подобно тому , как 3GL предложил большую мощность для программиста, так что тоже сделали 4GL открыть среду разработки для более широких слоев населения.

Ранняя схема ввода для 4GL поддерживается запись данных в пределах лимита 72-символьного перфокарты (8 байтов , используемых для секвенирования) , где тег карты будет идентифицировать тип или функцию. При разумном использовании нескольких карт, колода 4GL может предложить широкий спектр обработки и способность отчетности в то время как эквивалентные функциональные возможности закодированы в 3GL может подвести, пожалуй, целая коробка или больше карт .

Метафора 72-символьная продолжала в течение некоторого времени , как аппаратно прогрессировал к большей памяти и терминальным интерфейсам. Даже с его ограничениями, этот подход поддерживается весьма сложные приложения.

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

Другой пример власти Nomad проиллюстрирован Николай Ролингса в своих комментариях по компьютерной истории музея о NCSS (см цитаты ниже). Он сообщает , что Джеймс Мартин попросил Ролингз для Nomad решения стандартной задачи Мартин называется задачей инженера : «дать 6% повышает инженер , чьи работа рейтинги имели в среднем 7 или лучше.» Мартин предусмотрел «десяток страниц COBOL, а затем просто страницы или два Mark IV , из информатики .» Роулингс предложил следующие один оператор, выполняя набор-на-время работу .

Развитие 4GL под влиянием нескольких факторов, с аппаратными средствами и операционной системы , ограничения , имеющие большой вес. Когда 4GL впервые был введен, разношерстное сочетание аппаратных и операционных систем уполномочена поддержка разработки пользовательских приложений , который был специфичен для системы в целях обеспечения продаж. Одним из примеров является MAPPER система , разработанная компанией Sperry . Хотя он имеет корни в начало, система доказала свою эффективность во многих приложениях и была портирована на современные платформы. Последний вариант вложен в BIS размещения Unisys . MARK-IV в настоящее время известен как VISION: СТРОИТЕЛЬ и предлагает Computer Associates .

Santa Fe железная дорога используется Mapper для разработки системы, в проекте , который был одним из первых примеров 4GL, быстрого прототипирования и программирования пользователей . Идея заключалась в том , что это было легче научить железнодорожные эксперт использовать Mapper , чем научить программист «тонкости железнодорожных операций».

Один из ранних (и портативных) языков , которые имели свойства 4GL был Рамис разработан Джеральд С. Коэном в Mathematica, математическая программное обеспечение компанией. Коэн покинул Mathematica и основал Information Builders для создания аналогичных отчетов , ориентированных на 4GL, называемый FOCUS .

Позже типы 4GL привязаны к системе база данных и сильно отличается от более ранних типов в их использовании методов и ресурсов, которые стали результатом общего улучшения вычислений с течением времени.

Интересный поворот на сцене 4GL является осознание того, что графические интерфейсы и связанные рассуждения , сделанные пользователем образуют «язык» , который плохо понят.

Ряд различных типов 4GLs существует:

  • Таблица с приводом (без кода) программирования, как правило , работают с каркасом выполнения и библиотеками. Вместо того чтобы использовать код, разработчик определяет их логику, выбрав операцию в предварительно определенном списке команд манипуляции памяти или таблиц данных. Другими словами, вместо кодирования, разработчик использует таблицу-ориентированного программирования алгоритма (смотри также контролировать таблицы , которые могут быть использованы для этой цели). Хороший пример такого типа 4GL языка PowerBuilder . Эти типы инструментов могут быть использованы для разработки бизнес — приложений , как правило , заключающееся в пакет , позволяющий как для деловых операций с данными и отчетности, поэтому они приходят с экранами графического интерфейса пользователя и сообщить редакторам. Они обычно предлагают интеграцию с более низким уровнем библиотек DLL , полученных от типичного 3GL когда потребность возникает больше аппаратных средств / OS конкретных операций.
  • Report-генераторные языки программирования взять описание формата данных и отчет для генерации и от этого они либо сгенерировать необходимый отчет непосредственно или они создают программу для создания отчета. Смотрите также RPG
  • Аналогичным образом, формы генераторов управления онлайн-взаимодействия с пользователями системы приложений или создавать программы, чтобы сделать это.
  • Более амбициозный 4GLs (иногда называют среды четвертого поколения ) попытку автоматически генерировать целые системы из выходов CASE — инструментов, технические характеристик экранов и отчетов, а также, возможно , также спецификацию некоторой дополнительной логики обработки.
  • Управление данного 4GLs , такие как SAS , SPSS и Stata обеспечивают сложные кодирования команд для манипулирования данных, файл перепрофилирования, выбора случая и документирования данных при подготовке данных для статистического анализа и отчетности.
Читать еще:  Объектно ориентированное программирование pascal

Некоторый 4GLs имеет встроенные средства, которые позволяют легко спецификации всей необходимой информации:

  • Версия Джеймса Мартина Информация инженернойметодологии разработки системы был автоматизирован , чтобы позволить ввод результатов анализа и проектирования систем в виде диаграмм потоков данных , организация взаимоотношений диаграммы , сущность истории жизни диаграмм и т.д., из которых сотни тысяч строк COBOL , должны быть сгенерированы в течение ночи.
  • Совсем недавно корпорация Oracle «s Oracle Designer и Oracle Developer Suite продукты 4GL могут быть интегрированы для получения определения баз данных и программ , форм и отчетов.

Низкие среды коды

В двадцать первом веке, системы 4GL появились как «низкий» кода среды или платформы для задачи быстрой разработки приложений в короткие периоды времени. Продавцы часто предоставляют примеры систем , таких как CRM, управление контрактами, отслеживание ошибок , из которого развитие может произойти с небольшим программированием.

Примеры

Общее использование / универсальный

  • Ускоритель (Productivity)
  • Accell / SQL (4GL) от Unify Corporation .
  • СА-Telon 4 Кобол / генератор PLI
  • горн
  • клипер
  • Cognos PowerHouse 4GL
  • DataFlex
  • FOCUS
  • Forté ИНСТРУМЕНТ (транзакционный объектно-ориентированный язык)
  • GeneXus
  • гавань
  • IBM Rational EGL ( Enterprise Generation Language )
  • LabVIEW
  • LANSA
  • ЛИНК
  • LiveCode
  • ПРИРОДНЫЙ
  • Новый горизонт
  • Omnis Studio SDK
  • Framework Oracle Разработка приложений
  • OutSystems (Productivity / PaaS)
  • PowerBuilder
  • декабрь RALLY
  • SheerPower4GL (только Microsoft Windows)
  • SQLWindows / Team Developer
  • Uniface
  • Unix Shell
  • Visual DataFlex (только Microsoft Windows)
  • Visual FoxPro
  • XBase ++

База данных языков запросов

генераторы отчетов

  • LIRC
  • Отчеты Oracle
  • Прогресс 4GL Запрос / Результаты
  • RPG-II

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

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

Иногда различают пять поколений языков программирования, правда данное разделение является спорным:

Первое поколение

Начало 1950-х годов — язык первых компьютеров. Первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».

Основная отличительная особенность: ориентирование на конкретный компьютер.

Второе поколение

Конец 1950-х — начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык.

Основная отличительная особенность: ориентирование на абстрактный компьютер с такой же системой команд.

Третье поколение

1960-е г.г. — Языки программирования высокого уровня. Их характеристики:

  • относительная простота;
  • независимость от конкретного компьютера;
  • возможность использования мощных синтаксических конструкций.

Простота языка позволяет писать небольшие программы и людям, которые не являются профессиональными программистами.

Основная отличительная особенность языка третьего поколения: ориентирование на алгоритм (алгоритмические языки).

Примеры: Си, Паскаль, Джава, Бейсик, и многие другие.

Всего в мире существует около 200 популярных языков программирования третьего уровня.

Четвертое поколение

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

Часто относят: SQL, SGML ( HTML, XML ), Prolog, и многие другие узкоспециализированных декларативных языков. Правда ряд языков, которые относят к четвертому поколению, не являются языками программирования как таковыми. Например SQL является языком запросов к базам данных, HTML является языком разметки гипертекста, а не полноценными языками программирования, скорее они выступают своеобразными специализированными дополнениями к языкам программирования. Тоже самое касается XML.

Основная отличительная особенность языка четвертого поколения: приближение к человеческой речи (декларативные языки).

Некоторые языки имеют черты одновременно и третьего и четвертого поколений.

Пятое поколение

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

Производители пропроиетарних программных продуктов часто пытаются приписать своим продуктам какие маркетинговые особенности, и порой указывают что их продукт — это «язык пятого поколения». В действительности, все эти продукты — это просто среды для ускоренного создания продуктов (Rapid Application Development — RAD), и используют языки третьего и четвертого поколений.

Речь пятого поколения вытеснит ли существенно потеснит языка третьего (напр. Java) и четвертого поколения (например SQL) за счет значительно увеличенной производительности труда программиста — в 10-1000 раз. По прогнозам, 5GL будет оперировать мета-мета-данными.

Сейчас существует единственный язык, который работает с мета-мета-данными, — это язык команд менеджеров пакетов или менеджеров зависимостей, таких как apt, yum, smart, maven, cpan и другие. Они оперируют над метаданными о метаданных о данных в пакетах. Использование apt-get, yum и smart действительно чрезвычайно повысило производительность системных администраторов — примерно в 1000-и дело. Использование менеджеров зависимостей, таких как maven, cpan, rakudo, pim, easy_install, действительно значительно повысило производительность программистов, примерно в 10-ть раз. К сожалению, эти языки являются языками командной строки и не являются языками программирования.

Читать еще:  Код ошибки 1202 сбербанк

Поколения языков программирования;

Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов. Это был первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».

Расцвет второго поколения языков программирования пришелся на конец 50-х — начало 60-х годов. Тогда был разработан символический ассемблер, в котором появи­лось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

Появление третьего поколения языков программирования принято относить к 60-м годам. В это время родились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Такие качества новых языков, как относи­тельная простота, независимость от конкретного компьютера и возможность исполь­зования мощных синтаксических конструкций, позволили резко повысить произ­водительность труда программистов.

С начала 70-х годов по настоящее время продолжается период языков четвертого поколения. Эти языки предназначены для реализации крупных проектов, повы­шения их надежности и скорости создания. Они обычно ориентированы на специ­ализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области.

Рождение языков пятого поколения произошло в середине 90-х годов. К ним отно­сятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, кото­рая закладывается в эти языки, — возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в макси­мально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.

Языки программирования высокого уровня

Fortran (Фортран). Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях.

Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов.

Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.

С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматри­вался как массовый. Он планировался для замены ассемблера, чтобы иметь возмож­ность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Благодаря наличию мно­жества Java-машин программы на Java можно переносить не только на уровне исход­ных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика. Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику, и созданию платформенно — независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различ­ными операционными системами (технология Java Beans). Пока основной недоста­ток этого языка — невысокое быстродействие, так как язык Ява интерпретируемый.

З. Поколения и классификация языков программирования

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

Поколения ЯП

В первое поколение входят языки, созданные в начале 50-х годов, когда первые компьютеры только появились на свет. Это был первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».ЯП первого поколения представляли собой набор машинных команд в двоичном (бинарном) или восьмеричном формате, который определялся архитектурой конкретной ЭВМ. Каждый тип ЭВМ имел свой ЯП, программы на котором были пригодны только для данного типа ЭВМ. От программиста при этом требовалось хорошее знание не только машинного языка, но и архитектуры ЭВМ.

Расцвет второго поколения языков программирования пришелся на конец 50-х -начало 60-х годов. Тогда был разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком програм­мирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ. Языки ассемблерного типа (ассемблеры, макроассемблеры), позволили вместо двоичных и других форматов машинных команд использовать их символьные обозначения (имена). Являясь существенным шагом вперед, ассемблерные языки все еще оставались машинно-зависимыми, а программист все также должен был быть хорошо знаком с организацией и функционированием аппаратной среды конкретного типа ЭВМ. При этом ассемблерные программы все так же затруднительны для чтения, трудоемки при отладке и требуют больших усилий для переноса на другие типы ЭВМ. Однако и сейчас ассемблерные языки используются при необходимости разработки высокоэффективного программного обеспечения (минимального по объему и с максимальной производительностью).

Читать еще:  Ошибка dns host not found

Третье поколение ЯП начинается с появления в 1956 г. первого языка высокого уровня — Fortran. Первоначально Fortran обладал весьма ограниченными средствами обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное развитие языка сделало его одним из самых распространенных ЯВУ.

Вскоре после языка Fortran появились такие ныне широко известные языки, как Algol, Cobol, Basic, PL/1, Pascal, APL, ADA, C, Forth, Lisp, и др. В настоящее время насчитывается свыше 2000 различных языков высокого уровня.

Языки четвертого поколения носят ярко выраженный непроцедурный характер, определяемый тем, что программы на таких языках описывают только что, а не как надо сделать. Типичными примерами непроцедурных языков являются языки, используемые для задач искусственного интеллекта (например, Prolog, Langin). Так как непроцедурные языки имеют минимальное число син­таксических правил, они значительно более пригодны для применения непрофессионалами в области программирования.

Второй тенденцией развития ЯП четвертого поколения являются объектно-
ориентированные
языки, базирующиеся на понятии программного объекта,
который состоит из структур данных и алгоритмов, при этом каждый объект знает, как выполнять операции со своими собственными данными. Такими свойствами обладают объектно-ориентированные Pascal, Basic, C++, SmallTalk, Simula, Actor и ряд дру­гих языков программирования.

Третьим направлением развития языков четвертого поколения можно считать языки запросов, позволяющих пользователю получать информацию из баз данных. Среди языков запросов фактическим стандартом стал язык SQL (Structured Query Language).

И, наконец, четвертым направлением развития являются языки параллельного программирования (модификация ЯВУ Fortran, языки Occam, SISAL, FP и др.), которые ориентированы на создание программного обеспечения для вычислительных средств параллельной архитектуры (многомашинные, мультипроцессорные среды и др.).

К интенсивно развивающемуся в настоящее время пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertLisp, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные ЯП с ограниченными возможностями — Clout, Q&A, HAL и др.).

Классификация ЯП. Изучение ЯП часто начинают с их классификации. Опи­шем наиболее часто применяемые факторы для классификации ЯП.

Языки четвертого поколения и инструментальные средства ПК

Языки программирования четвертого поколения представляют собой множество программных инструментов, с помощью которых конечные пользователи могут разрабатывать прикладные программы при минимальной технической помощи либо обходясь вовсе без нее. Благодаря этим языкам повышается производитель­ность труда профессиональных программистов. Языки четвертого поколения не относятся к категории процедурных языков, как обычные языки программирова­ния. Процедурные языки требуют детализации последовательности шагов (или процедур), которые указывают компьютеру, что делать и как это делать. Непро­цедурные языки нуждаются лишь в указании того, что должно быть выполнено, а детали выполняемой задачи указывать не требуется. С помощью непроцедурно­го языка можно выполнить ту же задачу с меньшим количеством шагов и строк программного кода, чем в случае с процедурным языком. Некоторые из непроце­дурных языков являются настоящими языками в подлинном смысле этого слова, обеспечивая общение пользователей с компьютером с помощью диалоговых ко­манд, имеющих сходство с человеческой речью. Разработка естественного языка программирования относится к сфере задач искусственного интеллекта (гл. 12).

Существует семь категорий языков четвертого поколения: языки запросов, генераторы отчетов, графические языки, генераторы приложений, языки про­граммирования сверхвысокого уровня, программные пакеты приложения и инст­рументальные средства ПК. На рис. 6.8 приводится спектр этих инструментов, а также некоторых коммерческих продуктов в каждой категории.

Рис. 6.8. Языки четвертого поколения

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

Языки запросов

Языки запросовявляются языками высокого уровня ипредназначены для вы­борки данных, хранящихся в базах данных или файлах. Они обычно интерактив­ные, диалоговые и могут поддерживать нестандартные информационные запро­сы. Эти языки часто привязаны ксистемам управления базами данных (гл. 7) или

Fourth-generation language (язык четвертого поколения)

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

Natural language (естественный язык)

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

Query language (язык запросов)

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

к некоторым из программным инструментам ПК, описанным позже в этом разде­ле. Например, запрос:

SELECT ALL WHERE age >40 AND name = «Wilson»

Приводит к выборке всех записей, включающих человека с именем «Wilson», воз­раст которого превышает 40 лет. В гл. 7 приводятся подробности, описывающие структурированный язык запросов (SQL, Structured Query Language), который стал стандартом де-факто.

Генераторы отчетов

Генераторы отчетов— это программы, предназначенные для создания клиент­ских отчетов. Генераторы отчетов извлекают данные из файлов или баз данных и создают отчеты во многих форматах. Эти программы обеспечивают большую степень контроля способов форматирования данных, их организации и отобра­жения, чем языки запросов. Более мощные генераторы отчетов могут манипули­ровать данными, выполняя сложные вычисления и логические операции с после­дующим их выводом. Некоторые генераторы отчетов являются расширениями базы данных или языков запросов.

Графические языки

Графические языкивыбирают данные из файлов или баз данных и отображают их в графическом формате. Пользователи могут запрашивать данные, определяя при этом, каким образом они представляются на диаграмме. Некоторые графи­ческие программы могут также выполнять арифметические или логические опе­рации над данными. Примерами мощных аналитических графических программ могут служить SAS и Systat.

IT Новости из мира ПК
Добавить комментарий