其實除了我有利用 Java 開發過 Android 程式外,對於整個 Java 繁華萬千的世界,我可以說是個局外人。
這次『2012 Java 認證日』從主題很明顯是個推廣 Oracle 版本的 Java 證照行銷活動,本來應該與我毫無關聯,但收到 eDM 的當下,不小心被我瞄到這場免費活動的議程其實有『置入性教學』。真是怪哉,別人都是藉教學之名做『置入性行銷』,Oracle 則是反其道而行。
這邊看看這場行銷活動的當天議程表:
12:30-13:00 (30Mins) | 來賓報到(攤位集點活動,可以抽Apple TV喔!) |
13:00-13:25 (25Mins) | 開幕致詞暨美商甲骨文國際認證及訓練市場趨勢報告 岳汝誠,美商甲骨文台灣區教育訓練部副總經理 |
13:25-14:05 (40Mins) | 設計樣式用的好,程式彈性沒煩惱 李易紳, 甲骨文授權訓練中心講師 |
14:05-14:45 (40Mins) | Java 開發者的函數式程式設計 林信良,甲骨文授權訓練中心講師 |
14:45-15:15 (30Mins) | 中場休息(攤位集點活動,可以抽Apple TV喔!) |
15:15-15:40 (25Mins) | Java&Oracle人才市場趨勢報告 黃漢聲,104教育資訊網營運長 |
15:40-16:20 (40Mins) | JavaFX與Scene Builder- 美觀、快速、流暢的Java用戶端應用程式 張益裕, 甲骨文授權訓練中心講師 |
16:20-16:30 (10Mins) | 歡樂抽獎(Apple TV幸運得主就是你!) |
五個主要 session 之中有三個都是屬於知識教育,感覺免費去參加這場活動相當划算。
當初讓我眼睛為之一亮的主題,是第二場 session 的『設計樣式用得好,程式彈性沒煩惱』。剛好前陣子在公司推廣系統設計,也有同事自己主動分享 Design Pattern ( 設計樣式 ) 的學習心得,我對專家怎麼談 Design Pattern 感到非常有興趣,於是決定當天跟公司請假參加這場活動。
這次三個教學講師都非常傑出。談 Design Pattern 的李老師,一開始破題就給『彈性』兩字下了很務實的定義:應付任何修改都可以保持一致且不會動一髮牽全身。接著拿出幾個實務的例子,讓我們親眼看到意大利麵程式碼,如何透過講師一再套用幾個 Pattern 來逐步將整個程式碼簡潔化、模組化,提升可讀性、維護性。
四人幫 GoF 最初定義的 Design Pattern 共有二十三種策略,短短時間,講師大概利用其中五種做了個相當精彩的示範。但礙於講解時間有限,只能讓稍有慧根者明瞭其中奧妙。
緊接著,是在 Java 界頗負盛名的『良葛格』談到 Java 新引進的函數式語法。其實 Lambda 這種簡潔的函數式,早在數年前 .NET 3.0 就已經引進,用作匿名函式以簡化函式界面 delegation 的實作,成為實踐 LINQ 的基底技術之一。然而這次 Java 引進這項特色,卻是放在平行運算這個著眼點上。
平行運算是雲端技術畫出的其中一塊大餅:Grid Computing ( 網格運算 ) 。然而物件導向語言強調的物件本身就是實現平行運算的一個最大阻礙:因為有物件就有狀態,有狀態就有同步的困擾,就會形成資源競爭和鎖住的問題!
而排除狀態相依的純函式,就是形成一個可分散、平行的工作單位。當然,講師也特別提醒,受過既有命令式、物件導向式思維學習的我們,要改變觀念去重新思考函數導向的程式開發,尤其要在 Java 這種天生物件導向的環境思考非物件的函式能力,是需要相當的時間適應。
但是,若真的要真正發揮雲端無窮 scale out 的分散式運算能力,這是必要之惡。
第三場談到最新的 Java Form UI framework。過去靠程式碼用 AWT、SWING 刻 GUI 的苦日子已經過去,Java 最新的 JFX 技術,利用 XML 定義 layout 並且提供所見即所得的編輯器輕易地就可以做出絢麗的 GUI。
明眼人一看,就知道這是模仿 .NET WPF 的 XAML 技術。
若說當初 C# 是模仿 Java 的產物,在 Microsoft 大力推動下而有飛躍發展的 C#,相較於有心無力、無以為繼最終被併購的 Java 之母 Sun ,如今主客易位,變成 Java 開始向 .NET C# 看齊的局勢,真是所謂一年河東,一年河西。
不過講師的 DEMO 依然令我印象深刻,尤其在 JFX 內可以套用 CSS 來改變 theme style 的能力,可以讓熟悉網頁設計的 designer 重複利用熟悉的技能。
雖然是模仿 WPF 的產物,但可跨多個平台依然是 Java 天生的優勢。而且 Java 有許多優秀的『免費』開發工具都支援上述的項目開發,而 Microsoft 獨大的 Blend & VisualStudio 實戰用的版本都不便宜。
由於教學活動只是這次證照行銷用的誘餌,安排的時間都相對正式教學課程短少許多,但看得出講師仍然非常努力盡量塞近最多的內容讓大家滿載而歸,所以每個講師講話都比快的。而且最讓我大開眼界的是這些講師在細節安排的專業程度,都讓自認為在公司內準備投影片最認真的我,自歎弗如、目瞪口呆!
尤其第一和第三場,講師在投影片上利用了大量的動態效果,而言行和畫面特效節奏的搭配簡直天衣無縫、套招行雲流水,相信為了僅僅 40 分鐘這場教學,底下演練準備的時間絕對不下十小時。
雖然 Java 本身的技術規格因 Sun 的落寞已經落後 .NET ,但如今正急起直追,而且其應用面與平台本來就遠多於 .NET ,加上透過這次活動,明顯感覺到 Oracle 推廣 Java 的用心與積極遠勝過之前積弱不振的 Sun ,要跟一向積極推廣自家技術的 Microsoft 互別苗頭。
畢竟過去 Java 幾乎沒有這種由官方主辦的免費推廣活動,台灣官方的活動主要集中在收費高昂的 Java Two 大會,不若 Microsoft 除了每年重頭戲 TechEd 外,還有數不清的各類免費教育活動。
以 Oracle 開始這樣積極的態度,Java 後市發展令人期待。
沒有留言:
張貼留言