選擇開發(fā)語言就一個(gè)核心原則:在合適的業(yè)務(wù)場(chǎng)景的情況下選擇最熱門的語言.
(1)每種語言都有自己擅長(zhǎng)的業(yè)務(wù)場(chǎng)景,根據(jù)業(yè)務(wù)場(chǎng)景來選擇(推薦學(xué)習(xí):PHP視頻教程)
例如,如果需要開發(fā)一個(gè)聊天服務(wù)器,選擇了php來開發(fā),那真的醉了。php這種腳本語言怎么適合聊天服務(wù)?
例如,如果是開發(fā)web網(wǎng)站,php就很合適,比起java,效率提升很多?! ?/p>
(2)選擇最熱門的語言
很多語言適用的業(yè)務(wù)場(chǎng)景是重疊,那么這種情況下應(yīng)該怎么選擇?
我的答案是,選擇最熱門的。
從app后端的開發(fā)語言來說,java,php,python,ruby,golang,nodejs等等都可以,那我們到底選擇哪個(gè)?
我們估算一下,java,php,python,ruby,go這五種,擁有多少的開發(fā)群體?招人容易嗎?
開源社區(qū)活躍嗎?有沒有大量的第三方庫,能避免自己重復(fù)造輪子?!?/p>
(3)一個(gè)大忌是用兩套不同的語言維護(hù)一個(gè)相同的業(yè)務(wù)邏輯
曾經(jīng),有個(gè)創(chuàng)業(yè)者咨詢我,他的項(xiàng)目有app和網(wǎng)站兩部分,他想用java來開發(fā)app后端,用php來開發(fā)網(wǎng)站后端,兩部分有大量的業(yè)務(wù)邏輯是相同的。
我立刻說明:這種情況就是重復(fù)造輪子的情況。用兩套語言去維護(hù)相同的業(yè)務(wù)邏輯,在開發(fā)效率上有提升嗎?
如果要修改業(yè)務(wù)邏輯,那兩種語言的實(shí)現(xiàn)需要修改,這不是浪費(fèi)了大量的開發(fā)時(shí)間嗎?
(4)一個(gè)系統(tǒng)中,不同的業(yè)務(wù)邏輯可以用不同的開發(fā)語言實(shí)現(xiàn)
例如,后端系統(tǒng)的mvc框架部分可以采用php,而如果在后端需要實(shí)現(xiàn)一套定時(shí)任務(wù)系統(tǒng),那么就可以考慮采用java或python, 這兩種語言都有成熟的定時(shí)任務(wù)實(shí)現(xiàn)方案.