為什麼跨語言開發不是件難事
經常會有同學遇到跨語言開發。寫.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++等比較複雜的短期內很難精通的語言,其他的語言,大多都主要是看文件熟悉語法,然後寫程式碼寫程式碼寫程式碼,重要的事說三遍。