用DISCO哲學
舞出一片天的IT人 - 蔣群儒
最新活動訊息
雜誌目錄
程式碼下載
I T 基測
訂閱雜誌
出刊/補寄時間
雜誌期數速查表
聯絡我們
召兵買馬
關於RUN!PC雜誌
2008年IT人致勝守則系列
2008年必須知道的新技術─軟體開發篇
文/蔡學鏞.彙整/編輯部

新技術不斷出現,其中某些技術很可能會成為我們不可避免的挑戰,因此每隔幾年,我們都應該審視我們未來應該注意的技術有哪些。透過本文章,和大家分享我的技術觀察與建議。 當然對大多數的開發者來說,Visual Studio 2008是今年的重頭戲,這也是Windows Vista推出之後的第一個全新的Visual Studio版本,不容我們輕忽。但依照慣例,微軟還是會用大量的技術資料、研討會、資源…等,把我們餵得飽飽的。我就不用在此多介紹了。 另外RIA也是今年的重點,最值得注意的RIA技術當然是WPF/Sliverlight和AIR/Flash。關於RIA,許多文章都已經有提及,我也不在此贅述。我想在這篇文章中帶領大家認識的,是比較不一樣的新挑戰。

多核心與網路運算
莫爾定律觀察到,每隔兩年,在單一晶片上能做的事會加倍。但是莫爾定律繞道而行,不是產生越來越快的處理器(這幾年CPU時脈的增加已經趨緩),Intel與AMD等公司的作法是產生多核心的裝置:單一晶片內包含兩個、四個、甚至更多個處理器。如果你的程式沒有共時(concurrent),則一次只會在單一個處理器上執行,使用者會認為你的程式很慢。對於編程員來說,如何充分運用多核心的運算威力,變成一個重要的課題。 而網路的連結,造成分散式的環境;如何用更有效的方式進行分散式編程,也會越來越重要。 結合了上面了兩點因素,Erlang正開始獲得大家的重視。

Erlang解決了現今開發者面對的最迫切問題之一:如何寫出可靠、共時(concurrent)、高效能的系統。Erlang已經在世界各地被許多公司廣泛地採用,這些公司用它來產生可靠、有效率、具規模彈性的應用。 Erlang是一個編程語言,它的設計目的,正是為了幫助我們建立極度平行、分散、容錯(fault-tolerant)的系統。它已經被商業採用運行多年,建立出許多容錯系統。多年來,這些Erlang所建立的系統出錯率極低。 Erlang程式在多核心的電腦上執行時,會充分運用系統:這意味著你的Erlang程式在四核心的電腦上會比單核心的電腦上快,而最棒的是,你完全不需要更動程式,就有如此顯著的效果。當然,你可以用別的語言做到和Erlang一樣的事,但是只會事倍功半。
GUI
在Windows 3.x時代,Charles Petzold的Windows程式設計著作是大家必讀的經典。有人要他為Windows NT也寫一本這樣的書,他卻說:等NT賣千萬套再說吧!這顯示出Charles Petzold一直都是屬於「大眾技術類」的作家,當他在2007年也寫出一本3D程式書籍時,或許代表我們3D程式設計的時代已經揭開序幕。 Vista與MacOS都早已經進入3D的時代。如何運用3D的API,開發出更炫目的設計,會是未來GUI吸引使用者的重點。

Java
除了Sun官方的Java,Google剛推出的手機平台Android也是一種Java平台。更不用提AIR也可以算是廣義的Java平台(太多地方都類似Java,連Bytecode檔案格式都很類似)。由於Android和AIR都不是弱勢的平台,所以可能會造成Java的分歧。 但是雖然彼此分歧,也算各有其所。Java用在Web後端,Android用在手機,AIR用在Web前端。

Shell
30多年來,沿襲自Unix的Shell用法,再怎麼改變,終究是換湯不換藥。在微軟推出PowerShell之後,Shell終於有了截然不同的面貌和更強大的威力。運用.NET,整合各種物件模型(WMI、COM…),PowerShell名稱中有出現Power(威力)絕非浪得虛名。相當值得系統管理員與編程員學習。 但是提醒你,PowerShell或許不難上手,但是有太多陷阱。一開始不熟悉這些陷阱時,會吃不少苦頭。

語言
從Tiobe的編程語言需求排名,可以看到Ruby與D語言快速進入主流;Perl消退,被Python超越;C# 慢慢上漲、Java與C維持平盤、C++ 漸漸低落;Delphi持續探底,Lua往上猛竄。 估計未來幾年,OO語言還是主流,函數語言漸漸流行。目前主要是學術圈在使用函數語言(Functional Language),但確實有相當多跡象顯示,函數編程有可能會漸漸走入業界。

目前兩大開發平台上(Java與.NET),都出現函數編程思維的蹤跡。Java平台的JavaFX語言,具備所有重要的函數編程特色;.NET平台的C# 3.0納入相當多函數編程的特色,微軟的LINQ本來就是源自函數語言,更不用提微軟官方的F# 語言更是徹底的函數語言。 現在的網路、多核心、高速的CPU、軟體複雜度…等環境因素,正是適合函數編程生存的環境,值得我們持續關注它的發展。如果你想學習函數編程,且如果你使用.NET平台,建議你使用F#;如果你使用Java平台,你可以考慮JavaFX;如果你沒有Java與.NET平台的考量,你可以選擇Common Lisp與Erlang。

Apple
估計美國目前Mac OS市佔率10~20之間,全球市佔率7 %。相較於五六年前的低迷,這幾年Apple由於iPod的Halo Effect,氣勢如虹。但是大中華地區,MacOS市佔率仍相當低,所以幾年之內為Apple電腦開發應用的需求應該仍相當低。不過我的重點不在蘋果的電腦,而在蘋果的手機上。 根據Roughly Drafted Magazine的報導,2007/Q3的數據顯示,Apple iPhone在Smartphone的美國市場佔有率已經到達27%,超過Windows Mobile,但是iPhone仍略低於Blackberry。繼美洲和歐洲之後,2008年iPhone會在亞洲開始販售,並推出第二代,也預計在2008年推出SDK,讓我們可以為iPhone寫原生(native)程式。 所以,如果你需要為Smartphone開發應用,除了考慮Windows Mobile之外,你也必須認真考慮MacOS了(iPhone使用精簡版的MacOS X)。 

文字資料處理
隨著網路和資料交流越來越頻繁,我覺得這幾年處理文字資料的機會似乎越來越多,幸好大多數的語言都支援Regular Expression。 但有時候Regular Expression不太夠用,你需要自己寫parser。除非你用像REBOL這樣的語言,否則寫parser應該會是很痛苦的事,幸好你可以利用ANTLR幫你產生parser。目前ANTLR已經支援相當多主流語言,ANTLR相當值得學習。

Security
網路的時代,危機四伏。許多系統的保全都是事後加上的,這樣子很危險。事先良好的規劃是建立保全環境的關鍵,而規劃的最佳工具是模型塑造(modeling)。用形式上的作法,尋找威脅與弱點,以破除攻擊。 STRIDE是相當知名的威脅分類模型。STRIDE可以用來為系統的重大威脅進行分類。威脅正是攻擊者希望發生的事,也就是我們不希望發生的事。如果我們塑模所有的STRIDE威脅分類,我們就有很高的機會可以涵蓋大多數重要的領域。

STRIDE是Spoofing(偽造)、Tampering(竄改)、Repudiation(否認)、Information Disclosure(資訊揭露)、Denial of Service(服務阻斷)、與Elevation of Privilege(特權提升)的縮寫。 建立保全模型,有三個部分:威脅、資產、與緩解(mitigation)。透過塑模瞭解你的系統可能面臨的威脅,並緩解問題,保護資產。不要讓你的程式,佈滿弱點,危害大眾,程式員必須及早補充Security相關的知識,將STRIDE應用在開發過程中。

整體而言
簡單才是王道。PHP、RoR、REST會流行正是因為簡單才是王道。複雜的技術固然有許多美好的願景(彈性、效率、跨平台…),但是大多數的developer尚未看到願景,就已經半途陣亡。複雜的技術,學習門檻太高,開發過程太長,成本太高,所以只適合用在極少數的專案中。 多語言的時代來臨。以往只要用C/C++,就可以包辦各種應用的開發,不管是系統程式、桌面應用、網路應用。現在卻是多語言的時代。多會幾個語言比較保險,尤其是學會兩、三個Script語言絕對不嫌多。 今天的資產是明天的包袱。不甘心丟棄手中的技術(畢竟是多年學習的結果),改用(改學)新技術者,會漸漸被時代拋棄。Paradigm Shift是常態,所以我們應該積極地接受這些新挑戰,畢竟IT產業就是這樣。
【原文刊載於RUN!PC雜誌:2008年一月號】


最新活動訊息
最新雜誌訂閱活動
羅技電子『開學全家快樂GO』活動 開學季搶先開跑
seednet 2008企業網路發展應用論壇
ESET開學季雙重送:打造ESET大明星.防毒A獎金
CXO 系列活動「產品開發再造」菁英研討會
眾至8月技術培訓會台北(27日)台中(28日)高雄(29日)
IT關鍵技術研討會
MIX08 Taipei
如何建置全方位企業軟體測試中心
2008年全球IPv6高峰會暨TWNIC網際網路趨勢研討會
突破RIA Flex 3 導入企業應用

更正啟事
RUN!PC 七月號 (第174期)
˙第47頁「UTM產品一覽」表中內容,NUSOFT於「其他產品特色」欄,應加註 「IM/P2P控管等」。

業界動態
Wacom Intuos3 繪圖板使用於國際太空站研究計畫
Synology®推出全新機種Disk Station
龍捲風科技與微軟合作 發佈龍捲風MS中文搜尋系列產品
「龍捲風知識檢索系統」與意藍科技知識管理系統的完美結合
甲骨文2008會計年度在大中華區關鍵產業成長強勁
懇懋《McAfee資安部署新策略‧產品應用說明會》圓滿落幕
HP「開學樂」促銷活動 等你來搶購
BUFFALO 全新推出HD-CEU2系列3.5吋外接式硬碟
友旺科技SV2550智慧型郵件過濾防毒閘道器
ESET開學季雙重送:打造ESET大明星.防毒A獎金
中國鐵道部採用 Juniper 建立安全防護系統
伊頓公司全球新聞重點摘要
肯微科技打造綠色機房再升級
浩鑫KPC簡約美學 綠能智慧
Slim超纖薄 疾速滑蓋碟

Copyright© FLAG INFORMATION CO., LTD. 旗訊科技(股)公司. All rights reserved.  本站圖文著作權所有 未經授權 不得任意轉載使用