首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员的定义 以及新 AI 程序员的阶梯

前几天我预测《因为 ChatGPT,未来十年中国会新增五亿程序员》。朋友们纷纷追问:「你的程序员的定义是什么?」「只会问问题的人怎么能叫做程序员呢?」「你是不是在偷换概念?」‍‍‍‍‍‍‍

那么让我来定义一下我脑子里的程序员:

凡是可以用程序,较准确地控制电脑,完成较复杂操作的人,都叫程序员。

这个程序员的定义还是有边界的。

会开关电视,会用微波炉,会按电梯,都不是程序员,因为他们只是使用某种界面,按个按钮,控制机器做一些简单的操作。他们会使用工具,却不是用编程的方式使用工具。他们应该被归类为用户,而不是程序员。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

我定义的程序员(注一),至少需要有这么几个要素:‍‍‍‍‍‍

「较复杂操作」

除了按个按钮执行某个操作以外,需要有能力做一些判断。比如条件判断。以微波炉为例,可以让微波炉完成如下操作:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

也就是如下代码:

或者控制它做循环:

也就是:

或者组合调用其中多种功能:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

凡是能够做这些事情,或者组合做这些事情,完成某种程度的自动化的人,我都称为程序员。‍

「用程序」的含义

可惜大多数微波炉的面板无法支持如上的操作,所以真的做的话,可能还需要连一根线到微波炉的主板上,然后编写一些特定的程序。所以,完成如上操作的人看起来都很高深,在键盘上需要一阵猛敲,才能完成。他们就是现在的程序员的形象。

但是未来,如果机器可以支持更好的人机交互,让人们可以用自然语言,通过语音就可以完成如上程序指令的输入,想象一下,这些人「说」出来的,自动的循环,判断,执行,并且还一层层组合,这到底是不是程序?‍‍‍‍‍‍‍

「程序员鄙视链」

对于什么才是程序员的标准,哪怕在程序员内部也不统一。

每个人都把程序员的定义,刚刚好划在程序员鄙视链上自己的身后,确保自己是程序员,而自己身后的,统统不是。

比如有些人认为只有用汇编写系统内核的,才叫程序员;写 C 语言这种近乎于自然语言的高级语言的,肯定不是程序员。(这样的人现在年纪都很大了)‍‍‍‍‍‍‍‍

写 C 的认为,只有写 C、C++ 的才算程序员。至于写 PHP,Python 这些近乎于解释语言的,肯定不算。‍‍‍‍

写 Python 的觉得写 JavaScript 的这种前端语言的,不算严格意义的程序员。‍‍‍‍

写 JavaScript 认为, 只会写 HTML 这种标记语言的,绝对不是程序员。连一个循环都写不出来,都不可以执行的,怎么能算程序员。(如上的鄙视链或许在某些群体的想法中还有位置的调换)‍‍‍‍‍‍‍‍‍‍‍

而所有的程序员无论处在哪一级,一定有一个共识:就是用自然语言写 prompt,跟机器直接对话的,那 100% 不是程序员。‍‍‍‍‍‍‍

但是,我们如果看历史,这条鄙视链的延展的过程,就是机器和人的接口不断进步,难度越来越低,越来越接近人类自然方式的过程。说做 prompt engineering 的人不是程序员,仅仅是惯性和不适应使然。

所以,我坚信,他们就是程序员。回答完毕。‍‍‍‍‍‍‍‍‍‍‍‍‍‍

新 AI 程序员的阶梯

这一群新的我们暂且叫他们 AI 程序员的人群,我们也可以分一个阶梯。

第一层,prompt 使用技巧。

第二层,在实际工作学习生活中善用 AI。

第三层:用工程师的创造力,把多种技术拼接起来,以实现更强大的功能。

第四层,与 AI 有关的心理学、社会学、经济学、哲学等课程。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230219A0711U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券