人类总是会对自己的未来充满了焦虑,在我们对未来心存怀疑的时候,任何一则“消极”一点的消息都能让我们更加否认自己的未来,这一心理近日在对程序员前景心存质疑的人们身上,非常明显。
日前,据网易科技报道:美国莱斯大学表示,作为五角大楼的疯狂科学部门,美国国防部先进研究计划署(DARPA)对代号为PLINY的自动填写编码项目投资了1100万美元,这一项目的研究人员期望在收集到大量的开源代码编入索引之后,可以预测编码人员将输入的代码。
该项目如果被顺利完成,它或将为那些找不到合格程序员参与研究日益复杂的软件项目的公司带来福音。根据高考期间的报道,计算机专业是我国2014年高考志愿填报多的专业。由此一来,那些孩子学习计算机专业,有可能走上程序员道路的家长们,以及本身对程序员未来心存质疑的人们看到这一新闻之后更加焦虑,仿佛自动写代码的工具让大量的程序员下岗的事情已经板上钉钉。但事实真是如此吗?
码农是程序员吗?码农与真正程序员的区别
根据百度百科释义,码农是一个依靠写代码为生的群体,表现在:低收入,工作时间长,这种职位只能强化职业者在单方面的技术领域技能。如果按照从业者们将自己自嘲为码农的表现,那么码农的程序员分级中理应只属于初级程序员,是属于依靠复制粘贴将各类代码链接的IT从业者。
这个群体的数量有多少呢?大学计算机相关专业的同学们、大中专软件专业学习者、毕业不久的程序员、广大编程初级爱好者。这一群体庞大的数量,让码农很难在IT世界中拥有不可替代的价值。
按照笔者曾经的java老师的说法,牛逼的程序员能够依靠经验和其逻辑,设计出的算法,更好地解决问题。对于真正的程序员(非初级程序员,也即码农)而言,他们不仅是枚的码农,还熟悉与客户沟通的技巧,在帮助用户解决问题的时候了解用户的需求,进而迭代产品;他们可以深谙获取用户需求的技巧,也懂得市场分析、技术执行分析、价值分析估算项目的风险;他们能独立完成项目使用文档的能力,甚至都可以独立完成一个项目。他们与纯粹的码农有一个非常显著的差异:码农靠体力为生,真正的程序员不仅体力行,其也靠脑力,靠思维逻辑上的突破、靠团队管理赢得个人魅力。
自动写代码颠覆的是码农,而不是程序员
从区别中,我们不难发现:真正的程序员与码农相比的区别就在于:真正的程序员不是完完全全的技术工人,其除却技术高超之外,其思维逻辑上的价值,让其不可替代性比码农强多了。
自动写代码工具,这对于大量的程序员们来说可能是福音,但对于单纯的码农而言,带来的却是毁灭。微软在其发展中,对IT编程领域做出的贡献就在于制作了很多便捷的编程开发软件或构建了非常省事省力的开发环境,其中不乏有大名鼎鼎的VisualStudio和SQLserver。
以笔者在学习C#之时常用的VisualStudio为例,无论你是选择c/c++还是其他的一些编程语言,在VisualStudio的语言库中已经存在某一编程语言的情况下,我们通过输入代码的前几位英文字母,就能快速地检索出我们想要的代码。因此,其实在目前的编程环境中,大量人性化的编程工具都已经初步实现了主流编程语言语法的检索,无论是美国政府的PLINY,还是微软正在利用去年发布的插件Bing开发助理,他们想要做的事情,各大研究机构或许已经研究多时的。
虽然这样的工具要实现准确预测编码人员将输入的代码,检查语法错误与漏洞存在一定的难度,但这样的工具的确有实现的可能,也会给人们更率地编程带来很大的帮助。由此一来,备受冲击的便是码农的。
一旦这样的工具真正成型,这些工具会让原本需要多位码农分功能块而执行的代码,由一个码农也可以完成,在这个过程中,原本可能一家企业能够养活5名码农,后只会有2名码农幸存。由于目前码农们所做的事情与真正的程序员相比,并无太大的技术含量,其被写代码工具颠覆的可能性非常之大。
但在程序员的发展历程中,大家几乎都是从码农走过来的。自动写代码工具会淘汰大量在码农期间无法加强自己学习能力,加强自己不可替代价值的初级程序员,也就是我们所说的码农。因为自动写工具出行的情况会让初级程序员们感受到市场的残酷性,在激烈的竞争中会淘汰很多困难并不适合并不乐意往程序员更高层次发展的人,也会激励初级程序员不断学习,从而提升程序员整体的质量水平。
因此,在自动写代码工具颠覆、淘汰掉一批初级程序员之后,其也会为提升程序员整体的质量做出巨大贡献,对程序员未来的发展有推动作用。学习能力强是高级的程序员或者的人才都具备的因素,而对于用户需求、市场的分析能力;对项目代码的逻辑思维掌握;能够舍弃个人英雄主义,以团队以项目为主;敢于创新敢于思考敢于学习也都是高级程序员们不可替代的一些地方。
科技的发展,往往是能有工具替代人类的体力活,而关于思维思想的工作,暂时或许并未在这些神奇工具颠覆的范畴内。在自动写代码工具面前,无论是码农还是真正的程序员,其实更多地应该是勉励自己不断学习,不断进步,而不应该在末日还没有来临就对自己的未来堪忧。人类是世界上级的动物,大脑所具备的思维能力就是其能够成为级的关键,在编程领域,或许只要人类肯学习,愿意提升自己的思维能力,形成自己不可替代的价值还是有机会的。自动写代码颠覆的是码农而不是真正的程序员!(这里指学习能力不够强、思维能力不够强的初级程序员)