看资深开发者如何表白低代码

最新更新时间:2022-08-04来源: EEWORLD关键字:开发 手机看文章 扫描二维码
随时随地手机看文章

来自国外一位资深开发者的心声


低代码面对的各种声音


自从我开始使用西门子低代码以来,我注意到当告诉别人你在使用西门子低代码进行低代码开发时,大家的反应会截然不同。一般情况下会有以下三种反应:


1. 同行——相互支持和理解;

2. 小白——对解决方案更感兴趣、仅关心问题是否已解决;

3. 传统代码开发者(如C语言、Java、Python等)——往往对低代码开发持质疑态度。


西门子低代码是软件开发进化的产物


我一次又一次地观察到高代码编程语言和低代码编程语言之间的划分,这也是我在使用西门子低代码之初所观察到的。基于大家对低代码的不同声音,我自己也难免会有偏见,我对西门子低代码的第一印象是:它是一个用来构建小型应用程序和实体模拟的好工具,仅此而已。


事实证明我大错特错。


在使用西门子低代码多年后,我认为它理应成为我们开发者与计算机之间的下一代互动方式。为了解释这一点,让我们回到几年前。以前,为了给计算机编程,你必须以二进制的形式向计算机下达命令,这项工作无疑非常耗费精力。只有少数专家才能使用二进制代码给计算机编程,显然需要一种更加实用的解决方案。下一轮进化以汇编语言为代表。每一种处理器都有自己的指令集并且可以用汇编程序表示。这种语言更方便人类阅读,所以用它来开发也变得更容易。因此汇编程序是一个抽象层,它将二进制代码隐藏起来,但任何使用过汇编语言的人都知道,这个过程同样非常乏味。它没有现代语言的基本舒适功能,而且每次都要重新开发。此外,由于不同类型的处理器具有不同的汇编指令集,因此如果你想在一种新的处理器上运行一个程序,就必须重新编写程序。C语言、Java和JavaScript这些高代码的出现解决了这些不便,其语法更方便人类阅读、可重复使用的功能、对内存管理友好、可移植性强。这些语言的语法将机器语言命令汇总成易于使用的操作,但开发者也失去对计算机内部进程的直接控制,目的是为了让更多开发者能够使用这类语言。


西门子低代码和低代码是计算机编程的下一个进化方向。西门子低代码也是向开发者隐藏高代码、汇编程序和机器语言复杂性的抽象层。虽然开发者放弃了一部分直接控制权,但因此能够更快地开发应用程序。此外,这个开发环境让更多的开发者能够更加轻松地上手。


你注意到了吗?没错,当年支持高代码的论点现在正在支持低代码。每一次进化都会带来开发速度的提升和开发流程的民主化。西门子低代码的存在并没有使高代码变得过时。高代码在很多领域都有它的一席之地(比如可以用Java和JavaScript扩展西门子低代码)。同样,汇编程序和机器代码仍然是一些领域的首选工具,但我们必须认识到低代码是进化的产物。


低代码让我们在职业发展上有了更多的选择


在我成为西门子低代码开发者之前,我对自己未来的职业道路产生了严重的怀疑。我喜欢写代码,但我认为自己没法每天都做这项工作。但我确实喜欢构建各种东西。我喜欢回顾一天的工作并看到结果,这就是构建软件的意义所在。在我的前雇主向我介绍西门子低代码平台之前,我并不知道低代码。


西门子低代码开发者不用写传统的代码就可以构建数字应用程序。你可以使用预先构建的部分来构建应用程序。你所设计的逻辑片段被称为“微流”。在启动应用程序后,西门子低代码就会将其翻译成计算机可以理解的语言。微流看起来像是传统的工作流程图:有一个开头和一个结尾,执行的是中间的逻辑片段。


由于这些片段都是预先构建的并且可以随时使用,所以逻辑开发速度比传统编码方法快十倍,而且学习过程比编码简单得多,因此更容易上手。即便你没有学习过计算机科学,也可以使用低代码技术。其实大多数西门子低代码开发者都来自截然不同的学术领域。我曾有幸与生物医学、心理学、工业工程等不同学术背景的西门子低代码开发者合作。虽然IT行业仍然是一个以男性为主的行业,但这种刻板印象在低代码这里并不成立。我团队中的女性人数甚至一度超过男性。


这种背景多样性使得低代码开发者经常需要承担许多不同的职责。低代码开发者常被称为业务工程师,这可不是“空穴来风”,业务工程师是业务管理专家和软件工程师的“混合体”。也就是说,业务工程师不仅能够理解并将业务需求转化为软件需求,还可以将这些需求转化为真正的软件。一般情况下,你在每天的大部分时间里都在开发,但你也可以参与到软件开发流程中的更多环节。在我以前的公司里,业务工程师还会参与销售和用户体验(UX)设计等其他工作。


即使在Mendix公司内部,员工也可以选择扩展到不同的领域。通过学习样式的知识以投身于前端开发,或者成为一名专注于系统集成的后端开发专家,甚至可以通过学习Java开发来深入研究西门子低代码的核心。大多数西门子低代码开发者都有自己最感兴趣的具体专业领域,但你很可能需要在某个时候承担所有这些领域的工作。传统的软件工程师一般不会有这么“奢侈”的机会。


这一切让你在职业发展方向上有了更多的选择。你可以先从一个基本的西门子低代码开发者开始做起,然后扩展到其他领域。在过去四年中,我就曾为金融、保险、卫生、政府等领域的各种形式和规模的公司工作。


如果你还不是一名西门子低代码开发者,可以先尝试一下低代码。不要只看到局限性,而是要看到它所带来的可能性,就像软件开发的进化过程一样。


关键字:开发 编辑:张工 引用地址:http://news.eeworld.com.cn/gykz/ic618099.html

上一篇:低代码应用开发的五大好处
下一篇:研华发布新一代 “边云协同-研华智慧工厂解决方案”

推荐阅读

NVIDIA发布Omniverse重要版本,新增USD连接器和工具、模拟技术以及开发者框架
NVIDIA新发布的工具和功能包括: Avatar Cloud Engine;DeepSearch AI 3D搜索引擎;用于稀疏体积数据的NeuralVDB AI升级;与用于科学数字孪生的NVIDIA Modulus的连接;以及PhysX、MDL等技术的更新加利福尼亚州圣克拉拉 - SIGGRAPH - 2022年8月9日 – NVIDIA于今日宣布,为基于通用场景描述(USD)连接和构建元宇宙世界的平台——NVIDIA Omniverse™提供一系列新的开发者框架、工具、应用和插件。此次针对Omniverse的扩展包括多项AI工具和功能,它们让艺术家、开发者和工程师能够比以往更加轻松地构建虚拟世界和内容,并且更加无缝地连接当今领先
发表于 2022-08-10
NVIDIA发布Omniverse重要版本,新增USD连接器和工具、模拟技术以及<font color='red'>开发</font>者框架
N76E003介绍与开发资料获取
介绍N76E003 为新唐高速 1T 8051 微控制器系列产品,提供 18 KB Flash ROM、可配置Data Flash与高容量1 KB SRAM ,支持2.4V 至 5.5V 宽工作电压与 - 40 ℃ 至105 ℃ 工作温度,并具备高抗干扰能力 7 kV ESD/4 kV EFT。N76E003 在20 pin封装下提供高达18根I/O脚位;周边包含双串口、 SPI 、 I²C 、6通道 PWM 输出;内建优于同类产品之 < 2 % 误差之高精确度16 MHz RC晶振与高分辨率8通道12位 ADC ;并具备自我唤醒、欠压检测等功能;提供TSSOP20 ( 4mm6.5mm ) 与QFN20 ( 3mm3mm )
发表于 2022-08-10
N76E003介绍与<font color='red'>开发</font>资料获取
OK6410A 开发板 (八) 113 linux-5.11 OK6410A rootfs 文件系统
struct file_system_type rootfs_fs_type = { .name = "rootfs", .init_fs_context = rootfs_init_fs_context, .kill_sb = kill_litter_super, };start_kernel vfs_caches_init mnt_init shmem_init init_rootfs 根据各个全局变量初始化 is_tmpfs
发表于 2022-08-10
OK6410A 开发板 (八) 114 linux-5.11 OK6410A各个文件系统的挂载
在 linux 启动过程中,挂载顺序如下 1. 内核 1. tmpfs // tmpfs 挂载到了 自己 ,有一个 根: dentry 和 inode , 对应一个 struct mount 2. rootfs // rootfs 挂载到了自己 ,有一个 根: dentry 和 inode , 对应一个 struct mount 3. bdev_cache_init 4. nsfs_init // 虽然挂载了,但是没注册文件系统 // cat /proc/filesystems 中找不到它对应的文件系统 5. devtmpfs // devtmpfs 挂载到了自己 ,有一个 根: dentry 和 inode , 对应一个 stru
发表于 2022-08-10
OK6410A <font color='red'>开发</font>板 (八) 114 linux-5.11 OK6410A各个文件系统的挂载
OK6410A 开发板 (八) 115 linux-5.11 OK6410A 内存文件系统的挂载实例
mount -t tmpfs tmpfs /work/mount/struct mount 结构体$1 = (struct mount *) 0x816f5780 // struct mount 结构体 地址$2 = { // struct mount 结构体 内容 mnt_hash = { next = 0x0, pprev = 0x0 }, mnt_parent = 0x816f5780, // 表示挂载到了 /work/mount/ 所在的 struct mount 上 , 0x816f5780 为 /work/mount/ 所在的 struct mount 的地址 mnt_mountpoint = 0x8
发表于 2022-08-10
OK6410A 开发板 (八) 116 linux-5.11 OK6410A 用户空间虚拟内存布局
不同架构的 用户空间虚拟内存布局 不同, 以 arm 为例用户空间实际从0x10 000开始,从低到高有代码段,数据段,堆,栈用户空间范围为1000 -beff ffffvdsostacksigpageheap-mmap-ldlibcheap-brk数据段代码段vdso为了提供系统调用 ,x86提供了3类指令int/sysenter/syscall其中 sysenter和syscall相对于int来说,快一点而不管怎么快,都要从用户态切换到内核态新机制出现了,vsyscallvsyscall主要是 1.对特定的系统调用使用函数调用代替,即对一些系统调用进行加速 2.vsyscall还对系统调用进行入口管理,分发给int/sysent
发表于 2022-08-10
小广播
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved