加入我们 登录
紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛 返回首页

亮叔杂谈 https://www.m5home.com/bbs/?4158 [收藏] [复制] [分享] [RSS]

日志

[TA瞎扯淡]浅谈广义上的程序员以及幻想未来的程序员

已有 188 次阅读2024-8-1 18:08

很多年前,我就听说过“全栈工程师”的说法,但是似乎没有一个对“全栈工程师”的公认定义。网上有很多所谓“全栈工程师”的“知识路线图”,但打开仔细一看,其实都是培训机构或“网红程序员”为了卖课程,忽悠想入行的人而已。我个人对“全栈工程师”这个概念很嗤之以鼻。首先“工程师”是个范围很大的名词,设计楼房桥梁飞机导弹的人也是工程师,因此把“能写很多种代码的人”称之为“全栈程序员”更加合理。但是,即使是“全栈程序员”,也是一个几乎不可能的存在。很多人以为程序员就是“制作APP、软件和网站的人”,实际上需要写程序的还有各类硬件工程师等。

在我看来,程序员的定义其实更加广阔。“程序”不应仅限于“电子设备程序”。根据《汉语词典》的解释,“程序”指的是“处理业务的既定方法;事物发展的既有次序、脉络、方式和方法”。因此我认为:设计创造真实或虚拟的物品的步骤的人都是程序员(people who design procedures to create physical or virtual objects are programmers)。路人甲编写了一个计算器软件,路人乙给单片机编写了一个实体计算器所需的程序并设计了电路图;路人丙用CAD软件设计了实体计算器的按钮;路人丁写了一本手册关于如何通过操作机床来制作一个实体计算器的外壳。在一定程度上,甲乙丙丁都是程序员。因为他们都设计(design)出了一套步骤(procedures)来创造(create)真实或虚拟的物品(physical or virtual objects)。而且其他人通过遵循这些步骤,可以创造出一样的东西。

一个天生的程序员(指的是不仅仅是为了赚钱而入行的程序员)在本质上一定是一个热衷于改造世界的人。为了改造世界,仅仅通过给电子设备编写程序是肯定不够的。一个非典型的程序员进化之路可能是,首先进入了Windows编程的世界(具体来说,是从写批处理开始入门,接下来学习VB、VC、内核编程等),然后进入了非Windows(Linux、macOS、iOS、Android等)编程的世界,然后进入了Web开发的世界,然后进入了单片机开发的世界。此时,物理世界和虚拟世界的界限已经逐渐模糊,因为单片机的作用就是为了感知和驱动物理世界。但是这个程序员又猛然发现,即使已经精通了单片机开发,但却连一个装单片机作品的盒子都做不出来。于是开始学习OpenSCAD,通过写代码的方式来设计现实世界中的零部件,并通过3D打印把自己设计的零部件给制造出来。接下来这个程序员又发现,3D打印出来的东西实在不太结实(不抗摔、不耐热等),于是开始学习金属加工,买来了各种工具和材料,把车库变成了作坊,实现了金属加工的几个基本操作:车、铣、钻、锯、磨、焊、铸。在这一刻,这个程序员觉得,他终于掌握了改造世界的全部基本方法了。但他高兴没几天,又开始失望了,因为他发现,有一种东西,即使他能设计,也制造不出来。准确说,是目前全人类都制作不出来……

在未来,除了现在创造“死物”的程序员,还一定会出现创造“活物”的程序员。由于技术不成熟或者由于法律的限制,现在的人类对于编辑生物的基因抱有十分谨慎的态度。随着科技的进步,人类一定会彻底破译生命的奥妙,使得设计和制造生物变得可行。众所周知,任何生物(除RNA病毒外)的基因都由DNA构成,而DNA由A、T、G、C四种碱基组成,这就是典型的二进制编码(00、01、10、11)。在不知道多少年后的将来,程序员可以在“生物编辑器”里设计出新的物种,然后通过“生物编译器”生成DNA编码。甚至会出现类似3D打印机的“生物打印机”,在小作坊里就创造出全新的生物。只不过让人感到遗憾的是,现在能看到这篇文章的人,基本上活不到这一天的到来。

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 加入我们

返回顶部