2009年6月18日星期四

The Functional Web : 舊瓶新酒是否會變出新思維?




這期的IEEE ComputeringNow有篇報導, Steve Vinoski談到網路程式的趨勢The Functional Web, 也就是以Functional Programming來架構網路程式 ... 什麼是Functional Programming? 什麼是The Functional Web? 哪些是舊把戲? 哪些是新思維?

先來談談Functional Programming (FP)...

對於網路世代來說, FP是老得不能再老的東西了, 我們可以翻譯成函式編程, 也就是相對於Imperative Programming(指令式編程)

這兩個有何差異? 對於Imperative Programming(指令式編程)來說, 不同的狀態(state)下, 相同的表示法可能有不同的結果, 用白話來說就是你問我餓不餓? 我回答說不餓, 但是可能我一個小時後的回答是很餓...

而Functional Programming就是不管狀態如何, 只要輸入相同就會有相同的結果, 例如Hungry-Function(who,when), 只要輸入Who跟When相同, 就可以得到同樣的結果

所以Imperative Programming也可以來完成Functional Programming的目的, 只是語法會比較複雜, 所以談到FP, 有假的FP, 也有純種的FP

Steve Vinoski談的FP就是指真的是為了functional而來的程式語言, 用這種FP來架構的就叫The Functional Web

哪些是假的FP? 大概你叫得出來的都是, 如C, C++, JAVA, Python 諸如此類 ... 哪些是真的FP? 也有很多, Steve Vinoski只提到一個 --- Scala, 並且用在Lift架構上

你從最簡單的"Hello World"就可以知道, Scala的精簡程度, 而Lift是一個Framework, 你也可以從Lift Demo來看看長什麼樣子

所以雖然Functional Programming與The Functional Web都不是新概念, 但是卻有新長相, Steve Vinoski的The Functional Web有些Cloud Computing跟SOA的味道, 也有現今流行的Mashup的意味

不過筆者還沒真正使用, 不敢亂下斷語, 後續再評論了, 若有人先一步使用了, 也歡迎提供您的意見來交流!

參考資料:
Welcome to the Functional Web
Scala and Lift


標籤: , ,

加入書籤 :

其他書籤 :

4 個意見:

2009年6月18日下午10:28 , Anonymous 匿名 提到...

真是長知識了
可以引用嗎?

 
2009年6月22日上午10:01 , Blogger admin 提到...

感謝您
只需cite出處的URL即可!

 
2009年6月23日上午12:11 , Anonymous 匿名 提到...

好的好的!!!!!

 
2009年7月3日下午4:31 , Blogger 就4帥氣壞壞乖乖牌 提到...

Daer 版大:
請問你有沒有G-MAIL?或是MSN?Skype?

我時常會有很多seo的問題,想要與您討論~如果方便~我很希望能時常與您線上Meeting呢^^

上一次在詢問您問題時,您有提到你即將要出版一本書籍,不知道是何時上市?書名叫什麼呢?是台灣各大書局可以買的到的嗎?

 

張貼意見

<< 首頁