编程语言学习和使用的观点

我的一些关于编程语言学习和使用的观点如下,因为最近谈到这个事情,就记录下来吧,但是我只想简单的表述出来。当然,我不想陷入语言孰优孰劣这种争论的圈子里。

多掌握一门语言有没有价值?如果一门新的语言能改变你对编程的理解,它就是值得学习的。另外,每一门语言对应着一种或几种“编程范型”,接触不同的编程范型是很有价值的,这是扩展视野的好机会。

编程语言只是工具,工具都是用来解决特定的问题的。特定的问题使用适合的工具来解决。但是很多情况下,我们的选择太多。选择这一门编程语言的原因可能只是因为“它很酷啊”,或者“因为大家都在用它”。另外,还有一种极端的滥用的情况:“当手上有一把锤子的时候,你看什么都是钉子”。

许多优秀的团队和企业不招“Java程序员”、“C++程序员”,只招“软件开发工程师”,如果程序员仅仅因为“不会Ruby”这样的理由被拒之门外,是荒唐可笑的。把优秀的工程师安插到适合他们的团队,以便让他们可以做自己喜欢的事情。如果让一个对游戏开发没有任何兴趣的人去做一个游戏的C++项目,他肯定不会开心。当然,也有很多企业和团队,要求来之能战,业务、平台都很清楚,那么就要把这些要求说清楚。

如果要做一个Web项目,有一个聪明、基础扎实但没有用过Java,没有做过Web开发的C++工程师,还有一个JavaEE领域有丰富经验、但是过往绩效却比较糟糕的员工,你更需要哪一个?对我来说,只要不那么急功近利,语言类别对于工程师的选择的影响很小。

优秀的软件工程师往往都至少使用过4、5门语言,有一门精通就可以。技术的宽度和广度并不矛盾。在招聘的时候每个面试官都会有自己的偏见,对我来说,如果应聘者技术面非常窄,比如说他只熟练使用过一门编程语言,我往往会对他说No。还有一种被视为偏见的让我放弃他原因是,他做过类似GFW这样没有节操的项目或产品。

我觉得C、C++是初学编程应该介入的语言类型,有人说是难了一点。但是你看看C和C++基础扎实的人算法和数据结构都不差,而且你可以明白一些底层的机制,之后再转向其它语言就比较快了。当然,初始的时候,学什么都不要学Basic。要知道它可能害了你。另外,千万不要去相信那些三个月的“XXX速成班”,基本上那只是坑钱而已。如果你有兴趣速成,我可以教给你“21天学会打开显示器”这样的速成技能。

如今语言本身被给予了过度的关注,每一种编程语言都有自己的不合理性,都有所谓的“坑”,但是过多地把精力放在这上面没有什么价值——语言的类库、社区、平台,还有语言背后的机制、设计都是更有价值的东西

文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

你可能感兴趣的:(编程语言,观点)