程序員轉語言難嗎?
轉語言本身不難,但轉語言帶來的影響可能會讓你比較難。因為編程的本質是通過編程指令指揮計算機工作,至于你是用什么語言并沒有影響,就像你平時交流講哪國語言其實都一樣,能達到交流目的就行。但轉語言可能帶來的后果可能會有點難。

為什么轉語言不難
因為工業界現有的語言除了匯編,常見的像java,C++,python,golang基本都屬于高級語言。
所謂高級語言其實是相當于計算機底層只能理解0101這種二進制數據機器碼來講的。高級語言編寫的程序需要最終翻譯成0101才能被計算機所理解并執行。
所以其實換語言編程其實對計算機理解你的程序并沒有太多問題,只要換用對應的翻譯器(術語叫做編譯器)翻譯成機器碼即可。
在編程技能這方面,由于編程所使用到的知識你在學校或者平時編程的時候已經教過或者用到過了,像數據結構、算法、數據庫、離散數學、計算機網絡、計算機組成原理等等,所以換語言影響也不大。這也是為什么大學在教授編程的時候,有些學校教C++,有些學校教JAVA,但其實最終工作時用到的可能千差萬別,因為只要掌握好編程原理,語言可能跟寫作文換支筆一樣簡單。
換語言不只涉及到編程
如果你是資深的程序員,并且以寫代碼謀生,那么換語言可能對你會有比較大的影響。具體體現在:
- 你原有語言的編程技能并不能瞬間轉移到新語言,因為不同語言使用技能的習得都是花時間積累的。編程原理是一樣,但經驗可能并不一樣。就好比你中文學得很好,但學英文也需要重新下苦功才能像中文一樣運用自如。
- 如果你換用新編程語言謀生,可能面臨需要暫時忍受初期的低收入。因為在以技術論長短的IT技術領域,只有高技能才配得上高收入。當然,如果你是內部轉崗之類的,可以不受影響。
- 如果你不只是換了編程語言,而且是大方向的轉變,那就可能影響更大了。比如你從客戶端開發轉向服務端開發,那么你原語言積累的經驗能夠復用的可能性會更低。因為除了對兩種語言本身的熟悉度差別之外,客戶端關注的指標比如安裝包大小,啟動速度,磁盤占用大小等等,可能并不是服務器主要關注的。相比于比如從C++客戶端轉向OC客戶端,客戶端原本的性能調優經驗,圖片優化經驗,安裝包啟動速度等經驗是相通的。
所以,如果你只是換種語言完成簡單的編程功能,上手其實是很快的,但要精深,都是需要時間刻意練習的。

