西门子低代码开发平台科普历史篇:一些你不知道的编程知识

西门子低代码开发平台科普历史篇:一些你不知道的编程知识

简介

那些关于低代码你不知道的 故事,本文主要介绍了低代码开发平台,以及编程语言历史,以及西门子低代码所使用的模型驱动开发,和西门子低代码吸取了那些教训。

什么是低代码开发平台?

低代码开发平台(英语:Low-Code Development Platform,简称LCDP),是一种方便产生应用程序的平台软件,软件会开发环境让用户以图形化接口以及配置编写程序,而不是用传统的程序设计作法。此平台可能是针对 某些种类的应用而设计开发的,例如数据库、业务过程、以及用户界面(例如网页应用程序)。这类平台可能可以产生完整且可运作的应用程序,也可能在一些特殊的情形下仍需要编写程序。低代码开发平台可以减少传统代码的数量,加速商业应用软件的完成时间。常见的好处是让比较多的人可以参与软件的开发,不只是那些有程序设计技巧的人。低代码开发平台也可以让设置、训练及布置的初期成本降低[1]。
低代码开发平台是在2014年6月9日由产业分析公司Forrester Research所提出的名称,不过类似平台的概念可以追溯到2011年。
低代码开发平台的根源可以追溯到1990年代以及2000年代初期的第四代编程语言及快速应用程序开发工具。低代码开发平台是以模型驱动设计(model-driven design)、自动化代码生成以及可视化程序设计的概念为基础[3]。终端用户开发的概念很早已经存在,不过低代码开发平台用了一些新的开发方式。

追溯历史

编程语言追溯发展史:

第一代编程语言(First-generation programming language - 1GL)

是一种机器级的编程语言。最早追溯于1950s
编程语言:machine-level programming languages
第一代(编程)语言 (1GL) 是一组编程语言,它们是用于对第一代计算机进行编程的机器级语言。最初,没有使用翻译器来编译或组装第一代语言。第一代编程指令是通过计算机系统的前面板开关输入的。
1GL 中的指令由二进制数组成,用 1 和 0 表示。这使得该语言适合理解机器,但人类程序员更难以解释和学习。

第二代编程语言(Second-generation programming language - 2GL)

是对汇编语言进行分类的代际方式。1950s中期
编程语言:汇编语言(assembly languages)

第三代编程语言(Thrid-generation programming language - 3GL) 开始开发于1950s中期

编程语言:C、C++、Java、Python、PHP、Perl、C#、BASIC、Pascal、Fortran、ALGOL、COBOL
3GL 更加独立于机器(便携)并且对程序员更加友好。这包括改进对聚合数据类型的支持以及以有利于程序员而非计算机的方式表达概念等功能。通过让计算机处理非必要的细节,第三代语言比第二代语言进行了改进。3GL 比前几代语言更抽象,因此可以被视为比第一代和第二代语言更高级的语言。Fortran、ALGOL和COBOL于 1950 年代后期首次引入,是早期 3GL 的示例。
当今最流行的通用语言,如C、C++、C#、Java、BASIC和Pascal,也是第三代语言,尽管这些语言中的每一种都可以根据其他当代特征进一步细分为其他类别。大多数 3GL 支持结构化编程。许多支持面向对象的编程。像这样的特征更常用于描述一种语言,而不仅仅是 3GL。

第四代编程语言(Fourth-generation programming language - 4GL)1970s-1990s

编程语言:ABAP、Unix Shell、SQL、PL/SQL、Oracle Reports、R
第四代语言倾向于专门针对非常特定的编程领域。[4] [5] 4GL 可能包括对数据库管理、报告生成、数学优化、GUI 开发或Web 开发的支持。

第五代编程语言(Fifth-generation programming language – 5GL)

编程语言: Prolog、OPS5、Mercury
第五代编程语言 (5GL) 是任何基于使用给定程序的约束来解决问题的编程语言,而不是使用程序员编写的算法。[6]大多数基于约束和逻辑的编程语言以及其他一些声明性语言都是第五代语言。它使用人工智能或(AI)技术自行解决问题。
第四代编程语言旨在构建特定程序,而第五代语言旨在使计算机在没有程序员的情况下解决给定问题。这样,用户只需要担心需要解决什么问题,需要满足什么条件,而不必担心如何实现一个例程或算法来解决它们。第五代语言主要用于人工智能或人工智能研究。OPS5和Mercury是第五代语言的例子,[7]就像ICAD一样,它建立在Lisp之上。KL-ONE是一个相关想法的例子,框架语言。

为什么西门子低代码注重RAD?

这是在Mendix官方网站 Academy (Mendix Academy - Home),我们可以看到西门子低代码平台非常注重敏捷开发。这也与低代码的发展有着一定关联。

1990s – 快速应用开发Rapid Application Development(RAD)

image.png
作为对瀑布模型(Waterfall)的回应,我们看到快速应用程序开发 (RAD) 在 1990 年代获得了发展势头,当时使用 Visual Basic、Delphi 和 Oracle Forms 等工具以可视方式“组装”桌面应用程序的概念变得流行起来。
瀑布模型是软件开发行业长期使用的计划驱动过程。它是在 ### 1970 年代和 1980 年代开发的,基于传统的工程模型:
image.png
RAD 工具作为易于学习的环境脱颖而出:最终用户应专注于 GUI,并逐步添加业务逻辑。
UI 和逻辑都可以作为组件存储在组件面板中。
image.png
但是, RAD 工具有局限性:

  • 它们通常是专有的。这意味着离开工具的环境是不可能的,或者只能在有限的范围内离开。目标环境通常是指定的,例如用于 Visual Basic 和 Delphi 的 Microsoft Windows、Oracle 应用程序服务器和用于 Oracle Forms 的数据库。
  • 在一个应用程序上一起工作是困难的,或者至少只有在限制的情况下才有可能,因为缺乏模块化。
  • RAD 工具,例如 Visual Cafe 和 Borlands JBuilder,在速度和资源要求方面都存在困难。它们是用 Java 编写的,这在当时意味着对资源的巨大渴望。

2001 - 模型驱动开发Model-Driven Architecture (MDA)

为了缩短部门与开发部门之间的距离,对象管理组 (OMG) 于 2021 年推出了模型驱动架构 (MDA),作为一种软件设计方法,为将规范构建和表达为模型提供了一套指导方针。
模型支持对域的整体视图,同时考虑技术和业务需求,随后将转换为可执行代码。在开发和运行时使用生成器和解释器来生成或解释模型中的代码。
随着 MDA 和微软软件工厂的出现,模型驱动软件开发 (MDSD) 已成为使用 UML(统一建模语言)和 BPMN(业务流程建模表示法)等工具来应用它的程序员的兴趣中心。

2007 - 移动平台Mobile Platforms

在 2007 年苹果 iPhone iOS 加入移动设备市场,一年后谷歌的 Android 出现后,各种移动平台应运而生。
开发人员正在积极使用 Android Studio 和 Xcode 等可视化编辑器来实现在 Android 和 iOS 上本地运行的应用程序。
这是移动设备上桌面应用程序的复兴。
然而,响应式 Web 设计和渐进式 Web 应用程序 (PWA) 等技术已经威胁到移动应用程序,因为它们能够为具有良好用户体验(UX) 且不需要移动开发平台的小型设备提供 Web 应用程序。
2016 – 低代码 Low Code 和(Low-Code Development Platform)LCDP
在Forrester Group于 2016 年发表文章后,“低代码”一词开始公开。
我们已经看到低代码开发平台 (LCDP) 的出现——其起源可以追溯到 2011 年——旨在将尽可能多的概念集中在一个屋檐下,从而使编写代码变得不必要或至少显着减少。
低代码平台包含 RAD 和 MDSD 的过程,并在开发、测试和生产环境中考虑 ALM(应用程序生命周期管理)以及持续集成(CI)或持续部署(CD)。
为了启用整个环境的“拖放”创建,PaaS(平台即服务)必须可用。为此,提供了诸如OpenShift容器平台之类的本地产品,但通常是相应的云服务。
image.png
aPaaS(应用程序平台即服务)提供应用程序在其整个生命周期中所需的一切:从第一个规划阶段到开发、验收和运营。

西门子低代码是否从历史中吸取了教训?

几十年前流行的 4GL 等技术曾承诺迅速满足客户的需求,但由于一些限制最终失败了,而且自推出以来,它们的受欢迎程度已经下降。
在 21 世纪,许多 RAD 环境从雷达中消失了。随着趋势是为Web编写应用程序,像 Swing 和 SWT 这样的“经典” UI 工具包变得越来越没有意义。
UI 设计越来越多地使用 HTML、CSS 和JavaScript完成,这创造了网页设计师的额外职业。不同的网络浏览器、Linux、macOS 等操作系统以及从 PC 到智能手机再到可穿戴设备的设备都被用作目标系统。
当我们查看西门子低代码时,我们注意到他们中的大多数都研究过历史。他们知道哪些问题困扰着 4GL 和 RAD,并试图在他们的系统中修复这些问题。
随着企业寻求人工智能、机器人技术、机器学习和物联网等新技术,西门子低代码解决方案也在不断发展以提供这些功能。

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

可爱的刘三岁

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值