假如一個人java、.net、php同時都熟悉的話,還有沒有必要學習python?
網友解答: 程序員掌握多門編程語言是非常正常的事情,因為程序員往往要應對不同的開發(fā)場景,而不同的開發(fā)場景往往需要使用不同的編程語言,所以程序員往往就需要根據開發(fā)場景來選擇語言,熟悉多門編
程序員掌握多門編程語言是非常正常的事情,因為程序員往往要應對不同的開發(fā)場景,而不同的開發(fā)場景往往需要使用不同的編程語言,所以程序員往往就需要根據開發(fā)場景來選擇語言,熟悉多門編程語言就變得比較正常了。
Python的應用場景主要集中在Web開發(fā)、大數據和人工智能領域(機器學習、自動推理、自然語言處理等)。如果要做Web開發(fā),因為已經掌握了PHP,就沒有必要再學習Python了,因為PHP在Web開發(fā)領域的解決方案是非常成熟的。如果做大數據開發(fā),如果已經掌握了Java,也沒有學習Python的必要,因為使用Java完全可以應對大數據開發(fā)場景。
但是,如果要做人工智能方面的開發(fā),比如自然語言處理、自動推理、機器學習、計算機視覺等方面的開發(fā),就需要學習Python了,因為在這些開發(fā)場景下,Python有比較明顯的優(yōu)勢。Python的優(yōu)勢集中在三點,分別是開發(fā)方便、調整方便、整合方便。
由于Python有大量的庫可以使用,所以在做人工智能方面開發(fā)的時候會比較方便,比如在機器學習領域比較常見的Numpy、Matplotlib、Scipy,這些庫使得使用Python做機器學習開發(fā)非常方便。
由于Python語法上的簡單性,以及語言自身的靈活性,使得代碼的調整也很方便,而使用Java做功能調整則是一件比較麻煩的事情。另外,Python語言自身的資源整合能力也非常強,所以也把Python稱作為“膠水語言”。
隨著大數據和人工智能的發(fā)展,目前學習Python的人越來越多,很多Java程序員都開始學習Python,因為目前使用機器學習的方式來做數據分析是一個流行趨勢,這時候掌握Python語言就變得有必要了。
對于有編程基礎的程序員來說,學習Python是一個比較輕松的過程,我在學了大概3天之后就開始嘗試使用Python做機器學習開發(fā)了,然后就一邊用一邊學。
我在酷米上寫了關于學習Python的系列文章,感興趣的朋友可以關注我的酷米號,并查看相關文章,如果有Python方面的問題,也可以咨詢我。
謝謝!
網友解答:這個問題不用糾結。因為不會出現這個問題。
不同的語言平臺,有不同的語法特性,包括構建流程等都有部分設計理念方面的差異。不過最終的結果是:不同語言平臺有各自的擅長領域!小部分原因是語言特性,大部分是歷史原因和生態(tài)方面的原因。
假如一個人java、.net、php同時都熟悉(請注意我假設這個熟悉是有含金量的熟悉,而并非簡歷上的客套話),那他應當在這幾門語言中至少有一門略有造詣。由此衍生,他應當知道相關的核心知識點,包括并不限于運行時、基礎類庫、常用三方庫、基于語言平臺的各種應用程序模型、語言平臺在主流應用場合的優(yōu)劣勢。上面描述的語言平臺特點,相信他已經有足夠的經驗水平來做判斷。所以他不會提這個問題。
相對的,如果一個人只顧掌握多門語言,然后都只是皮毛程度,那就真有可能提這種問題了。我面過一個人,簡歷寫了精通十幾門語言,我被驚艷了!然后問他最擅長的語言,提了一個我認為比較基礎的問題,他完全答不上來。為了不錯過真正的人才,我又問了一個線程方面的基礎問題,這次,我果斷結束了面試。
題主所說的java、.net亦或是更多的語言,只要任何一門到了熟練掌握的程度,在市場方面都是比較搶手的。其它語言更多是根據需求和興趣來擴展的。在需求方面,大部分情況下,只需要你能閱讀代碼和構建項目即可。這種情況,你會十門以上的語言也很正常!
個人建議如果精力有限,可以掌握C(C++)、Java、Python這個組合,其它的語言,隨你的興趣就行。掌握C或者C++對于你理解更底層的原理有很大幫助,比如操作系統,比如通信協議。而Python,曾被稱作“膠水語言”,目前最大的優(yōu)勢是大數據和人工智能方面的生態(tài),這個你上Github了解下便知道了。