F# - Functional Programming Language
很多已寫程式維生的人都知道一個好的程式設計員應該要會多種語言,若是單以語言的特性和應用的範圍,目前我賴以維生的是Java和.NET。這兩個平台所主要的語言都是 Object Oriented Language ,就是以物件的特性來進行開發,我對於腳本語言(script language)相當不熟悉,但是腳本語言一直都很重要,尤其在設計Web Application時更是不可能不用到,典型如Perl、web最重要的Java Script、小型網站常用的PHP還有最近紅起來的Ruby,這些除了PHP以前寫專題用過,Java Script難免接觸,其實都說不上「會寫」,這是我現階段應該加強的。 另外一方面,在碩一的時候曾經接觸 OCaml 他算是functional language,這種程式語言的設計方法又和傳統的寫程式不太一樣,相當特殊,初學者相當難以上手,要做出一點東西剛開始要花很多工,但是若是使用得宜可以快速的寫出一般OOL或是 Procedural Language 要花很多工寫除來的效果,這實在值得學習,看了很多資料尤其是蔡學鏞先生在其 Blog 相當推崇,也認為大家應該選一種平台來學習, Microsoft F# 、 Sun JavaFX ...等都是很好的Functional Language的學習環境。 之前使用JavaFX跑過一點sample,感覺Sun至今最大的敗筆仍然是開發環境不夠友善,應該說,所有open source的開發環境(包括Eclipse)至今仍然無法和Microsoft的Visual Studio相提並論,像我這種初學者還是擁抱Microsoft,等到行有餘力再來挑戰高深的技術,於是我決定玩玩看F#,或與有不一樣的體驗也說不定。 我個人第一個接觸的OOL是Java,但是真正有作品產生的是 C# (我年紀很輕的),當初接觸C#只是因為他是.NET framework最重要的語言,而且他跟Java在語法上幾乎一模一樣(.NET framework 1.1),也就是跟C非常類似,我不用花太多時間研究if-else、loop這類的東西怎麼寫,可以直接上手,希望F#可以給我當初剛接觸C#同樣的快感。 Use Functional Programming Techniques in the .NET Framework