818是什么星座| 女人脸色发黄吃什么补得最快| 为什么新生儿会有黄疸| 小手指麻木是什么原因| 什么是登革热病| 紫色裤子配什么上衣| 睾丸炎吃什么药| 小孩喜欢趴着睡觉是什么原因| 异类是什么意思| 长期服用二甲双胍有什么副作用| 沉香有什么好处| 张学良为什么不回大陆| 吃什么能消除脂肪瘤| 建议是什么意思| 叔叔的儿子叫什么| 铁蛋白偏低是什么意思| 透析是什么意思啊| yq是什么意思| 肝钙化灶什么意思| 好巴适是什么意思| 泔水是什么意思| 凡士林是什么东西| 五月二十日是什么日子| 完美收官是什么意思| 耳浴是什么意思| 黑客帝国4什么时候上映| 新鲜的乌梅长什么样| 入定是什么意思| 眼底出血是什么原因| 海棠花长什么样| lucy是什么意思| 什么是t| 木甚念什么| 务实什么意思| 吃什么开胃增加食欲| 寻常疣是什么样子图片| 小孩睡觉出汗是什么原因| bid什么意思| 衣冠禽兽指什么生肖| 雨花石是什么石头| 尼龙是什么| 睡眠障碍吃什么药最好| 八月份是什么星座| 自然流产的症状是什么样的| 什么是福报| 沙僧属什么生肖| 尿隐血阳性什么意思| 九月十六是什么星座| 月青念什么| 梦见蛇蛋是什么意思啊| chd是什么意思| 喝酸奶有什么好处| 莲花是什么生肖| 咳嗽吃什么药效果好| 灵魂伴侣什么意思| 29是什么生肖| 砭石是什么东西| 甲肝是什么病| 藏红花什么人不能喝| 灵什么意思| 喝盐水有什么作用和功效| 儿童测骨龄挂什么科| 婚检查什么| sc1是什么意思| 0和1是什么意思| 镜花水月什么意思| 女人梦见鞋子什么预兆| 梦见老公怀孕什么预兆| 艳羡是什么意思| 萎缩性胃炎可以吃什么水果| 流沙是什么意思| 什么是高潮| 林檎是什么意思| 割掉胆对人有什么影响| 心尖尖是什么意思| 恍然大悟什么意思| 广西有什么特产| 老人吃什么钙片补钙效果最好| 凯撒沙拉酱是什么口味| 补脾吃什么食物最好| 阑尾炎手术后可以吃什么水果| 舌头伸不出来是什么原因| 肠梗阻是因为什么原因引起的| 自恋什么意思| 财神爷供奉什么供品| 什么叫次日| 什么是宫颈息肉| 棒打鸳鸯什么意思| 荨麻疹吃什么中药| 1977年出生属什么生肖| 多愁善感的动物是什么生肖| 高中生物学什么| 男朋友生日送什么礼物| 东宫是什么意思| 什么地飞| 原是什么意思| 狐臭是什么原因引起的| 尿胆原高是什么原因| 眼睛不好吃什么补眼睛| 情面是什么意思| 值太岁是什么意思| 墨蓝色是什么颜色| 碱和小苏打有什么区别| 实至名归什么意思| 1933年属什么生肖| 手术后不能吃什么食物| 黄帝内经讲的是什么| 黄瓜敷脸有什么效果| 少将相当于什么级别| 下巴脱臼挂什么科| 乌鸡放什么炖补气补血| 狗贫血吃什么补血最快| 吃榴莲对身体有什么好处| 什么食物含牛磺酸| 补气吃什么食物| 精忠报国是什么生肖| dolphin是什么意思| 女人脾虚吃什么最好| 汗手是什么原因| 什么是处方药和非处方药| 办身份证需要带什么| 没出息什么意思| 脂肪肝可以吃什么水果| 肠粉是什么| 肝主什么| 为什么女人阴唇会变黑| 腿经常抽筋是什么原因| 高同型半胱氨酸血症是什么病| 疮疡是什么意思| 九头身什么意思| 做鸡蛋饼用什么面粉好| 双皮奶是什么| haze是什么意思| 戴银首饰对身体有什么好处| au990是什么金| 邓紫棋和华晨宇什么关系| 钾低是什么原因| 手指甲上的月牙代表什么| 正月初一是什么生肖| 梦见蛇蛋是什么意思啊| 七夕节是什么时候| 什么人不能喝大麦茶| 什么是正颌手术| 右手中指指尖麻木是什么原因| 天蝎座是什么象| 去脂肪粒最有效的药膏叫什么| 荞麦长什么样子| 交感神经型颈椎病吃什么药| 降血脂喝什么茶最好| anca是什么检查| 宫颈那囊什么意思| 花蛤不能和什么一起吃| 男朋友有什么用| 水镜先生和司马懿是什么关系| 口腔溃疡可以吃什么药| 狐臭的味道像什么味道| 谦虚的近义词是什么| 铁棍山药有什么功效| 什么叫非甾体抗炎药| 解表散热什么意思| 吉兰巴雷综合征是什么病| 89岁属什么生肖| 夏季适合种什么花| 身上长疣是什么原因| 中指戴戒指什么意思| top1是什么意思| 党参和丹参有什么区别| 红细胞分布宽度偏高是什么意思| 番薯是什么时候传入中国的| 式可以加什么偏旁| 点数是什么意思| 胸痛挂什么科| 初吻是什么意思| 什么犹如什么造句| 三月20号是什么星座| 腿抽筋是什么原因造成的| 吃什么鱼最健康| 母亲是o型血孩子是什么血型| 妙三多预防什么| 什么是正太| 哈尔滨机场叫什么名字| 公立医院是什么意思| 胃恶心吃什么药| 失调是什么意思| 舒张压偏高是什么原因造成的| 血糖偏低是什么原因引起的| 河东狮吼什么意思| 小孩晚上睡觉出汗是什么原因| bv是什么意思| 西安古代叫什么名字| 什么的歌声填词语| 吃什么长指甲最快| 肝胆湿热吃什么药| 阳虚吃什么调理| 水银是什么| 梦见吃水饺是什么预兆| 产后什么时候来月经正常| 钾高是什么原因引起的| 吃什么不胖反而瘦| 上面白下面本念什么| 觉悟高是什么意思| 九死一生是指什么生肖| 胃肠感冒什么症状| 长白班什么意思| 1974年属虎的是什么命| 什么舌头| 怀孕时间从什么时候开始算| 卵巢保养吃什么好| 右耳朵痒是什么预兆| 流弹是什么意思| 氢氧化钠是什么| 绿茶喝多了有什么危害| 补气养血吃什么中成药| 莲蓬什么季节成熟| 施华洛世奇水晶是什么材质| 8月2日是什么星座| 义是什么意思| 怀孕有什么反应| 台湾是什么民族| 想什么| 阴道炎用什么药效果最好| 举人是什么意思| 症候群什么意思| 520送男朋友什么礼物| 方方土是什么字| 脸部肌肉跳动是什么原因| 出汗太多会对身体造成什么伤害| 凡人修仙传什么时候写的| 过命之交是什么意思| 专科学什么专业好就业| 皮肤爱出油是什么原因| 怀孕可以喝什么饮料| 为什么会得面瘫| ex是什么意思| 查微量元素挂什么科| 吃鹅蛋有什么好处和坏处| 鼓上蚤是什么意思| 西洋参跟花旗参有什么区别| usp是什么意思| 桃子有什么营养价值| 尿毒症是什么症状| 什么是湿气重| 鸟喜欢吃什么| 桃花什么时候开放| 盗汗吃什么药效果最快| mu是什么单位| 结婚32年是什么婚| 什么是基因检测| 旦角是什么意思| 为什么会得幽门螺旋杆菌| afar是什么意思| 什么什么不生| 放屁臭鸡蛋味什么原因| 观音土为什么能吃| 13楼五行属什么| 高同型半胱氨酸血症是什么病| tr是什么意思| 山西属于什么地区| 诊断是什么意思| 肉燕是什么| 怪是什么意思| noa是什么意思| 便溏是什么原因引起的| 吃什么补白细胞效果最好| 百度

山丹县:深松整地作业为农田“舒经活络”效率高

百度 尼日利亚不希望成为“制成品的倾销地”。

A fourth-generation programming language (4GL) is a high-level computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, graphical user interface (GUI) development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.[1][2]

The concept of 4GL was developed from the 1970s through the 1990s, overlapping most of the development of 3GL, with 4GLs identified as "non-procedural" or "program-generating" languages, contrasted with 3GLs being algorithmic or procedural languages. While 3GLs like C, C++, C#, Java, and JavaScript remain popular for a wide variety of uses, 4GLs as originally defined found uses focused on databases, reports, and websites.[3] Some advanced 3GLs like Python, Ruby, and Perl combine some 4GL abilities within a general-purpose 3GL environment,[4] and libraries with 4GL-like features have been developed as add-ons for most popular 3GLs, producing languages that are a mix of 3GL and 4GL, blurring the distinction.[5]

In the 1980s and 1990s, there were efforts to develop fifth-generation programming languages (5GL).

History

edit

Though used earlier in papers and discussions, the term 4GL was first used formally by James Martin in his 1981 book Application Development Without Programmers[6] to refer to non-procedural, high-level specification languages. In some primitive way, early 4GLs were included in the Informatics MARK-IV (1967) product and Sperry's MAPPER (1969 internal use, 1979 release).

The motivations for the '4GL' inception and continued interest are several. The term can apply to a large set of software products. It can also apply to an approach that looks for greater semantic properties and implementation power. Just as the 3GL offered greater power to the programmer, so too did the 4GL open up the development environment to a wider population.

The early input scheme for the 4GL supported entry of data within the 72-character limit of the punched card (8 bytes used for sequencing) where a card's tag would identify the type or function. With judicious use of a few cards, the 4GL deck could offer a wide variety of processing and reporting capability whereas the equivalent functionality coded in a 3GL could subsume, perhaps, a whole box or more of cards.[7]

The 72-character format continued for a while as hardware progressed to larger memory and terminal interfaces. Even with its limitations, this approach supported highly sophisticated applications.

As interfaces improved and allowed longer statement lengths and grammar-driven input handling, greater power ensued. An example of this is illustrated by Nicholas Rawlings in his comments for the Computer History Museum about NCSS.[8] He reports that James Martin asked Rawlings for a NOMAD solution to a standard problem Martin called the Engineer's Problem: "give 6% raises to engineers whose job ratings had an average of 7 or better." Martin provided a "dozen pages of COBOL, and then just a page or two of Mark IV, from Informatics." Rawlings offered a single statement, performing a set-at-a-time operation.

The development of the 4GL was influenced by several factors, with the hardware and operating system constraints having a large weight. When the 4GL was first introduced, a disparate mix of hardware and operating systems mandated custom application development support that was specific to the system in order to ensure sales. One example is the MAPPER system developed by Sperry. Though it has roots back to the beginning, the system has proven successful in many applications and has been ported to modern platforms. The latest variant is embedded in the BIS[9] offering of Unisys. MARK-IV is now known as VISION:BUILDER and is offered by Computer Associates.

The Santa Fe railroad used MAPPER to develop a system in a project that was an early example of 4GL, rapid prototyping, and programming by users.[10] The idea was that it was easier to teach railroad experts to use MAPPER than to teach programmers the "intricacies of railroad operations".[11]

One of the early (and portable) languages that had 4GL properties was RAMIS developed by Gerald C. Cohen at Mathematica, a mathematical software company. Cohen left Mathematica and founded Information Builders to create a similar reporting-oriented 4GL, called FOCUS.

Later 4GL types are tied to a database system and are far different from the earlier types in their use of techniques and resources that have resulted from the general improvement of computing with time.

An interesting twist to the 4GL scene is realization that graphical interfaces and the related reasoning done by the user form a 'language' that is poorly understood.

Types

edit

A number of different types of 4GLs exist:

  • Table-driven (codeless) programming, usually running with a runtime framework and libraries. Instead of using code, the developer defines their logic by selecting an operation in a pre-defined list of memory or data table manipulation commands. In other words, instead of coding, the developer uses table-driven algorithm programming (see also control tables that can be used for this purpose). These types of tools can be used for business application development usually consisting in a package allowing for both business data manipulation and reporting, therefore they come with GUI screens and report editors. They usually offer integration with one or more lower level dynamic-link library (DLL), generated from a typical 3GL for when the need arises for more hardware/OS specific operations.
  • Report generator programming languages take a description of the data format and the report to generate and from that they either generate the required report directly or they generate a program to generate the report (see also RPG).
  • Similarly, screen generators (also called forms generators) manage online interactions with the application system users or generate programs to do so.
  • More ambitious 4GLs (sometimes termed fourth generation environments) attempt to automatically generate whole systems from the outputs of computer-aided software engineering (CASE) tools, specifications of screens and reports, and possibly also the specification of some additional processing logic.
  • Data management 4GLs such as SAS, SPSS, and Stata provide sophisticated coding commands for data manipulation, file reshaping, case selection, and data documentation in the preparation of data for statistical analysis and reporting.
  • So-called "XTalk" languages, developed initially with Apple's Hypercard in 1987. Hypercard was the progenitor of more modern and powerful programs such as SuperCard, Toolbook and LiveCode.

Some 4GLs have integrated tools that allow for the easy specification of all the required information:

Low code environments

edit

In the twenty-first century, 4GL systems have emerged as "low code" environments or platforms for the problem of rapid application development in short periods of time. Vendors often provide sample systems such as CRM, contract management, bug tracking from which development can occur with little programming.[12]

Examples

edit

General use / versatile

edit

Report generators

edit

Extract data from files or database to create reports in a wide range of formats is done by the report generator tools.

Data manipulation, analysis, and reporting languages

edit

Mathematical optimization

edit

Database-driven GUI application development

edit

Low-code / No-code development platforms

edit

Source:[13][14]

Screen painters and generators

edit

Web development languages

edit

Music Programming language

edit

See also

edit

References

edit
  1. ^ 35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software Engineering Archived May 16, 2011, at the Wayback Machine
  2. ^ Arie van Deursen; Paul Klint; Joost Visser (1998). "Domain-Specific witness Languages:An Annotated Bibliography". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  3. ^ MacDonell, Stephen (November 1993). "Software development, CASE tools and 4GLs—A survey of New Zealand usage. Part 1". 750 New Zealand organisations. hdl:10523/928.
  4. ^ "Roger Clarke's Software Generations".
  5. ^ "Definition of fourth-generation language". PCMAG. Retrieved 7 May 2020.
  6. ^ Martin, James. Application Development Without Programmers. Prentice-Hall, 1981. ISBN?0-13-038943-9.
  7. ^ "IBM Punch Cards". www.columbia.edu. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  8. ^ "RAMIS and NOMAD?: National Computer Software Systems, Inc. (NCSS) conference call (transcript)". Computer History Museum. 2025-08-14. Retrieved 2025-08-14.
  9. ^ "Data Mining Software, Data Analysis, and More: Unisys Business Information Server Features". Unisys. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  10. ^ Louis Schlueter (1988). User-Designed Computing: The Next Generation. [book on report generator and MAPPER systems]
  11. ^ Barbara Canning McNurlin; Ralph H. Sprague (2004). "Ch. 9". Information Systems Management in Practice (PDF). Pearson/Prentice Hall. ISBN?978-0-13-101139-7.[permanent dead link]
  12. ^ Forrest, Conner. "How Salesforce is using low-code orchestration to save 'floundering IoT projects'". ZDNet.
  13. ^ Marvin, Rob (August 10, 2018). "The Best Low-Code Development Platforms for 2019". PCMAG.
  14. ^ Sayer, Martin Heller and Peter (6 April 2018). "25 simple tools for building mobile apps fast". InfoWorld. Archived from the original on 18 November 2017. Retrieved 17 November 2017.
  15. ^ "DronaHQ. Build apps without coding". www.dronahq.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
什么是资本运作 破瓦法是什么 山莨菪碱为什么叫6542 中国是什么国家 牛顿发明了什么
伯邑考为什么不姓姬 赵雅芝是什么脸型 后背沉重感是什么原因引起的 肿瘤是什么病 人老是犯困想睡觉是什么原因
女人喜欢什么样的阴茎 命宫是什么意思 30如狼40如虎是什么意思 日食是什么现象 测骨龄去医院挂什么科
遣返是什么意思 回南天是什么时候 贾宝玉的玉是什么来历 勃起不硬吃什么药 吃什么有助于骨头愈合
彼岸花什么时候开花adwl56.com 上海是什么省hcv9jop4ns9r.cn 骨量偏高是什么原因hcv8jop0ns5r.cn 动物的尾巴有什么作用chuanglingweilai.com 白细胞高是什么意思hcv9jop3ns7r.cn
牙龈上火是什么原因引起的jinxinzhichuang.com 鱿鱼属于什么类hcv8jop2ns7r.cn 味精和鸡精有什么区别hcv8jop6ns3r.cn 墨西哥说什么语言hcv7jop6ns7r.cn 毛的部首是什么hcv8jop8ns8r.cn
金国人是现在的什么人hcv8jop3ns3r.cn 满城尽带黄金甲是什么意思hcv8jop5ns7r.cn 月子里生气有什么危害hcv8jop7ns5r.cn 舌头无苔是什么原因hcv7jop9ns2r.cn 为什么抽烟就想拉屎hcv8jop4ns2r.cn
返聘是什么意思hcv9jop6ns9r.cn 元宵节吃什么hcv8jop9ns7r.cn 怀孕吃什么药可以流掉hcv7jop6ns3r.cn 66是什么意思wuhaiwuya.com 脸上肉跳动是什么原因creativexi.com
百度