低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

最近低代码无代码成为社会关注的焦点,但低代码并不是凭空出现的。从编程语言的发展历史来看,提高编码效率是无数软件前辈的初衷和心血凝结,也是编程语言不断进化的结果。今天我们就来捋一捋计算机语言的发展历史,其中既有令人啧啧赞叹的成就,也有令人扼腕叹息的失败。

从现在主流的观点来看,计算机语言一共分为1-5代。

最早的计算机,是通过修改其电路或设置物理控制组来编程的,这时候的计算机还用不到任何语言,完全依靠硬件线路来进行计算。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

最早的计算机

第一代编程语言(1GL):这时的程序基本采用机器语言编写,程序大多采用十进制或二进制编写。通过打孔卡、纸带、磁带等硬件辅助读取程序的内容。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

计算机通过纸带读取程序

第二代编程语言(2GL)也叫汇编语言,它们仍然与特定计算机的指令集和体系结构密切相关,但汇编语言使程序更具可读性,并使程序员从繁琐且容易出错的地址计算中解脱出来。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

我们所说的第三代编程语言就叫做高级编程语言了,如果放宽界限来看,现在大部分主流的编程工具都采用第三代编程语言。首先是ALGOL[1]和LISP[2],然后是用于数据计算的Fortran[3]和面向对象的Smalltalk[4],C语言是从 1969 年开始开发,到 1973 年间完成的,C语言不仅作为Unix[5]操作系统的系统编程语言,至今还能够一直保持流行,主要原因还是与硬件联系紧密。所以直到今天,C语言一直在担负和硬件打交道重要职责。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

C语言

迪杰斯特拉(Edsger Dijkstra)是荷兰著名的计算机学家,是把计算机从工具层面提升到计算机科学层面的重要奠基者。他的贡献覆盖了计算机科学的各个领域,包括编译器、操作系统、分布式、编程范式、编程语言(他和wirth一起参与发明了Algol语言)计算机算法等多个领域,很多算法都是以他的名字命名。现在软件的教科书中都有Dijkstra关于最短路径计算的算法以及他的程序“死锁”的案例。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

Edsger Dijkstra是荷兰人,与Wirth开发ALGOL(ALGOrithmic Language)

Dijkstra是最早提出软件架构的科学家,他从多个角度强调,结构正确对软件成败至关重要。在他的不断坚持下,编程语言中清除了Goto语句,使得后续语言都形成了结构化语言的编程风格。

随着Dijkstra对语言结构化的努力,Alan Kay等人发明了面向对象的编程方法。C , JAVA、PHP、Python等语言逐步成为了高级语言的核心。

软件架构师必读:面向对象编程思想(OOP)的由来与本质

我认为现代程序员都应该感谢Dijkstra,正是因为他的努力,才把编程这一工作从一门“手艺”变成一门“学问”。可是,大师都慢慢离我们远去,我们正在把编程从一门“学问”变回一门“手艺”。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

多种高级语言

随着CPU和内存等硬件不断高速发展,软件需求也变得越来越复杂。我们当前使用的程序语言中有很多类库,使得程序员不必陷入重复造轮子的体力劳动中,当程序员要系统运行某个功能时,只需要发出指令,计算机就知道要调用并运行对应的代码。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

CPU等硬件快速发展

第四代编程语言的提出者当属 James Martin[7],他是IBM的著名专家,在《不使用程序员的应用程序开发》一书中首次正式使用术语 4GL(第四代编程语言) 来指代具备一定自动生成程序能力的语言。随着图形化界面的进一步的普及和发展,可视化编程语言逐渐普及,如果在第四代编程语言的基础上,把系统运行的过程以更视觉化的方式呈现出来,例如图标、表格、图表等形态。那就可以做到低代码编程甚至实现无代码平台。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

James Martin最早是IBM的高级软件顾问

当时4GL主要包括以下内容:

1、数据库表驱动(低代码)编程,通常与框架和库一起运行。开发人员不使用编码,而是采用可视化的操作形成各种所需表单,例如著名的PowerBuilder[8]。实际上,在后来的微软的Visual Basic 和 Borland 的Delphi上,大家已经体会到了什么是低代码开发的高效率。现在的低代码只是那些工具的浏览器升级版本。

2、数据报告生成器的编程。这些语言对数据格式和将要生成的报告进行描述,并从中直接生成所需的报告或生成程序来生成报告。其实我们现在应用最广泛的SQL语言,就是在用英文说我们要什么数据。此外,还有如SAS[9]、SPSS[10]和Stat等数据分析工具,数据管理类的4GL操作界面,主要用于生成报告和统计分析。当前低代码有一部分也是数据分类别的工具。

3、软件模型化的工作成果。软件工程CASE[11]工具以及可能还有一些附加处理逻辑的规范中,自动生成程序框架甚至整个系统。例如OMG标准组织的BPMN2.0,众多低代码的流程工具正是源于此类成果。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

4GL主要内容

从第四语言的发展来看,我们都可以从当前“低代码”软件中看到这些软件发展方向的延续。低代码正是第四代语言的延续,无代码将是第四代语言的终点。

第五代语言旨在让计算机在没有程序员的情况下解决给定的问题。这样,用户只需关心需要解决什么问题,需要满足什么条件,而不必担心如何实现一个程序或算法来解决它们。从 1982年到1993 年之间,日本在第五代计算机系统项目中投入了大量研究和资金,希望使用这些工具设计一个庞大的计算机网络。但事实证明,在给定一组定义特定问题的约束下,推导出一个有效解决问题的算法,本身就是一个非常困难的问题。

低代码无代码平台的未来在哪里?编程语言的进化史告诉你答案(低代码无代码开发平台通用能力要求)

5GL需要人工智能助力

从软件编程的历史来看,第五代语言显然为时过早。人工智能的研究没能为第五代语言插上智能的翅膀,反倒是第五代语言的失败直接导致了“符号派”人工智能领域的没落,因此在编程语言方面的进展就更慢了,大多数计算机科学家都认为短期内此路不通。虽然,五代机后期赶上互联网的崛起,分散了技术的注意力。虽然第五代语言失败了,但也真正地为编程语言探索一把“未来”!
[1] ALGOL是算法语言(ALGOrithmic Language)的简称。
[2] LISP是定位编号分离协议的英文Locator ID Separation Protocol的缩写。实质是一个IPinIP的协议。
[3] 公式翻译器,是FormulaTranslation的中文翻译。
[4] Smalltalk,被公认为历史上第二个面向对象的程序设计语言,和第一个真正的集成开发环境(IDE)。Smalltalk由艾伦·凯,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。
[5] Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。
[6] 艾兹格·W·迪科斯彻在1972年获得过素有计算机科学界的诺贝尔奖之称的图灵奖
[7] 詹姆斯·马丁(James Martin),牛津大学计算机专业教授,博士,美国著名的管理和信息技术专家,马丁顾问公司的主席。
[8] 它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连。是客户机/服务器结构下,基于Windows3.x、Windows95Windows NT的一个集成化开发工具。
[9] statistical analysis system统计分析系统。
[10] SPSS(Statistical Product and Service Solutions),“统计产品与服务解决方案”软件。
[11] CASE工具原来指用来支持管理信息系统开发的、由各种计算机辅助软件和工具组成的大型综合性软件开发环境,随着各种工具和软件技术的产生、发展、完善和不断集成,逐步由单纯的辅助开发工具环境转化为一种相对独立的方法论。

【博士聊IT】,感兴趣,加关注。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

七步成诗,软件是如何把人类思维翻译成机器代码的

软件架构师必读:面向对象编程思想(OOP)的由来与本质

中国为什么没有自己的编程语言?哲学、数学和语言学基础是关键

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月14日 下午12:02
下一篇 2024年5月14日 下午12:14

相关推荐

  • 科研项目中给予志愿者的补助费列什么经济分类科目

    在科研项目中,给予志愿者的补助费通常属于“生活费用”或“志愿者补助”等经济分类科目。这些费用通常是为了帮助志愿者在项目期间获得必要的生活支持,以便更好地参与研究和服务。 生活费用是…

    联系我们 2024年12月8日
    0
  • 虚幻5游戏开发

    虚幻5游戏开发:探索游戏开发新领域 虚幻5是一款由Microsoft开发的虚拟现实引擎,被广泛用于游戏开发。作为虚幻4的下一代版本,它提供了许多新功能和工具,为游戏开发者提供了更广…

    联系我们 2024年12月9日
    1
  • 创新医院党建工作方式(医院党建工作思路)

    智慧党建系统基础核心功能在于保障党建工作转换成信息化党务工作平台,做到让信息多流通,党员少跑路。通过与互联网理念的结合,形成“一掌知全貌”的线上党务高效管理系统,提升医院党建工作能…

    联系我们 2023年6月1日
    299
  • 模糊文字图片秒转高清图

    模糊文字图片秒转高清图 随着数字化时代的到来,图片已经成为了人们交流和表达思想的重要工具。但是,有时候我们会遇到一些模糊文字图片,这些图片很难用常规方法进行清晰处理。在这种情况下,…

    联系我们 2024年12月5日
    0
  • 移动端项目管理软件

    移动端项目管理软件 随着科技的不断发展,移动应用程序已经成为我们日常生活中不可或缺的一部分。其中,移动端项目管理软件也成为了现代项目管理中不可或缺的工具。本文将介绍一款简单易用的移…

    联系我们 2024年9月18日
    30
  • 无署名项目一般指什么项目

    无署名项目指的是那些没有明确作者的项目,通常是指团队或个人完成的作品,其中没有任何人明确分享或获得任何奖励。无署名项目通常被认为是一种创造性的劳动成果,可以反映出团队成员的贡献和技…

    联系我们 2024年12月6日
    0
  • 退出科研课题研究申请书

    尊敬的科研管理部门: 本人在此申请退出科研课题研究项目。 我是一名科研工作人员,曾经参与了多项科研课题研究项目。然而,由于个人原因,我希望退出这些项目。我深感抱歉,但我认为这是我的…

    联系我们 2024年12月9日
    2
  • 2项市厅级科研类项目。

    2项市厅级科研类项目 近年来,随着科学技术的不断发展,科研经费的不断增加,科研项目的数量和质量也在不断提高。在这样的背景下,市厅级科研类项目逐渐成为了一种重要的科研力量。 市厅级科…

    联系我们 2024年12月1日
    0
  • 煤炭物流公司管理流程

    煤炭物流公司管理流程 煤炭物流公司是运输煤炭的专业机构,其主要任务是确保煤炭的安全,高效,和规范的运输。因此,煤炭物流公司的管理流程至关重要。本文将介绍煤炭物流公司的管理流程,以便…

    联系我们 2024年12月6日
    0
  • 低代码开发与敏捷开发如何应用?(低代码开发与敏捷开发如何应用)

    企业对现有IT架构进行升级改造的过程中,往往面临着诸多业务压力与挑战,而先进技术的层出不穷,将我们置身于新旧迭代的循环之下,为了及时应对这些挑战,企业需要考虑新技术能否为业务创造更…

    联系我们 2024年5月14日
    362