回顧過去青少時期著迷AppleⅡ而流連在中華商場的身影,到今日Ajax解法方案ZK逐漸嶄露頭角的歷程,已過不惑之年的陳志恒,露出招牌的爽朗笑容,直言他起起伏伏的程式開發生涯:「說穿了就是愛玩」,玩心讓他樂於接觸新的技術,也讓他勇於嘗試,「好玩」也是能成就今日ZK發展的重要關鍵。

從失敗產品中找出ZK的成功因子
當年陳志恒離開矽谷返回臺灣,主要的機緣是因為大學同學葉明憲,也是現在方略資訊總經理向他招手,希望能共同創業。當時正是DOS轉向Windows的時代,他們相中Windows平臺上會計e化的需求,於是開發出「大帳省」帳務系統。一如預期,他們成功地在市場上佔有一席之地。

因為抓住改朝換代的時機而成功,於是當網際網路逐漸普及之時,他們認為Web化ERP應用程式將是時代所趨,理當能複製上一次的成功經驗,佔得市場先機。於是砸下重金,花了數千萬開發Web ERP軟體,產品雖然順利推出,然而這次成功之神卻沒有敲門。

由於客戶用慣了桌面應用程式,Web化的軟體在使用習慣與反應速度都難以讓客戶滿意,因此那段時間不但得常聽到客戶的抱怨,又賺不到什麼錢,即使不斷花費時間在修改程式,還是得不到客戶滿意的評價。

陳志恒坦言那段時間情緒非常低落,又忙又累卻得不到任何肯定,跟他「愛玩」的性格一點都不符。然而窮則變,不斷地遇到問題,卻也讓他興起一勞永逸解決問題的想法。過去參與開發Thin Client的經驗,讓他靈機一通,認為可以將這個的概念轉移到瀏覽器上,讓瀏覽器擔任應用程式的前端顯示平臺,而伺服器來負責大部分的後端運算工作。

這個想法蘊生之後,葉明憲著手開發核心系統,完成後交由陳志恒在平臺上試做應用程式,一用之下,他就知道他們完成了一個寶,這就是後來在SourceForge上大放異彩的ZK。陳志恒認為ZK就像積木一樣,只要堆一堆,就能做出城堡或機器人,成品立即可得可見,開發的速度極快。於是陳志恒在ZK平臺上開發出許多元件,例如整合Google Map或是圓餅圖的製作,讓開發人員可以套用,節省自行開發時間。

資源受限,轉向開放原始碼求生
ZK平臺化的特質,不會受到區域性的限制,於是開發團隊決定朝外面廣大的世界走去。然而ZK並不是一開始就打算走開放原始碼的路線,原本他們想的還是傳統老路,打算尋求創投投資,以公司體制來行銷經營。然而在臺灣軟體業想要找到創投挹注並不容易,碰盡釘子之後,他們將眼光轉向開放原始碼。

會走上開放原始碼還有其他淵源,像是JBoss釋出沒多久,他們就導入到Web ERP專案中。當時陳志恒還曾經替JBoss抓到程式邏輯的錯誤,而讓JBoss想網羅他到開發團隊中。看看現在JBoss的成績,再比較他們寄望深遠的Web ERP,這為他帶來一次開放原始碼的衝擊。
另一次的衝擊是Java的框架Hibernate,差不多在它發表的同時,陳志恒也完成了一個相近的框架,公司視為祕密武器。然而走開放原始碼的Hibernate成功了,而他開發的框架只能用在自家產品中。

當時葉明憲對陳志恒說了一句話讓他印象深刻,他說:「不試這一次,一定會後悔」,走上開放原始碼究竟能不能成功、會不會賺錢,都是未知數,但陳志恒也同意不試會後悔的看法。

ZK釋出之後,許多人幫忙在各種作業系統與環境中測試,讓系統越來越完善。也由於社群的力量,ZK現在擁有13種語言版本,如果要透過公司自己來做,花費的資源和時間就相當可觀。

陳志恒認為,拋開賺錢不談,開放原始碼可以讓開發人員透過程式碼切磋交流,這對於技術提升相當有幫助。因此ZK走上開放原始碼這條路,陳志恒認為方向對了,而且現在看起來也很好。

自學而來的程式設計功力
說起陳志恒的程式設計能力,多半仰賴自學。大學念電機時,基於興趣他就已經翻讀過許多電腦相關書籍,因此後來到美國攻讀電腦碩士時,對他而言像是在複習過去讀過的書,也經常擔任起小老師的角色。

印象很深刻的一次是老師出了一道演算法的題目,大家都解不出來,他回家後想想就答出來了。下次上課時,同學知道他已經解開了,於是要求他上臺講解,由於不少同學來自臺灣、大陸、香港、新加坡,於是他直接用中文講解,卻惹得臺下一位也想知道答案的印度同學一直喊「Speak English!Speak English!」。

陳志恒深厚的程式設計功力,還可以從他在矽谷工作經驗窺知。他的公司ULSI System曾花費10萬美元找顧問寫顯示卡的驅動程式,是當時陳志恒年薪的三倍,然而他接手程式碼後卻傻眼,寫得相當雜亂、無章法,一堆「IF…ELSE」的語法,相當難維護,而且效能卻不佳。

一開始陳志恒先試著修改程式碼,但後來愛玩的性格冒出來,就決定利用C語言整個重寫,完成之後兩相比較,效能足足快兩倍。憑藉陳志恒累積下來的功力,雖然他的資歷不深,但也擔任當時專案開發團隊的領導角色。

玩心是軟體開發人員應有的特質
對於程式開發的想法,他形容電腦其實是人類邏輯行為的表現,程式開發只是把人類的思想,用電腦的語彙去表達出來。因此掌握和電腦溝通的邏輯力,是程式開發人員必備的基本特質。

例如ZK最近在招募新人,他們考核新人的方法,便是使用類似GMAT的推理測試,考的不是解題能力,而是給受測者答案或條件,藉此判斷能不能解得出來,以此判斷邏輯能力優劣。

除了清晰的邏輯能力,陳志恒認為能「坐得住」也是程式開發人員必要的條件。他拿業務員作對比,業務人員在性格上就是要喜歡在外面跑,因為這是工作所需;相對而言,開發人員就是要能耐得住性子,坐在電腦前面解決問題。

更重要的是,陳志恒認為電腦科技日新月異,軟體工程師其實相當辛苦-學新東西,怕壓錯寶浪費時間;不學又怕跟不上時代。因此如果對程式開發缺乏興趣,只當成工作,很難維持長久。像他是因為愛玩,只要一臺電腦就能讓他廢寢忘食,因此可以一直在這個領域中樂此不疲。

有人說,要讓軟體工程師努力工作,只要告訴他這個問題沒有人解開過,就會讓他離不開電腦,陳志恒應該也是這類容易躍躍欲試的人吧。文⊙黃天賜


宛如布袋戲「老和尚」的Java

在網路發展快速變動的今日,Web開發越來越重視快速、輕巧,而Java在Web開發上雖具彈性卻失於繁複,造成「超越Java」的聲浪紛起。

就像現在熱門的Ruby on Rails就是一個典型的例子,Ruby比起Java是更為古老的程式語言,卻能因為Rails鹹魚翻身,陳志恒指出Java只要找出一個適切的框架,一樣能像RoR具有高速開發的效果。他打了一個比方,Java就像是布袋戲史豔文故事中的老和尚,會的功夫太多、太雜,在實戰中往往不知道該使用哪一招而頻頻挨打,這時如果旁邊有個人提醒他可以用哪一招,老和尚往往就能讓敵人一招斃命。

Java目前框架繁多,究竟誰能成為像Rails這樣的殺手級框架,仍未得知,但陳志恒深信ZK是極具競爭力的工具,也許就是能讓老和尚使出絕招的重要角色。文⊙黃天賜



IT人物-陳志恒
方略資訊副總經理
●學經歷:美國南加大電腦碩士、美國ULSI System工程師、安信達科技經理、慧智科技工程師、力捷科技專案經理

公司檔案-方略資訊
●成立時間:1999年
●網址:www.zkoss.org
●營業項目:軟體開發與服務、ZK Ajax解決方案開發與推廣

熱門新聞

Advertisement