2008-09-19 126 views
3

從1.0版開始,作爲一名C#開發人員,F#在過去的幾個星期中捕獲了我的空閒時間。計算機現在以2,4出售。內核和多線程並不總是很容易完成。F#和企業軟件

目前我看到F#對於複雜和繁重的工作負載有很大的潛力。 您認爲F#將(一旦RTM)成爲企業軟件市場的重要參與者嗎?

回答

2

我認爲無論F#是否成爲企業軟件的導入軟件能夠隔離任何語言的純代碼部分將是使用多核計算機的潛力的關鍵。例如,Microsoft的Parallel Extensions for .NET非常棒,但通過並行處理無法並行執行的代碼,仍然存在很大的出錯空間。如果代碼的形式是純粹的功能語言或純粹功能的語言的子集,那麼您可以放心,您可以並行執行它。然後訣竅是找出分配工作的最有效方法。

F#在這個我扮演的角色會說更多的是催化劑,讓人們的腳溼潤,並開始以更聲明的方式思考。

+0

不可變的特性無疑爲並行執行提供了極大的幫助。 我必須承認它讓我有些習慣。 – 2008-09-19 21:08:11

+0

是的,它絕對需要習慣,但同時它可以很自由地通過描述問題本身來解決問題,而不是描述解決問題的步驟。 – fryguybob 2008-09-19 21:15:24

3

我認爲F#有很大的機會進入企業應用的一些小生意領域,例如數學建模(例如銀行/交易應用)。消除功能的副作用也爲並行和備忘提供了很大的機會。很難說這些語言是否會爲主流開發而起飛是很難說的,但在我看來,這些問題更可能是以人爲本(即對於熟悉c#等更典型語言的人來說缺乏技能和高學習曲線)/java/C++)而不是技術。

1

我認爲我們會看到的是,一些功能性的東西將遷移到C#中,例如增加使用不可變類型和標記函數等等。我看不到F#在企業開發中具有更廣泛的作用它對普通開發人員來說太神祕了。

+0

我同意只有感興趣的開發人員敢於冒險使用F#,當你所做的一切都是OOP – 2008-09-24 07:16:10

0

與VB/C#/ Java相比,我認爲F#將永遠是一種小衆語言,因爲它確實需要更多的數學或計算機科學背景。然而,事實上它是一種CLR語言,意味着它比以前的功能語言具有更大的風險。我們非常希望看到F#的發佈版本,以便我們可以考慮更正式地集成到我們的系統中(雖然它們是可能會保持基本的C#基礎)。

1

C#/ VB將永遠是主要語言,但F#在複雜問題上更好。 C#更通用,而F#在IA,統計學,科學(例如找到癌症的治療方法)方面更好.F#將永遠不會取代C#,但它將使.NET在更多計算機科學領域展開競爭。至於數據挖掘和處理大量數據,你最好直接在數據庫中開發 - 比如SQL Server或oracle。

至於F#很難學,只是因爲我們被大多數其他語言的命令式思維方式「腐化」了。很難忘記你做了5年的事情!另外,在我的經驗中,ocaml和F#是一種使用的樂趣。我對F#/ Ocaml唯一的抱怨就是大多數時候人們過度使用類型推斷,導致代碼不可讀。我寧願聲明變量類型以便於維護。