java的不足_Java不足之我见
Java不足之我見
作者:未知????文章來源:www.jspcn.net
發布日期:2005年01月19日
許多人都在使用Java開發程序,本人也是其中之一,作為一名
有一定軟件工作經歷的開發人員,我想也有必要將目前的Java開發
的不足之處作一比較客觀的表述,以引起業界人士對Java的優劣之
處有一比較客觀的認識,而避免奉之過高。
Java的許多優點,以及一些細節上的缺點在許多書上,以及網
上評價上都有較多的描述,可是對于Java從總體上的面向對象的編
程思想(其龐大的AWT和SWING類庫)的缺點卻少見貶詞,且不說AWT
和SWING的技術在許多地方互為矛盾(同時使用易出錯)、互為重復
(功能有互為重復之處),難道業界不覺得這套編程思想過于復雜嗎?
太復雜,以至于:
1. 學習、掌握Java的多級復雜類庫有一定的難度,大量掌握需
要很多時間,而且掌握之后,一旦該編程人員不使用Java編程,那么
掌握的類庫對于其它編程語言基本無用; 而且,對于本身不是很通俗
易懂,而是比較令人費解的程序,即便是開發人員已經掌握,而一旦
稍長時間不接觸,此種編程的許多技巧就會被忘記,除非留有帶著非
常詳細注釋的原代碼。
2. 編程易于或可能進入復雜的涉及多級類結構的耗時編程及調
試的狀態,象陷入亂麻之中一樣;
3. 如此復雜的程序,其他開發人員難以接手,書面詳細設計方
案上也很難表述這種立體式的復雜結構,以及上下互相之間的復雜關
系(包括方法調用、接口的隱式調用(接口可能被自動調用)、某個方
法是重載還是不重載(如果對上面各級類庫的方法種類不是很清楚,
從代碼貌看上去,怎么知道是否是重載的呢)),等等。
也許有人會說,你沒有全部掌握,當然會有很多困難,可是Java
龐大類庫中很多都是與界面設計有關的類庫,而純粹的界面設計技術
在應用系統之中,往往不是系統功能的核心部分,為了開發這種不是
核心部分的界面程序,需要投入那么多的時間、精力,從這一點上來
說,難道這種開發方式具有很大的實用意義嗎?
也許有人會認為,開發人員或許沒有資格這樣評價用于開發的語
言或工具,可是:用戶就是上帝,這句話永遠是有道理的,既然客戶
可以評價我們開發的應用產品,我們就可以評價用于開發的語言或工
具。
也許有人會認為,評價的人本身也不太懂,可是,如果評價的人
什么都懂,那他也不是Java編程人員了,那他也快要成為設計Java本
身的技術人員了,難道Java的原創的目的就是為了讓使用Java編程的
人員都變成設計Java的人員嗎?而不是為了讓大家用起來都比較簡單,
從而創作出許多有用的成果嗎?
最后,作為拋磚引玉的一些結論:
1.面向對象的編程思想,應該更多地融合或融化到可視化的開發
環境中去,而不是仍然較多地使用語句或語言本身來描述,后者會很
復雜,因為本來立體式的類結構,使用平面化的語句來表述,這本身
就是很復雜,而且是勉為其難的事情;對象使用可視化的開發環境表
示之后,編程代碼(語句)應該盡可能簡單易懂。
2.龐大而且復雜的類庫結構,這并不能代表著設計者的水平,對
于使用者來說,設計者將原先復雜、龐大的東西,變得讓使用者覺得
簡單而且合理,才是真正有水平的。
在上面兩點上,PowerBuilder開發工具在過去幾年當中,而且直
到現在,都是做得最好的,當然PB的PFC類庫也不實用(其代碼量、復
雜度,與其實現的功能相比,顯得太重,本文作者曾經重新設計PB的
類庫,功能比PFC類庫強大,但使用簡單,因而相對實用)。
PB的程序封裝也比Java好,PB程序封裝在統一的PBL文件中,不象
其它語言或開發工具形成多種文件,如使用JB編寫的Java程序就包括
擴展名為:jpr、html、java的文件,封裝不好,程序員管理自己的代
碼就比較麻煩。
3.面向對象的編程方式,不管采取哪一種方式,作為應用編程人
員,在編程過程中,牽扯到類的繼承級數不能太多(指系統提供的,而
且編程過程中經常需要查閱的上級類庫,加上編程人員自己設計的類),
否則所編的程序的結構會很復雜,立體式的很復雜,會導致一些難以
遇見的隱式錯誤,而且很難被發現、排除。
4.Java在字符串類型、整數類型等細節方面也使用類的編程方式,
這是將面向對象編程思想走向極端化的表現,實際上,使用′類′這種
表示事物的方式,一般是在比較宏觀的事物中,才顯得比較方便,而
在字符串類型、整數類型等細節微觀方面,使用′類′的定義,并不方
便,因為這不符合一般人的思維習慣,在細節微觀方面,其實只要使
用傳統的非面向對象編程思想就可以了。而且,Java對于整數類型,
既有′類′的表示方式,又有不是′類′的表示方式,以及字符串類型的
′類′的表示方式,這幾種方式之間,牽涉到的方法名稱以及使用方式
上面互相之間都不統一,讓人覺得:Java為什么要這樣,這么麻煩,
又有什么好? Java編程全是高一腳、低一腳的走路方式,為什么要這
樣,難道Java的設計者有病,為什么走路不能坦坦蕩蕩一些呢?
5.正是因為上述的這些缺點,使得現在Java面向對象的編程方式,
很難取代某些傳統的編程方式,比如UNIX系統上的C編程,后者不存在
前者的上述缺點。
大凡偉大的創見,其在哲學上面,必然有強有力的依據,可是Java
的上述缺點,其在哲學上面,又有什么可覺得可以說得通的呢......
此文未及進一步整理,見諒。
望業界人士對于此文,見仁見智,不到之處,也請斧正。
總結
以上是生活随笔為你收集整理的java的不足_Java不足之我见的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java获取达梦数据库_Java连接达梦
- 下一篇: 蓝莓苗多少钱一棵