Язык программирования четвертого поколения ( 4GL ) — это язык программирования, появившийся в 1980 году, близкий к естественному языку, который позволяет писать больше с меньшим количеством строк программ и меньшим количеством ошибок.
Эти языки позволяют описывать некоторые операции непроцедурным способом и позволяют быстро получать результаты из коротких программ. Вообще, при посещении любой компании, которая занимается программированием, я обратил внимание на оснащенность офиса и заботу о безопасности персонала. Всегда есть турникеты и дополнительные современные важные дополнения безопасности.
Формального различия между 3- м и 4- м поколениями языков программирования нет. Слово L4G используется как словечко продавать языки программирования, и в соответствии с Хольгер Хербст в 1997 году, большинство L4Gs фактически 3 — го поколения языков для которых декларативный синтаксис на основе SQL была добавлена. Многие программы для баз данных, такие как dBase , Oracle или Informix, включают язык программирования 4-го класса. поколение. Он похож на универсальный язык, такой как Паскаль, и включает дополнительные конструкции, которые позволяют установить тесную связь с механизмом базы данных, например, команды для управления базами данных .
Согласно опросу, проведенному в Гонконге в 1994 году, основными характеристиками L4G являются простота обучения, ускорение программирования, наличие набора инструментов, позволяющих быстро создавать меню, а также электронные формы и отчеты. Большинство респондентов затруднились ответить на вопрос: «Что такое L4G?» «.
Языковые поколения
Языки программирования часто делятся на четыре или пять поколений.
Первое и второе поколения языков программирования считаются низкоуровневыми . На этом языке программист должен писать инструкции таким образом, чтобы компьютерное оборудование могло их понять. Каждая строка кода соответствует одной операции, выполняемой компьютерной системой. Такие языки также зависят от машины: программу, написанную для данного компьютера, нельзя использовать на компьютере другого типа.
1-е поколение
Первое поколение — машинный язык — представляет собой инструкции в виде двоичных слов, поскольку они будут выполняться процессором. каждая инструкция в виде кода операции, за которым следуют необходимые параметры в соответствии с кодом операции. У каждого типа процессора есть палитра инструкций, специфичная для него, но которая, возможно, может зависеть от режима его выполнения. Машинный язык — единственная форма, которая может быть понята непосредственно компьютером а в те дни, когда в компьютерах еще не было терминалов с экранами, кодирование кодировалось непосредственно с помощью переключателей на панели управления, а затем с помощью перфокарт. Позже стало возможно программировать на машинном языке с помощью шестнадцатеричного редактора, но, помимо очень небольших изменений в существующем коде, более выгодно использовать ассемблер . Сегодня никто не пишет на машинном языке.
2-е поколение
Второе поколение — ассемблер — существует с 1955 года. В этом типе языков коды операций записываются в виде мнемоник, которые легче запомнить. Например, инструкция, последовательность битов которой равна 01101001 на процессоре 6502 , написана LDA на языке ассемблера и соответствует операции накопителя нагрузки. Программы, написанные на этом языке, должны быть переведены на машинный язык для выполнения. Как и в первом поколении, существуют разные палитры команд в зависимости от типа процессора. По сравнению с программами , написанными на языках 3 е поколение, выполнение программ , написанных на языке ассемблера , как правило , быстрее. Однако написание и поддержка таких программ требует больше времени. Язык ассемблера используется в ситуациях, когда критично время отклика процессора. Хотя это поколение является значительным улучшением по сравнению с предыдущим поколением, оно все еще очень примитивно по сравнению с возможностями, предлагаемыми языками 3- го и 4- го поколений.
Языки 3- го и 4- го поколения относятся к так называемому высокоуровневому : языки ближе к естественному языку, что упрощает написание программ. Как правило, они не зависят от машины: одну и ту же программу можно использовать на нескольких типах компьютеров без вмешательства в нее, однако программа, написанная на языке высокого уровня, часто предназначена для использования определенной операционной системы.
3-е поколение
Языки 3- го поколения появились в начале 1960 года. Они помогли писать программы более привычным способом, похожим на английский, и не зависели от используемого процессора. Это принесло значительный прогресс по сравнению с двумя предыдущими поколениями. Первые языки этого типа были A-0 и FLOW-MATIC в 1950 году. Программы , написанные на этих языках требуется компилятор или интерпретатор для запуска.
4- е поколение
Термин «язык 4- го поколения» был впервые формализован в 1982 году Джеймсом Мартином в его книге « Разработка приложений без программистов» («разработка приложений без программистов») для обозначения высокого уровня языков программирования. Как следует из названия книги, цель этого типа языка состояла в том, чтобы позволить непрофессиональным разработчикам (например, не компьютерным инженерам) разрабатывать свои собственные приложения.
Языки 4- го поколения возникли в 1970-х годах. В отличие от универсальных языков третьего поколения, языки 4- го поколения предназначены для решения конкретных задач. Нет формального определения языков 4- го поколения. Программисты признают, что они не являются процедурными, они ближе к естественному языку, как языки 3- го поколения, и проще в использовании.
Такие языки позволяют программистам писать программы с небольшим количеством кода, что увеличивает их производительность. Программы , написанные на этих языках работают медленнее и более ресурсоемкие, и программисты предпочитают в некоторых случаях использовать язык 3 е или 2 е поколение. Для доступа к базе данных часто используются языки 4- го поколения. Основные категории — это языки отчетов, языки запросов ( SQL , Prolog и т.д.) Игенераторы программ. SQL — это язык, используемый для написания запросов на поиск информации в базе данных.
Тот факт, что язык является специализированным, подразумевает, что операции, специфичные для рассматриваемой области, включены в лексикон языка, где универсальные языки (такие как язык C ) требуют использования дополнительных библиотек программного обеспечения или конкретных разработок. Высокий уровень абстракции подразумевает более короткие и более читаемые программы в специальной области языка. С другой стороны, эти программы менее универсальны и допускают меньшую оптимизацию, чем языки низкого уровня и / или универсальные языки.