人生有三重境界: 程序员
第一重:看山是山,看水是水。
第二重:看山不是山,看水不是水。
第三重:看山仍是山,看水仍是水。 编程
编程语言之争由来已久,也是编程之余谈笑之资。有段子问,如何用最简单的方法让一个技术论坛迅速沸腾?答:发一贴:PHP 是世界上最好的语言。如此就能够挑起编程语言的大战,各方阵营你来我往,左的,右的,中立的,摇摆的,都得插上一两句。因而就闹起来了,一个论坛也就沸腾了。也有人将不一样编程语言比做不一样的武器,Java 是自动机枪,C 是加兰德步枪等等,依据各语言典型特色作一个比喻,也是饶有趣味。编程语言
去除做为基础课程的 C 语言。个人第一个学习和正式使用的语言是 C#,那时候对“巨硬“大大谜之感兴趣,对 C#之父安德斯·海尔斯伯格(也是 Delphi 和 TypeScript 之父)也一脸崇敬。C#语言自己,在语法和特性方面也是优雅而又超前。但最终个人吃饭家什却变成了 Java,只因毕业后,C#(.net 平台)在国内已经没有什么市场地位,市场招聘清一色的 Java,PHP 等。因此,其实如今不少语言之争都是工做和市场所需之争。函数
我我的是比较赞同语言之争的。但不是逞口舌之快的语言争论。编程语言百花齐放,不一样领域需求不一样,天然适用不一样的语言。我也但愿不一样语言有自身不一样的特性。我也认为一个程序员在本身的主语言以外能够去了解另外一门不同的语言,什么叫不同的语言?风格和特性不同,好比面向对象的 Java,能够去了解脚本式的 Python,也能够了解函数式的 go,甚至 Jvm 平台的 scala 也能够,而应该避免一样的 C 系语言。跳出语言的桎梏,能够认识到一些编程更本质的思惟。学习
如开篇讲到的人生三境界,其实对编程语言的认识也如此三境界。当你对一门语言只停留在使用层面,那么你眼中的编程就是这门语言展现给你的;当你跳出其外,认识了更多,思考了更多,你会慢慢开始以为再也不是那样;当你最终摸透了本质,你所见的全部编程语言,也就都同样了。甚至这个时候让你本身编一门编程语言也不是不可能。大数据
另外,我认为编程工做的最大区别不是语言之别,而是领域之别。一样是作 Web,用 Java 和用 PHP 思惟差不太远。而一样使用 Java,作 Web,和作大数据,作安卓倒是如隔行隔山。这就是领域思惟不一致致使的,因此有时候咱们也应该跳出本身的领域去看更多的世界,甚至于跳出编程,跳出工科,跳出理性世界,去体验更多不一样的思惟方式。spa
公众号以原创技术文章为主,偶尔品品人生,发发感慨。欢迎订阅。