跳到主要內容

Java即將變成另一個COBOL了?

不要人云亦云。

先照順序看:
Java is becoming the new Cobol
Java會步上 COBOL 的後塵嗎?
關於”Java即將變成另一個COBOL”這篇文章
版本控制,版本升級是不是個問題?
回應”版本控制,版本升級是不是個問題?”
Java , COBOL 以及版本控制

因為不是高手,而且以前用Java,現在用.Net,所以才可以客觀地以一個dummy的角度看待Java。基本上我的看法和Q大濕差不多啦。
  1. 使用Java差不多有十年,雖然不是一直在用,但是JDK 1.0寫的程式到現在也沒什麼大問題。GUI程式編譯確實會不相容,但以前編譯出來的class確能在新版JVM跑。"Write Once, Run Anywhere." 指的就是binary的相容,而不是source code相容。
  2. 就算是Perl/PHP,舊版相容性都不夠好,更別提.Net了。.Net的Binary向前相容性不算好,Source code就更差。.Net 3.5是基於.Net 2.0,所以根本不能算向前容性,只能說是Library的擴充。
  3. Servlet Container有時候會用一些undocumented api,像com.sun開頭的那些,所以JDK更版時常會有問題,確實會在更版時造成困擾。
  4. EJB是基於Java的一個framework,但不能代表Java。.Net上也有很多人開發一些framework最後無疾而終。以前太無聊學Struts,買了本1.0的書,結果1.1不太一樣,2.0差更多,但這也不是Java的問題呀!不信的人請從asp.net 1.0玩到3.5看看...
據在平均50分的資管系任教的學弟(他也是非本科系,Civil的Ph.D)表示,他們學校做專題也開始改用.Net,因為企業都在用,而且容易上手。
這是Sun一開始對UI處理方向的問題,而不是Java的錯。現在NetBeans也算是很容易開發,我感覺用jsf和asp.net也沒有差很多。別忘了Java有成堆的library,也有成熟的runtime;mono基本上還沒有成熟到能與jdk拼的程度。(mono真的很成熟時,微軟也會煩惱Windows Server賣不出去)

至於ROR Framework,在我不專業的眼光看來,由於activerecord、scaffold等神奇的功能加上Ruby魔幻的語法,可以用很短的code寫出相同的程式。但在下這種笨蛋就是學不會複雜的語法,所以嘸蝦米輸入法、Ruby、Groovy都覺得太複雜,所以看了幾本書都沒辦法真正學會C++呀!

由於OpenSource社群的活躍,我相信Java絕對不會掛點或奱成小眾語言(COBOL、SmallTalk等)。XDite也有指出ROR的快速開發也不是我們這種笨蛋能輕易學會,要熟悉ROR的framework要花不少的心力,還有靈巧的Ruby語言。不管什麼程式語言都會有一段熟悉期,到大改版時陣痛是免不了的啦!所以老板想用Asp.Net就給他Asp.Net,要PHP就給他PHP,若能自己決定時就看你自己爽啦XD

Update:Q大又追加一篇 ”版本控制,版本升級是不是個問題?”後記

留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?