Java語言與C語言之間的應用比較
Java的可以迅速的組建應用程序,它對於我們的開發者來說,建立應用程序的速度要遠遠的高於C語言,如果考慮到網絡集群計算環境,Java的優勢就更加明顯了。
世界上又有多少人能用C語言寫出又快又正確的大型程序?
在這些人中間,又有多少人有能力用C語言寫出一個在大型的、異構的網絡環境下能夠充分發揮各節點計算能力的大規模並行程序?
也就是說,你也許有能力把程序效能提高一倍,從而充分發揮一台價值6000元人民幣的PC的計算潛力,為客戶節省1000元錢。但如果是在一個由 100台機器組成的大型異構網絡並行計算的環境下,你寫的C程序恐怕性能還會遠遠低於對應的Java程序,更不要說巨大的後期維護成本,而由此帶來的損失可能是1000萬或者更多。
C語言能干的Java也能干的如下:
網絡應用層協議服務程序開發:如WebServer、FTPServer、MailServer、DNSServer等都可以用純Java語言來開發;
嵌入式開發:基於Linux的嵌入式程序開發用Java都可以做,因為Java虛擬機可以很方便的移植,包括專屬設備的圖形化接口也可以開發獨立的GUI;
不願意用類似“java 類名”這樣方法啟動Java程序,想跟C語言一樣,編譯出來的程序直接運行,可以用gcj去編譯Java程序;
多媒體開發方面:圖像、語音、3D圖像,Java都可以開發,包括網絡游戲和視頻會議系統等等,都可以用純Java語言開發完成。
C語言能干的Java做不到的如下:
操作系統驅動程序的開發:如網卡驅動。用Java直接開發是做不到的,因為操作系統就是C寫的;
原始套接字的建立:可以利用網卡的混雜模式,獲取封包詳細信息。目前Java也沒有提供原始套接字,只提供UDP和TCP套接字的開發;
系統級程序開發:如基於Windows系統的消息鉤子程序等。