JAVA之痛

從事JAVA開發已經7,8年了,算是一個JAVA開發老手了吧。想一想起當初寫一個HELLO WORLD都要半天,最後仍是依靠水木JAVA版的幫助,才能成功運行第一個JAVA程序。轉眼間,經歷了EJB的老去,STRUTS的風靡,Spring的崛起,EJB3的重定義,Web Service的流行。雖然不少曾經的熱點都已過期,好像在JAVA的世界裏知識更新的太快,之前學的不少東西已經沒用了。留下的更多的是思考的方法,平和的心態。程序員

再也不去討論Eclipse和Netbean那個更強,再也不討論Swing和SWT那個更優秀,那個更有前途,再也不討論設計模式,框架。。。編程

適合本身的就是最好的。設計模式

世界在進步,軟件開發方法在進步,JAVA也在進步,只不過進步的節奏愈來愈沉重。不支持閉包,不支持函數編程,複雜的API,純粹的面向對象(同時也抹殺了其餘的編程思想使用的可能)閉包

當初那個表明最早進,最流行的程序語言已經逐漸老去,而新的那。。。架構

談談JAVA的缺點把:框架

(1)爲了和之前版本的兼容,大量應該簡化和淘汰的API依然保留在JDK中,帶來了很大的複雜性。ide

(2)JCP中理論派和實際派永無休止的爭鬥限制了JDK的進步。函數

理論派和實踐派的爭論永遠不可能休止,使用理想的純面向對象仍是多種編程思想混合應該交給實際的用戶(程序員&架構師)去決策,而不是在程序基礎語言上予以限制。關於閉包的爭論已經持續了幾個release,依然沒有結果。scala

N多的大師已經另起爐竈(如scala),或者另投他方。很高興看到scala等新的語言的出現給咱們這些JAVA支持者提供了更多的選擇,只是缺少了JCP的支持,推廣起來很難名正言順。設計

(3)面向對象的反思。

「There is no sliver bulleti」一樣使用與「面向對象」。不認同」萬事萬物皆是對象」的說法。軟件是對現實世界的模擬,讓咱們看看現實中的世界中,真的全是對象嗎?世界是多樣的,咱們的抽象也應該是多樣的,永遠不可能有一種編程思想能夠解決全部的問題。死守着面向對象註定會失敗。

(4)過分的追求鬆耦合。

不知道從幾什麼時候,作JAVA的開口閉口都是設計模式,框架設計,鬆耦合。但反思一下,咱們真的須要這麼多的鬆耦合嘛。過多的解耦合,割裂了程序描述的問題,更難閱讀的代碼。幸虧XP給了咱們新的答案。「you don’t need it」。

(5)JAVA自己的問題

在JVM中運行,沒法充分調用底層硬件的能力,象Swing,到如今的硬件條件下,依然這麼緩慢。在手持終端等各個方面,JAVA的應用受到了很大的限制,或許在這方面JAVA應該學學PYTHON。惋惜,在如今JCP的狀況下,咱們很難看到。

相關文章
相關標籤/搜索