精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程語言Java和Python對比哪個比較好

我快閉嘴 ? 作者:工程師李察 ? 2018-10-06 15:27 ? 次閱讀

語言的優劣之爭是個永恒的話題,有時候一次偶然地“擦槍走火”甚至可能會引發一場鐵桿粉絲之間的“戰爭”。

也經常有人問我:“老劉,到底是Java好還是Python好? 我應該學習哪個語言?”

我也挺為難的,只好說道:

Python挺適合入門的,看起來很簡單,適合創業團隊,可以快速開發,快速上線,快速迭代。適合特種部隊的突襲。等到發展到一定規模,動態語言的劣勢就會體現出來,維護/重構難度高,特別是我覺得動態語言寫的代碼腐化速度要比靜態的Java要快一些。

Java呢,語法相對Python啰嗦,表達力要弱一些,開發起來一板一眼,有很多規范,適合集團軍的大規模協同作戰;有很多著名的框架和類庫,性能不錯,系統穩定而成熟,是開發大型系統的極好選擇。

他說:“老劉你這是在和稀泥嘛,我到底應該學啥?”

我說:“你應該把注意力放到那些和Java無關,和Python無關,能反映一個程序員水平高低的編程的共性問題。”

舉個非常簡單的例子,開發中需要實現一個定制的、簡單的緩存,如果使用ehcache ,memcached, redis這樣的開源系統就太重量級了,經理要求你新寫一個,可以支持(key,value)存儲,設置過期時間,過期的可以自動清理掉,你能不能快速地實現一個高質量的版本?

這其中涉及到的就是數據結構和算法、以及線程的知識,和具體的語言關聯度很小。

再比如給你一個需求,你能不能找出其中“概念”,從而設計出類?能不能做好信息的封裝和隱藏,定義出良好的接口,讓每個類的職責單一而準確?

Python中有class , Java 中也有class, 但是上述工作卻和具體語言沒什么關系。你需要做的是利用你的經驗,在腦海中做一次思維體操,然后用某個語言工具把他們表達出來。

有些“概念”比較容易發現,有些“概念”和現實沒有直接的對應關系,需要抽象一下才能找到,這就比較考驗抽象的能力了。

可能有人說,我們Web開發都是“面向數據庫”編程的,都是基于數據庫的增刪改查,用不上你說的這些東西。 那如果經理給你一個項目需求,讓你完整地設計出表結構來,要求方便后續的程序開發,又要考慮到靈活性和擴展性,你能不能搞定呢?

在編程中,你發現了重復的代碼,那能不能找到一個概念(最終可能由一個類或者函數來表達),來表示這個重復的模式,從而極大地消除重復代碼?

你能否區分哪些是不變的部分,哪些是變化的部分,把他們區分開來,“發現變化,并且封裝變化。”

說到底,本質上還是那個抽象的能力, 這樣的例子有很多,這里不再一一列舉了。

作為一個程序員要發展,要成長,不可能一直增刪改查,不可能一直停留在編程語言的特性上面,爭論孰優孰劣。

對于做技術的人來說,總有一天,眼光和視野要超越編程語言,進行設計和架構的工作,停止無謂的爭論,開始扎扎實實地學習吧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2957

    瀏覽量

    104544
  • 編程語言
    +關注

    關注

    10

    文章

    1938

    瀏覽量

    34594
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84451
收藏 人收藏

    評論

    相關推薦

    C初學入門,請教用哪個版本的Linux會比較好

    如題,還是大一學生,剛學C語言,老師要我們自己裝LINUX熟悉下LINUX,這樣能提高我們C語言能力。請教用哪個版本會比較好
    發表于 03-21 10:27

    新手學習,先從哪個板塊開始比較好

    新手學習,先從哪個板塊開始比較好
    發表于 05-01 15:09

    ORCAD和PADS,哪個畫原理圖比較好

    ORCAD和PADS,哪個畫原理圖比較好
    發表于 11-25 22:38

    新手報到,新手學習區哪個比較好

    各位大大們,新手報到,請問新手學習區哪個比較好
    發表于 09-23 22:46

    流量傳感器哪個廠家的比較好啊?

    請問哪個廠家的流量傳感器比較好啊,就是精度高,采樣頻率高的。
    發表于 01-07 10:48

    請問常用的EDA軟件是什么,哪個比較好用?

    常用的EDA軟件有哪些,哪個比較好用呢?
    發表于 03-26 07:56

    請問學PCB用哪個軟件比較好

    我看這里好像沒有 protel 軟件啊? Altium Designer這個我沒接觸過,這個好學嗎?現在都用哪個比較好一點?
    發表于 10-11 04:36

    請問C語言和匯編語言進行單片機設計那個比較好

    大家根據自己切身學習和工作經驗,談談對單片機的程序設計,C語言和匯編語言哪個比較好用?各有什么優缺點?
    發表于 03-11 04:48

    五種基于PON的FTTX接入對比分析,哪個比較好

    五種基于PON的FTTX接入對比分析,哪個比較好
    發表于 05-27 06:39

    MSP430用哪個開發環境比較好

    MSP430用哪個開發環境比較好
    發表于 11-07 06:09

    最流行的編程語言javapython

    世界上最大的編程相關書籍出版商Packt Publishing進行的市場研究顯示,JavaPython是當今最流行的編程語言
    發表于 09-26 10:22 ?0次下載
    最流行的<b class='flag-5'>編程</b><b class='flag-5'>語言</b><b class='flag-5'>java</b>,<b class='flag-5'>python</b>

    KeilMDK和IAR兩款ARM開發工具哪個比較好

    KeilMDK和IAR兩款ARM開發工具哪個比較好(單片機內部結構示意圖)-KeilMDK和IAR兩款ARM開發工具哪個比較好? ? ? ? ? ? ? ? ?
    發表于 09-30 11:07 ?7次下載
    KeilMDK和IAR兩款ARM開發工具<b class='flag-5'>哪個</b><b class='flag-5'>比較好</b>

    語音教室的廠家有哪些 哪個比較好

    現目前互聯網技術發達,各個行業的發展方向都使用了信息化的方式。教育行業也是一樣,說到信息化的發展方式,語音教室是目前比較廣泛的信息化教學軟件。那么語音教室有哪些廠家呢?哪個比較好呢?下面就一起來看看吧!
    發表于 12-21 14:11 ?1521次閱讀

    大屏看世界杯,哪個品牌的投影儀比較好?數碼小編誠心推薦!

    雙十二快到了,這段時間呼聲最高的數碼產品毫無疑問是投影儀,為滿足粉絲們的呼聲,我購入了十多款熱銷投影儀,通過對比后總結了高清投影儀推薦,今天就來給大家匯報結果,相信看完這篇文章后都能知道哪個品牌的投影儀比較好
    的頭像 發表于 11-30 15:02 ?670次閱讀
    大屏看世界杯,<b class='flag-5'>哪個</b>品牌的投影儀<b class='flag-5'>比較好</b>?數碼小編誠心推薦!

    對比PythonJava編程語言

    PythonJava都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言
    的頭像 發表于 11-15 09:31 ?215次閱讀