转语言本身不难,但转语言带来的影响可能会让你比较难。因为编程的本质是通过编程指令指挥计算机工作,至于你是用什么语言并没有影响,就像你平时交流讲哪国语言其实都一样,能达到交流目的就行。但转语言可能带来的后果可能会有点难。

程序员转语言难吗

为什么转语言不难

因为工业界现有的语言除了汇编,常见的像java,C++,python,golang基本都属于高级语言。

所谓高级语言其实是相当于计算机底层只能理解0101这种二进制数据机器码来讲的。高级语言编写的程序需要最终翻译成0101才能被计算机所理解并执行。

所以其实换语言编程其实对计算机理解你的程序并没有太多问题,只要换用对应的翻译器(术语叫做编译器)翻译成机器码即可。

在编程技能这方面,由于编程所使用到的知识你在学校或者平时编程的时候已经教过或者用到过了,像数据结构、算法、数据库、离散数学、计算机网络、计算机组成原理等等,所以换语言影响也不大。这也是为什么大学在教授编程的时候,有些学校教C++,有些学校教JAVA,但其实最终工作时用到的可能千差万别,因为只要掌握好编程原理,语言可能跟写作文换支笔一样简单。

换语言不只涉及到编程

如果你是资深的程序员,并且以写代码谋生,那么换语言可能对你会有比较大的影响。具体体现在:

  1. 你原有语言的编程技能并不能瞬间转移到新语言,因为不同语言使用技能的习得都是花时间积累的。编程原理是一样,但经验可能并不一样。就好比你中文学得很好,但学英文也需要重新下苦功才能像中文一样运用自如。
  2. 如果你换用新编程语言谋生,可能面临需要暂时忍受初期的低收入。因为在以技术论长短的IT技术领域,只有高技能才配得上高收入。当然,如果你是内部转岗之类的,可以不受影响。
  3. 如果你不只是换了编程语言,而且是大方向的转变,那就可能影响更大了。比如你从客户端开发转向服务端开发,那么你原语言积累的经验能够复用的可能性会更低。因为除了对两种语言本身的熟悉度差别之外,客户端关注的指标比如安装包大小,启动速度,磁盘占用大小等等,可能并不是服务器主要关注的。相比于比如从C++客户端转向OC客户端,客户端原本的性能调优经验,图片优化经验,安装包启动速度等经验是相通的。

所以,如果你只是换种语言完成简单的编程功能,上手其实是很快的,但要精深,都是需要时间刻意练习的。