什么是程序员的知识半衰期?这与我们国家的五年计划类似,换句话说,你所知道的编程知识很有可能才五年后过时,类似的感悟是:“我现在写代码的水平落后了,因为自己知道这套语言已经过时了。”
起初,这似乎也合情合理。毕竟,有一个新的编程语言和技术出来络绎不绝。不过,我认为这是错误的。编程知识语言甚至比人的寿命还要长,因为他们永远都不会灭亡。例如:VB,ASP。
语法并不难
刚开始学习新的编程语言的时候,当自己还不是一名程序员的时候,学习python语言或者学习java的时候你听起来就像学英语,但是当你已经会来英语的时候再去学习新的语法,其实这个时候仅仅只是一个表面的难度,所有的核心概念是相同的。
要在任何语言编写一个程序,你使用类似类型,数据结构和逻辑基础。如果您已经了解布尔,整数,浮点数和字符串,它们有可能在新的语言使用为好。这些同样适用于像列表,集合,字典和树的数据结构。并使用逻辑将是算术运算,if语句,循环,函数调用等。
此外,关键的技能,如该算法使用,如何分解问题,变量的命名和功能都在一个新的语言直接使用。这是通用编程知识语言之间轻松传输。借用“没有银弹”的术语:语言的语法是偶然的知识,而不是如何编程的基本知识。
这同样适用于库和工具。即使你不知道的表达究竟是如何经常在一个新的语言是用来做什么,但是你应该知道,有对这些知识才有可能得到最大的支持。查找有关如何使用它们的细节是不困难的部分,而是如何利用他们是有价值的知识。与IDE等工具,同样的事情 - 你可能不知道的细节,但你知道你可以通过他们来做你想做的事情。
所以,学习一门新的语言是不是一个大问题。但是,如果你换工作,可能仍存在很多东西需要学习。我想它在3个维度的知识。
知识三维
编程:这被编程语言,模式,技术和工具。就像我上面写的,有很多核心概念是一样的,即使细节(如语法)变化。
域:这个你知道在其中使用的程序的环境的内容。例如,如果你在电信工作,它是各种协议如何工作的知识,短信如何处理,计费和监控是如何完成的等你在某个部门工作的时间越长,你越了解它,和更有价值您的贡献即可。
代码库:这是特定的公司。当你已经工作了很长一段时间,你知道周围的代码的方式。你知道的事情都做了,哪些部分是棘手和直观,而为什么有些东西是做某种方式的历史。
保持学习很重要
作为一个程序员,你是当你在所有三个方面有见地的最有价值的。如果你换工作,这是不可避免的,你将一无所知学习新的语言代码 - 您只需在挖掘和学习。
不过,你所学到的关于编程和域将是有益的,即使你换工作。知道几种编程语言会给你的事情是如何做不同的(即使基本面是一样的)的参考点。这也是很好的一般阅读软件开发的书籍,如代码完成,干净的代码程序员修炼。
最后,我认为上述这些使软件开发有趣和令人兴奋的事情,总有一些东西要学。你永远不会觉得无聊。因此,保持学习。你最了解什么语言会令你成为一个更好的开发者,即使每年有新的代码语言诞生。