【轉載】做者:曾健生,公衆號ID:appbackendphp
比目科技 Bmob後端雲java
在qq上,常常看到有創業團隊的創始人一直都招不到技術人員,除了項目的因素外,很大的緣由就是所須要掌握的開發語言偏門。經過閱讀本文,詳細瞭解選擇開發語言的核心原則,使各位內心對開發語言的選擇更加有數。node
選擇開發語言就一個核心原則:在合適的業務場景的狀況下選擇最熱門的語言.python
(1)每種語言都有本身擅長的業務場景,根據業務場景來選擇golang
例如,若是須要開發一個聊天服務器,選擇了php來開發,那真的醉了。php這種腳本語言怎麼適合聊天服務?web
例如,若是是開發web網站,php就很合適,比起java,效率提高不少。後端
(2)選擇最熱門的語言ruby
不少語言適用的業務場景是重疊,那麼這種狀況下應該怎麼選擇?服務器
個人答案是,選擇最熱門的。mvc
從app後端的開發語言來講,java,php,python,ruby,golang,nodejs等等均可以,那咱們到底選擇哪一個?
咱們估算一下,java,php,python,ruby,go這五種,擁有多少的開發羣體?招人容易嗎?
開源社區活躍嗎?有沒有大量的第三方庫,能避免本身重複造輪子。
(3)一個大忌是用兩套不一樣的語言維護一個相同的業務邏輯
曾經,有個創業者諮詢我,他的項目有app和網站兩部分,他想用java來開發app後端,用php來開發網站後端,兩部分有大量的業務邏輯是相同的。
我馬上說明:這種狀況就是重複造輪子的狀況。用兩套語言去維護相同的業務邏輯,在開發效率上有提高嗎?
若是要修改業務邏輯,那兩種語言的實現須要修改,這不是浪費了大量的開發時間嗎?
(4)一個系統中,不一樣的業務邏輯能夠用不一樣的開發語言實現
例如,後端系統的mvc框架部分能夠採用php,而若是在後端須要實現一套定時任務系統,那麼就能夠考慮採用java或python, 這兩種語言都有成熟的定時任務實現方案.
最後,若是真的無法決定採用哪一種開發語言,還有一個辦法,找找和你業務邏輯差很少的同類產品,看他們的招聘要求,參考一下咯^-^