什么会让程序员丢掉工作?

2017-7-14 14:30:53 来源:itwriter

  什么会让程序员丢掉工作? 

  
1,以后会不会出现中文编程呢?(这里说的肯定不是说易语言了,而是另一个层面的中文,第三层 shell,在现在的基础上再裹上一层,而且大部分是中文) 

  2,各种 IDE 会不会再给自己套上一层翻译环境,以至于以后 HR,文员就可以像写 word 一样,直接写出一个工(湖北教育信息网)程,或者更形象点说就像写现在代码的注释一样写未来的代码呢?然后由框架或者 IDE 直接后台翻译出来?已经有一些苗头出现在曾经的 Dreamware 和现在的 Visual Studio,以及未来的所有 IDE 上。 

  3. 人工智能:是不是所有与机器打交道的工作,都会在未来被现在正在与机器人打交道的人自己干掉呢?社会中,重复性的工作都会被被淘汰。”,但在未来”重复“的界限会被已经产生的无数 ” 轮子 “ 碾压、拓宽到何种地步呢? 

  
编程的工作不会消失,名字或者会变,但不会消失。编程困难之处,是需要精确无歧义地描述一件事物。只要你做到这个,就很容易学会编程。编程的语言、工具都不难,但需要你长期动手实践、熟悉。编程包含两部分,想清楚,动手做。 

  很多(湖北教育信息网)人没有觉察到,日常语言是很含糊的。因此编程才需要发明更精确的语言,就如同数学需要一些符号公式。这并非是想为难普通人,让普通人看不懂,而真的是实际需要。普通人让程序员说人话,总想将代码翻译成日常语言。而对于程序员,代码更容易看懂,更需要将日常语言翻译成代码。Talk is cheap. Show me the code. 

  日常语言约定俗成,创作出新词汇,我们基于这些词汇更好地说话。而开源的库,就让程序员,有更好的词汇,描述更抽象、更高级、更好的东西。 

  除了词汇,我更喜欢将编程比喻成拼积木。最开始只有一些简单基本的积木,用这些小积木拼出更大的积木。积木一旦拼好,就可以无限复制。之后再用拼好的积木拼更大的积木。这样可用的积木就会越来越多,越来越高级,就可以拼得越来越快。开源就是向其它人分享这些积木。 

  为什么编程不会消失?因为人们(来自:湖北教育信息网Www.eDu-hb.cOm)基于旧东西会创作出新东西,永远有想拼的更复杂的积木。比如数据库,前辈程序员耗了心力去拼这个积木。之后的程序员有了这个数据库这个积木,就可以直接用来做网站。一代代程序员薪火相传,向前进。这个过程没有尽头。或者有一天没有现在的人类了,也会有新人类重复这过程。假如有天机器会思考,会创造,它还会是机器吗?它应该改成他,他就是新人类。 

  编程中,重复性的工作肯定会被淘汰。社会中,重复性的工作都会被淘汰。 

  现在的编程工具还比较落后,但放到十年前,简直是梦幻般存在。而今天的软件,比十年前要复杂得多。今天我们用更好的工具创作出更复杂更好的软件,十年后也是。 

  抛开程序员,让普通人动手做产品,这个念想从计算机被发明开始,就一直没有停息过。实际上已经实现了部分。今天的大部分程序员,放到十多二十年前,也就是普通人。程序员并没有被抛开,反而越来越多,因为越来越多的普通人也可以编程,成为程序员了。 

  1,以后会不会出现中文编程呢? 

  我不清楚这里说的中文编程是什么意思。假如只是将英文(本文来自:湖北+招考网Edu-Hb.com)的 "if", "else" 换成中文的 "如果", "否则"。这早就有了。程序员是很务实的,总会选择有用而非花俏的工具。敲中文去编程,总需要切换输入法,不方便跟别人沟通,看起来也累,注定流行不了。 

  但如果是用中文去描述,就自动出现一个软件。这种要求,首先需要说中文的人描述得精确并无歧义。你可以做个实验,你是 A, 先在纸上画一些最基本的三角形和正方形。给另外一个人 B 一张相同尺寸的纸,你用中文去描述你纸上的图形,让 B 画出来。B 不能看你的图形,而你只能用中文去描述,不能动手画。最终对比 A 画的图形和 B 画的图形。这个实验{文章来源:湖北招生考试网Http://wWw.eDU-hb.com/}中,A 相当于用中文这种高级语言去编程,B 是可以理解中文的计算机。 

  想精确无歧义地传达意图,是很难很难的。 

  2. IDE 是否可以自动翻译人们意图?以后 HR,文员就可以像写 word 一样,直接写出一个工程,然后由框架或者 IDE 直接后台翻译出来呢? 

  这个问题见上文。HR,文员用 word 来描述意图,假如可以描述得很精确无歧义,实际就相当用 word 编程。你没有意识到,日常的 hr、文员、产品经理用文档去描述需求,是多么的含糊。假如文员能够精确无歧义地描述意图,他实际上可以改行当程序员,还会是很厉害的程序员。 

  3. 是不是所有与机器打交道的工作,都会在未来被现在正在与机器人打交道的人自己干掉呢? 

  这个问题的关注点错了。不应该太过于关注跟机器打交道,还是跟人类打交道。而更应关注你的工作是重复,还是有创作性。跟机器打交道,可以有创造性。跟人(本文来自:湖北招生考试网EDU-Hb.COM)打交道,也可以是重复。人们普遍认为机器就是死板重复的,这只是误区。重复性的工作必定被淘汰,有创造性的工作就不会被淘汰。比如商场收银员,她的工作跟人打交道,但是重复的,这种工作就容易被淘汰。基于同样道理,银行柜员,一些中介,汽车司机,大部分农民,也很容易被淘汰。 

  程序员对着计算机,假如是很重复性地去拼凑代码,也容易被新人淘汰取代,拼体力是肯定不够年轻人的。需要思考如何更有创作性,让工作价值快速增长,让自己不可被替代。这个问题我没有完全想好,以后怎么做要靠自己思考行动,别人帮不了。不要等被淘汰就就说程序只是青春饭。事实上很多人是不适合当程序员的,只不小心混进来的,过几年被淘汰也应该。 

  而我自己会继续编程,但需要更厉害,可以持续养家糊口。我这样笨,这样懒,除了编程我想不出可以做什么。而想在编程达到顶尖,到一定程度,就不能整天埋头于编程。就需要接触额外的领域,比如设计,推广,规划,审美,文学,工程等。

  更多讨论可以查看知乎:https://www.zhihu.com/question/45153728/answer/98399315

分享到:

上一篇:IT界有趣的小故事:蓝牙是人名 AMD铅笔超频

下一篇:微软推送Windows Server首个Insider预览版Build 16237