Програмски језици четврте генерације (, ) јесу рачунарски програмски језици замишљени као дорада стила језика класификованих као трећа генерација програмског језика (3ГЈ). Свака од генерација програмских језика има за циљ да обезбеди виши ниво апстракције у унутрашњости детаља рачунарског хардвера, правећи више програмерски-оријентисане језике, моћније и свестраније. Иако се дефиниција 4ГЈ променила током времена, може да се одликујее као оператива са више великих колекција података одједном уместо да се фокусира само на битове и бајтове. Језици који тврде да су 4ГЈ могу укључивати подршку за менаџмент базом података, прикупљање извештаја, математичку оптимизацију, развијање ГУИ, или веб развој. Језици четврте генерације често се пореде са домен-специфичнм језицима (ДСЈ). Неки истраживачи тврде да је 4ГЈ подскуп ДСЈ.35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software Engineering
Концепт 4ГЈ је развијен од 1970-их година кроз 1990-е, преклапајући се са већином развоја 3ГЈ. Док су језици 3ГЈ као C, C++, C#, Јава, и Јаваскрипти и даље популарни за широк спектар употребе, језици 4ГЈ као што је првобитно дефинисано су нашли ужу примену. Неки напредне језици 3ГЈ као Пајтон, Руби, и Перл комбинују неке 4ГЈ способности у оквиру опште намене у окружењу 3ГЈ. Такође, библиотеке са карактеристикама 4ГЈ су развијене као додаци за најпопуларније језике 3ГЈ. Ово је замаглио разлику између 4ГЈ и 3ГЈ.
Током 1980-их и 1990-их, било је напора да се успостави пета генерација програмског језика (5ГЈ)
Историја Иако коришћен у новинама и дискусијама, термин 4ГЈ је први пут употребио званично Џејмс Мартин у својој књизи из 1982. године Развијање апликација без програмера која се односла на не-процедуралне, спецификацијске језике на високом нивоу. На неки примитиван начин, рани језици 4ГЈ су укључени у информатику Марк-IV (1967) производа и Сперијев МАпер (1969 интерна употреба, 1979 издавање).
Било је мотивације за настанак "4ГЈ" и континуисано интересовање. Термин се може применити на велики скуп софтверских производа. Такође могу да се примени на приступ који тражи већа семантичка својства и већу моћ имплементације. Баш као што је 3ГЈ понудила већу моћ за програмера, тако је и 4ГЈ отворила развојно окружење широј популацији.
У извесном смислу, 4ГЈ је пример прераде 'црне кутије', свака генерација (у смислу стране) је даље од машине (видети Информатичку историју у погледу побољшања структуре података и скривања информација). Та друга природа која је директно повезана са 4ГЈ има грешке које су теже за дебаговање, у многим случајевима. Што се тиче апликација, 4ГЛ може бити окренута бизнису или се може бавити неким техничким домену. Бити даље од машине подразумева били што ближи домену. С обзиром на велику различитост концепата и метода на доменима, ограничења 4ГЈ ће довести до признавања потребе за 5ГЈ.
Рана улазна шема за 4ГЈ подржавала је унос података у оквиру лимитације од 72-симбола бухене картице(8 бајтова се користи за секвенцирање) где ће ознака једне картице да идентификује врсту или функцију. Са разумном употребом неколико карата, 4ГЈ шпил може да понуди широк спектар прераде и способности извештавања док је еквивалентна функционалност кодирана у језицима 3ГЈ могла подвести, можда, целу кутију или више картица.Columbia University Computing History: IBM Cards
Метафора 72-симбола је наставила још неко време док је хардвер напредовао до веће меморије и терминалног интерфејса. Чак и са својим ограничењима, овај приступ је подржао високо софистициране апликације.
Како су се интерфејси побољшавали и дозвољавали дуже изјаве и граматиком-вођен погон улаз руковање, већа снага је уследила. Пример за ово је описан на страни Номад софтвера. Други пример Номадове моћи илуструје Николас Равлингс у својим коментарима за рачунарски музеју о НЦСС (види цитат испод). Он наводи да је Џејмс Мартин затражио Равлингса за Номадово решење проблема стандарда који је Мартин звао инжењерски проблем: "дај 6% повећање плате инжењерима чији је рејтинг имао просек од 7 или више" Мартин је обезбедио "десетак страница Кобола, а затим само страницу или две Марк IV, из информатике." Равлингс је понудио следећу јединствену изјаву, обављајући операцију подешену на одређено време ...
Развој 4ГЈ је био под утицајем неколико фактора, са хардверским и оперативно системским ограничењима имао је велику тежину. Када је први пут уведена 4ГЈ, диспаратана мешавина хардвера и оперативних система захтевала је поручену апликацијску подршку која је специфична за систем како би се осигурала продаја. Један пример је систем Мапер кога је развио Спери. Иако има корене у почетку, систем се показао успешним у многим апликацијама и он је пребачен на модерне платформе. Најновија варијанта је уграђен у БИСUnisys. Business Information Server (BIS). поклон Јунисиса. Марк-IV је сада познат као Висион: Билдер и њега нуди Компјутерска асоцијација.
Санта Фе пруга је користила Мапер да развије систем, у пројекту који је био један од првих примера 4ГЈ, брзе израде прототипова и програмирање од стране корисника.Louis Schlueter, User-Designed Computing: The Next Generation, 1988. [book on report generator and MAPPER systems] Идеја је била да је лакше научити железничког стручњака како да користи Мапер него да научи програмера "сложеностима железничких операција".McNurlin & Sprague. Technologies for Developing Systems Information Systems Management in Practice. Prentice Hall.
Један од раног (и преносиви) језика који су имали 4ГЈ својства је Рамис кога је развио Гералд C. Кохен у Математици, математичкој софтверској компанији. Кохен је оставио Математику и основао Информацијске билдере да створи сличан извештавању оријентисан 4ГЈ, под називом Фокус.
Касније 4ГЈ врсте су везане за систем базе података и далеко су другачији од ранијих типова у њиховом коришћењу технике и ресурса који су резултат општег побољшања рачунарства са временом.
Занимљив обрт у сцени 4ГЈ је сазнање да графички интерфејс и сродно образложење учињено од стране корисника формирају 'језик' који се слабо разуме.
Типови Постоји велики број различитих врста језика 4ГЈ: Табелом-вођено (без кода) програмирање, обично ради са рунтиме оквирима и библиотекама. Уместо коришћења кода, програмер дефинише своју логику избором операцију у унапред утврђеној листи меморијских или табеларним подацима манипулисаним командама. Другим речима, уместо кодирања, програмер користи Табелом-вођене алгоритме програмирања (видети такође контролне таблице које се могу користити за ову сврху). Добар пример ове врсте језика 4ГЈ је ПоверБилдер. Ове врсте алата могу да се користи за пословни развој апликација и обично се састоји у пакету који омогућава и пословну манипулацију података и извештавања, због тога они долазе са ГУИ екранима и едиторима пријава. Они обично нуде интеграцију са нижим нивоима ДЛЛ остварених од типичног 3ГЈ када се укаже потреба за више хардверских / Ос специфичних операција. Извештај-генераторски програмски језици узимају опис формата података и извештај да генеришу и од тога они или генеришу потребан извештај директно или генеришу програм за генерисање извештаја. Види још РПГ. Слично томе, облични генератори управљају онлајн интеракцијама са корисницима апликационог система, или праве програме за то. Више амбициозни језици 4ГЈ (понекад називани четвртом генерацијом окружења) покушавају да аутоматски генеришу читаве системе из излаза Кејс алата, спецификације екрана и извештаја, а можда и спецификацију неке додатне логике процесуирања. Управљање подацима језика 4ГЛ као што су СРС, СПСС и Стата обезбеђују софистициране команде кодирања за манипулацију података, преобликовање фајлова, избор предмета и документацију података у припреми за статистичку анализу и извештавање. Неки језици 4ГЛ имају интегрисане алатке које омогућавају једноставну спецификацију свих потребних информација: Верзија Џејмса Мартина Информатичке инжењеринг методологије развоја система је аутоматизована да дозволи унос резултата анализе система и дизајна у облику дијаграма тока података, модела објекти-везе, диаграм ентитетске историје живота, итд од којих стотине хиљада линија Кобол ће да сакупи преко ноћи. У скорије време Оракл корпорацијски Оракл Дизајнер и Оракл Развијач 4ГЈ производи могу бити интегрисани да производе дефиниције базе података и програме образаца и извештаја.
Примери Општа употреба / свестран
Accell/SQL (4GL) од Унифи Korporacije. Clarion Clipper CA-Telon 4GL Cobol/PLI generator Cognos PowerHouse 4GL DataFlex Forté TOOL (transactional object-oriented language) FOCUS од Информатион Буилдерс Инк. FoxPro GeneXus (Заснована на знању више платформи за развој алата) IBM Rational EGL (Enterprise Generation Language) LabVIEW LINC Omnis Studio СДК OutSystems (Productivity/PaaS) Panter PowerBuilder Перл PHP Python Ruby Oracle Application Development Framework DEC RALLY SheerPower4GL (само за мајкрософт виндоус) SQLWindows/Team Developer Uniface Visual DataFlex (само за Мајкрософт виндоус) WinDev Unix Shell XBase++ Manage (SDS Sigma series маинфраме)
Упитни језик базе података
FOCUS 4D QL Informix-4GL OpenEdge ABL OpenROAD (Ingres 4GL) Ramis SQL
Репорт генератори
BuildProfessional LIRC NATURAL Oracle Reports Progress 4GL Упит / Резултати Quest RPG-II
Манипулација података, анализа и језици извештавања
Ab Initio ABAP Aubit-4GL Audit Command Language Clarion Programming Language CorVision Culprit ADS/Online (Плус обрада трансакција) Easytrieve FOCUS GraphTalk IDL IGOR Pro Informix-4GL JSL LANSA LabVIEW MANTIS MAPPER (Unisys/Sperry) сада део БИС MARK-IV (Sterling/Informatics) Сада ВИЖОН: Билдер ЦА Simulink компонента MATLAB NATURAL Nomad PL/SQL Progress 4GL PROIV R Ramis S Scilab SAS SPSS SQL PL SQR Stata Synon Wolfram jezik XBase++ Xquery Натраг компатибилан са SQL и компатибилан са XML изворима података.
GUI creators
4th Dimension (Software) MATLAB's GUIDE Omnis Studio OpenROAD Progress 4GL Апбилдер SuperCard Revolution XUL Can be used with Xquery да створи веб апликацију ГУИ базе података брзо. Visual DataFlex
ГУИ креатори
Математичка оптимизација AIMMS AMPL GAMS Развој ГУИ апликација вођен-базом података Action Request System C/AL Genexus SB+/SystemBuilder Progress Dynamics Unify VISION Екран сликари и генератори SB+/SystemBuilder Oracle Forms Progress 4GL ПроВисион Веб развијајући језици ActiveVFP CFML Wavemaker отвореног кода, платформа развоја базирана на претраживачу за Ајакс, развој заснован на Дојо, Спринг, Хибернате OutSystems
Види још Листа програмских језика четврте генерације Домен-специфичан програмски језик Брзи развој апликација Пета генерација програмског језика
Напомене Овај чланак је заснован на материјалу преузетом из Фре Он-лине речника рачунарства пре 1. новембра 2008. године и уграђене под "поновно издаваном лиценцом" условима ГФДЛ, верзија 1.3 или новији.
Референце
Литература
Спољашње везе ЧетриГен КАСЕ алати - окружење брзог развоја апликација Четри J's алати развоја Генеро, Генеро студио IBM-Информикс Генеро 4ГЈ ГПЈ / ГНУ-ОпенСоурце пројекат развојних алата Заборављени сајт. Гилиани четриген сајт . Горе! 5ГЈ да консолидује или да се изгради компонентно-базиране апликације.
Категорија:4GL *4