是JAVA更加優(yōu)秀還是C#更加優(yōu)秀?其實大多數(shù)Java和C#程序員都知道,這兩門編程語言在編程思想以及語法方面有諸多共同之處。或許使用Java的程序員覺得Java更加優(yōu)秀,使用C#得程序員覺得C#更加優(yōu)秀。我作為兩門語言都研究過得程序員,站在中立角度說說這個問題!
從編程角度來說,Java更加優(yōu)秀!因為Java幾乎和大多數(shù)性能比較優(yōu)秀的編程語言一樣,需要使用者去懂得怎么控制自己的代碼,才能讓代碼更好地更效率地執(zhí)行。Java程序員知道怎么調(diào)優(yōu),也喜歡看底層源碼的實現(xiàn),懂得如何配置各種參數(shù),所以Java程序員更懂底層!
而C#大多數(shù)情況下不需要去管這些,C#大部分東西都是托管的,比如內(nèi)存!而C#的IDE基本上在程序員寫代碼的時候該提示的提示,提示不了的、復雜的東西全部使用界面化或者自動給程序員預先生成了!尤其是最新的IDE已經(jīng)支持代碼上下文聯(lián)想了!未來C#程序員可能只需要輸入一個關鍵詞,C#的IDE就能自動生成程序員想要的代碼!
因此,相較于Java,C#程序員給人的感覺就是“道行不深”!因為C#程序員長期依賴IDE,基本上大多數(shù)普通C#程序員離開IDE會寸步難行!
但是,作為編程語言,它始終只是一個生產(chǎn)工具。如果這個工具不能做到讓人更方便地使用,那么這個工具無疑是失敗的!
編程語言以及IDE本質(zhì)上就是軟件,我們在使用編程語言寫軟件的時候都知道如何讓用戶在使用的時候能夠更加方便、更加好的理解軟件意圖。所以,從這方面來說,C#無疑是比Java做得更加優(yōu)秀的!
尤其是在圖形界面這塊,C#很早就支持通過拖拽控件生成軟件界面了,但是目前Java也僅僅是在Android/ target=_blank class=infotextkey>安卓平臺實現(xiàn)了這個功能。
很多人可能都不知道如何使用Java編寫桌面軟件,實際上Java寫桌面軟件也很優(yōu)秀,只不過相比C#,編寫效率基本上跟自己寫前端html和css差不多!
如果Java能在早期實現(xiàn)跟C#同樣的效果,我估計現(xiàn)在也沒C#什么事了!光跨平臺這個“大招”C#就接不住!
因此,我們可以看出來,Java和C#對于用戶體驗的考慮是不一樣的!Java更多地把編程的大部分控制權(quán)交給了程序員自己,把自己當作一個“理科生”對待。但是,C#就像一個貼心“暖男”,什么事情都給你想好了!
或許C#未來真能實現(xiàn)“人人都是程序員”,但是Java若停滯不前,或許只能吃因為安卓出現(xiàn)而帶來的紅利了!因為要不是安卓的出現(xiàn),C#還是很能打的!