β

什么时候需要学一门新的编程语言?

C++爱好者博客 104 阅读

声明:本文没有任何褒贬或者对比各种编程语言的意思,请不要做无谓的语言之争。

我们这些80后程序员大部分人都是从delphi,C,C++开始接触编程的,然后等到了大学或者工作,因为生计或者其他种种原因,大家从事的行业开始有了变化,从而导致开发语言也有了一些变化,一些做后端的,开始使用Java,C++等等,一些做前端的开始用php,js等等。

然而,当我们用一门语言很久之后,就会对这门语言有了更多更深刻的了解,优点缺点、解决方案等等,而且大部分人会有一中喜新厌旧的心里,再加上市面上的新语言、新特性层出不绝,特别是看到那些你曾经花了很大精力想了各种奇淫技巧解决了一个问题,而在某些新语言中这只是一个普通特性,所以大家难免会心里痒痒,“我要不要学这个新语言,我要不要在工作环境中使用这个语言?”

这篇文章我就两方面讲下什么时候需要学一门编程语言,一个是学新语言是否真的对你的开发工作有帮助,一个是你的生活工作环境中是否允许你用新的语言。因为我是从事游戏服务器开发,主要语言是C++,而我打算学习C#,以下的内容就用这两门语言做例子。

学新语言是否真的对你的开发工作有帮助?

我们学习任何东西都是建立在有需要的情况下,如果知识不能转化成财富,估计很少有人会去上学。所以学一门新的编程语言是否对我们有帮助是很重要的,不过如果你只是单纯的兴趣,那倒是无所谓。学习新语言的原因基本分为下面几种:

上面的几点,总结起来就是现在的语言用起来很不爽,需要新语言来帮助我提高效率。

简单高效一直是现代编程语言的核心思想,通过C++ 11,14,17标准我们很明显的看出来,C++当初为了兼容C(挖C程序员的墙角),做了很多现在看来很纠结的东西,而新标准就是在改善这块东西。我们团队维护的NFrame C++版本,到了现在又开始用C#语言做一个,核心思想没变,只是单纯的换个语言,现在核心功能已经换完了,只花了两周多的时间,一个库都没依赖,只依赖了.Net Framework,杂七杂八架起来只有10M多,而C++版本库解压后有近1G,从开发和维护成本上来说,都是C#更胜一筹。再加上现在MS本身已经开始支持跨平台了,或者mono,跨平台根本不是问题。

这个例子可以看出,新的语言C#确实提高了我们的开发效率,而C#的Task等等特性和内容,已经将我们再C++上纠结的Actor模式完全替代了,让我们可以安心做功能设计,而不是纠结语言层面的实现问题。

而且新语言一般都是通杀的,web,UI,back-end等,基本都支持,C#,js,Java都是前后端通杀,适合大部分领域和行业。

//TODO

生活工作环境中是否允许你用新的语言?

俗话说兴趣是最好的老师,当你对某个事物有了兴趣之后,自然就有学习的动力了。但是我们都不是一个人在战斗,多多少少都会有合作的同事、朋友,小到自己的简单开源项目,大到公司的大项目,所以工作生活中都是多个人在合作,做任何事情都不能一意孤行,自己喜欢某种编程语言就大用特用,毕竟团队整体的效率才是执行力,现在已经不是个人英雄主义的时代了,保持合作交流才能有更大的进步。团队做出来的东西才是外面比较看重的,技术不是决定性因素,而项目产品才是提升自己价值的东西,离开团队这个平台,一身是铁打几根钉子?面面俱到方能做到完美。

暂时想到的就是这么多了,大家可以继续补充讨论。

作者:C++爱好者博客
内外相应,言行相称
原文地址:什么时候需要学一门新的编程语言?, 感谢原作者分享。

发表评论