1.为什么编程语言有些会死而有些会活下来
中文版from:http://www.aqee.net/why-do-some-programming-languages-live-and-others-die/
英文版from:http://www.wired.com/wiredenterprise/2012/06/berkeley-programming-languages/
作者认为有些语言之所以不能够存活,主要原因有:
(1)学院派设计的语言,大多致力于解决很少有人用到的问题,而对于经常遇到的问题的处理效果并不像想象的那样好;
(2)新语言缺少社区支持与先关文档;
(3)随着年龄的增加,程序员更过地专项管理,他们学习新语言的热情与动力正在逐渐减小,只有很少一部分人能够保持这种passion;这样导致了两个问题:老程序员很少学习新语言;新程序员的主管(老程序员不了解新语言);这样新语言的推广就遇到了问题
个人认为,还有很关键的一点就是:新领域或新应用的产生是促使一门语言向前发展的绝对动力。java本来被设计应用于小型嵌入式设备上面,但是效果并不理想;当它面临困境之时,由于互联网的出现出飞速发展,它才获得了新生。而我看好scala语言的原因是由于多核计算与云的发展使得传统语言很难去适应,而能够运行与jvm上面是它能够脱颖而出(或许)的另一个重要原因!
2.面对错误的忠告
中文翻译from:http://www.aqee.net/the-best-programming-advice-i-ever-got-rob-pike/
英文原版from:http://www.informit.com/articles/article.aspx?p=1941206
摘录:
Ken教会了我一个极其重要的习惯:纠错前先思考。如果你一头扎进问题中,你可能只解决了当前出现问题的代码,但如果你先思考这个错误,这个bug是怎么引入的?你通常发现和纠正一个更高层次的问题,进而改进了系统设计,防止了更多bug的出现。