說實在的在此要強調的是-程式語言實在不是重點。新語言也多繼承就語言的功能與語法,因此,在我看來每種語言提供幾乎相同的功能,例如:字串處理、編輯處理、邏輯處理、計算處理..),指令的格式也大同小異。所以,一個有經驗的程式設計師應該很容易以過去對某種語言的熟練經驗、舉一反三,很快的去熟練另一種語言。如果說JAVA與C++,C#是近親,那麼JAVA與COBOL則是遠親。近親遠親都有血緣關係,僅是相似程度大小罷了。
COBOL與JAVA的差異應該是設計者的背景差異。COBOL的設計者因當初的系統環境養成諸事自己動手的習慣,即便如今的COBOL系統環境與過去大不相同,但是使用COBOL的還是那些過去觀念的那些人,所以追根究底不是COBOL跟不上時代,而是使用者本身跟不上時代。反之JAVA這類語言再加上開發工具,如果熟悉其結構及文法,實際上對應用系統的開發效率是高於COBOL,但是前提是知道去哪裡找”可用之材納為己用”。COBOL的結構語法僵硬,任何人只要經過訓練,寫出來的程式,好壞差不了多少。反之JAVAL的語法合理,講究創意非人人皆可勝任,簡單的說-認為把現有的COBOL程式設計師經由再教育即可勝任JAVA撰寫工作那是錯誤的觀念,問題還是那句老話-“江山易改,本性難移”。COBOL這種語言,很難令優秀的人長久以此維生,因為COBOL僅僅是一種”語言”,而JAVA不僅是”語言”,更是一種”環境”,兩者的”發展”空間差異太大。
現在的核心系統還在使用COBOL的最大理由是-無法割捨的包袱,阻礙了新的參與者,也就是現有的核心系統的資產,太仰賴所謂的過去的”核心系統開發經驗”,而非”核心系統開發KNOW-HOW”。換言之,新核心系統如果要移轉至JAVA,需要參考的是”KNOW-HOW”等等這類”知識”,最不需要參考的是COBOL及所處系統環境之”使用經驗”,但是大部分我所認識的銀行CIO,一則找不到有KNOW-HOW的熟練者,二則沒把握短期內可訓練出來,三則寧可打人海戰術也不敢施行精兵政策,四則也沒有案例(國內沒有大型行庫用戶),等等原因,所以COBOL還是會依其"主觀意識"繼續存活下去,真是無奈。
Comments
RPG,C都是和COBOL相同的状态。
RPG,C都是和COBOL相同的状态。
個人對前半段文章的看法
個人同意後半段對銀行業務KNOW-HOW重於開發經驗的看法, 唯對前半段文章, 有些拙見: 文章提到的COBOL應該仍是結構化的COBOL, 非OO-COBOL吧? 若是如此, JAVA在設計的觀念上就與COBOL大相逕庭, 不然直接寫個converter把語法對應轉換, 問題不就結了嗎?
您的指教完全正確
您的指教完全正確,此處所提的正是結構COBOL。
Add new comment