为什么跨语言开发不是件难事
经常会有同学遇到跨语言开发。写.net的要转型写PHP,写PHP的要转型写Java,写Java要转型写GO,写Lua的要转型写JavaScript,写JavaScript要转型写Typescript等等。每当遇到这种公司层面的全面转型,新同学就比较焦虑,到底能不能转型成功,会不会做不好被公司裁了。
个人经历
先说下个人经历。我是08年底开始用PHP写代码,09年底的时候,有同事说隔壁用actionscript写网页游戏的程序员,半年经验就一万多了(我那时只有六七千),我当时一想老子特么也要写actionscript赚一万多。10年底的时候跳槽去一家小的游戏公司,当然还是写PHP。11年初的时候,actionscript缺人,刚好我自己有意愿,就看了一周actionscript3的文档,第二周就开始在项目中直接开干了。到了12年的时候有过几次技术难点的解决,觉得actionscript3领域已经没有解决不了的东西了。好日子没过多久,13年的时候公司全面转型手游,开始用cocos2d-x lua写手游了,花了一周时间看了些lua文档,第二周就开始用Lua写手游了。14年的时候,几户一半人又转战u3d了,又开始使用C#。后来又使用typescript写过一段时间的H5游戏。14年底时候,又回到老本行开始写PHP,中间还有lua写过很多openresty的项目。18年的时候,公司全面转型Go。又开始使用Go写项目了。
你看看中间有多少种,php->actionscript3->lua->C#->typescript->go,当然中间需要深入研究PHP、cocos2d-x还学习过C和C++.
为什么不是件难事
你看,个人经历过这么多种语言,好多都还是公司全面转型,从来没有遇到过哪怕一个同事掉队过,或者由于这个原因被公司开除了。从这个角度来看也不是难事。
从公司层面来看,已经打算全面转型,对公司高层来说,多少还是有底气,这个底气怎么来的?可能是有一些经验丰富的资深程序员已经在研究和探索了,也可能有一些外部的顾问资源在兜底。我经历的都是第一种。所以说公司层面肯定是由把握的,个人就更没必要担心这个,有问题了就请教兜底的同事。
有的人说,即使这样了我还是担心。那就多下功夫学习学习再学习,争取成为兜底的人,就不会担心了。
语言难易的简单区分
明确的是,C C++ 汇编语言我们归并为比较复杂的语言。
我自己的理解,没有根基的语言比较容易掌握,由于没有根基,碰到的技术难点都能在语言本身中解决,相对短期内在这一领域不会有特别困难解决不了的问题,比如说actionscript3 Go typescript Lua等等。
PHP 也是比较容易掌握的语言,但是PHP语言本身优化到了瓶颈,就需要掌握Zend引擎,需要些扩展,就牵扯到C,就变得复杂了。
所以,基本上只要不是C C++等比较复杂的短期内很难精通的语言,其他的语言,大多都主要是看文档熟悉语法,然后写代码写代码写代码,重要的事说三遍。