日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
大話F#和C#:是否會(huì)重蹈C#失敗的覆轍?

F#.net 出來(lái)有些年頭兒了,將從 VS 2010 起在 .net framework 平臺(tái)上以“一等公民”身份粉墨登場(chǎng)的它,將會(huì)給計(jì)算機(jī)科技與軟件工業(yè)帶來(lái)哪些悲喜劇呢?

F# 將扮演一個(gè)什么角色?在 .net fx 平臺(tái)中?在軟件開(kāi)發(fā)的工具中?在整個(gè)軟件工業(yè)的思潮中?在計(jì)算機(jī)科技的領(lǐng)域中?

F# 和C# 的關(guān)系是怎樣的?二者將何去何從?F# 會(huì)如開(kāi)發(fā)團(tuán)隊(duì)所預(yù)期的那樣,取代C#,由其現(xiàn)在的“一等公民”身份晉升為“第一語(yǔ)言”么?F# 將靠什么來(lái)實(shí)現(xiàn)它的宏偉野心呢?F# 和C# 的前景?

F# 引起了我很多很多的思考……

F#.net 從 07 年有消息以來(lái)我并沒(méi)有注意到它的存在。一方面是微軟還覺(jué)得 F# 不夠火候,仍然對(duì)主打愈加“變態(tài)” 的 C# 這張牌的策略不變;一方面是由于我有相當(dāng)長(zhǎng)一段時(shí)間著眼于算法和底層的問(wèn)題,而疏遠(yuǎn)了 .net fx 平臺(tái)。后來(lái) VS 2010 的消息出來(lái)了,我才注意到這世上還有 F# 這么一個(gè)玩兒玩兒。于是近來(lái)我一直在關(guān)注微軟 F# 開(kāi)發(fā)團(tuán)隊(duì)的博客,對(duì)這門(mén)“新鮮”語(yǔ)言有了一定程度的了解。

 這里推薦一個(gè)微軟 F# 開(kāi)發(fā)團(tuán)隊(duì)隊(duì)員 Brian 的博客,還有 MSDN 上 Chris Smith 的博客。對(duì) F#.net 還不了解的讀者可以閱讀他們的文章,對(duì)這門(mén)語(yǔ)言由淺入深有一個(gè)全面的認(rèn)識(shí)。

我對(duì) F# 真正燃起興趣,是由于我一直在尋找一門(mén)數(shù)學(xué)化、高效、可與 C、C++ 和 .net fx 平臺(tái)交互的語(yǔ)言。兼具面向語(yǔ)言、面向?qū)ο?、面向多核開(kāi)發(fā)特色的函數(shù)式語(yǔ)言 F#.net 全面地滿足我當(dāng)下的需要。

我曾對(duì) matlab 寄予厚望,不過(guò)“矩陣實(shí)驗(yàn)室”的一些表現(xiàn)讓我很失望。盡管從 Matlab 2008 / 2009 起其與 .net fx 平臺(tái)的交互已經(jīng)實(shí)現(xiàn),但做為一門(mén)腳本語(yǔ)言,它在 .net fx 平臺(tái)下的性能表現(xiàn)實(shí)在是慘不忍睹。它的 OOP 表現(xiàn)也不盡如人意——是它命中注定的。而動(dòng)態(tài)數(shù)組則是 Matlab 的硬傷——這是我不得不先它擱一邊的重要理由。

有人說(shuō),F(xiàn)# 將會(huì)出色地為科學(xué)研究領(lǐng)域服務(wù)。出身函數(shù)式語(yǔ)言的 F# 祖上可以追到 ML ……,現(xiàn)在的 F#.net 基于強(qiáng)大的 .net fx 平臺(tái),應(yīng)用到科研領(lǐng)域?qū)⒔夥鸥鼜?qiáng)大的科技生產(chǎn)力,當(dāng)然也將為微軟開(kāi)辟出又一片更廣闊,也更具爭(zhēng)議的市場(chǎng),帶來(lái)更多的收益和麻煩……

似乎 FP,F(xiàn)unctional Programming 先天就是為實(shí)驗(yàn)室服務(wù)的。微軟目前可不這么想,它就是想通過(guò) F# 讓 FP 走向軟件工業(yè)。我疏漏才學(xué),憑“感覺(jué)和經(jīng)驗(yàn)”判斷,讓 FP 走向軟件工業(yè)的嘗試想必微軟不是第一家兒,但是顯然微軟的動(dòng)作更具市場(chǎng)性。

理想是好的,F(xiàn)P 在軟件工業(yè)是否走得通呢?目前,軟件工業(yè)幾乎是 IP、Imperative Programming 的天下,如三巨頭 JAVA、C、C++。至少在中國(guó)的大學(xué),理工學(xué)科的學(xué)生又有多少知道這世上有 FP 這個(gè)東西?學(xué)編程就是學(xué) C/C++/JAVA,就是學(xué)命令式編程語(yǔ)言,對(duì)計(jì)算機(jī)的理解也是完全機(jī)器化的、命令式的,而不是人性化的、數(shù)學(xué)化的——這一切看起來(lái)似乎都很合理,本來(lái)么,計(jì)算機(jī)就是 0 和 1。但是這種教育的直接后果就是把學(xué)計(jì)算機(jī)的人“成功”地從學(xué)數(shù)學(xué)的人當(dāng)中割裂出來(lái),使得計(jì)算機(jī)學(xué)生更傾向于向“代碼民工”的方向墮落而完全忘卻了計(jì)算機(jī)最初是由一幫數(shù)學(xué)家搞出來(lái),是為數(shù)學(xué)服務(wù)的。學(xué)計(jì)算機(jī)的和學(xué)數(shù)學(xué)的學(xué)生的思維已經(jīng)嚴(yán)重分化,學(xué)數(shù)學(xué)的對(duì)編程不感興趣,學(xué)計(jì)算機(jī)的對(duì)數(shù)學(xué)的理解就是 ACM……

在市場(chǎng)和教育“狼狽為奸”的,不,是“雙管齊下”的影響下,IP 在軟件工業(yè)的傳統(tǒng)勢(shì)力根深蒂固。FP 被關(guān)在實(shí)驗(yàn)室已經(jīng)很久了,F(xiàn)# 初出茅廬,能走得順么?

至少,F(xiàn)# 的出現(xiàn),讓我開(kāi)始重新審視自己對(duì)計(jì)算機(jī)的學(xué)習(xí)和理解。也讓我有意識(shí)地去了解 FP 的歷史,認(rèn)識(shí)到了 IP 壯大的過(guò)程中對(duì) FP 營(yíng)養(yǎng)的吸收。比如早在 UNIX 和 C 之前,LISP 就已經(jīng)產(chǎn)生了 GC 機(jī)制,再比如 C#3.0 中的 LINQ 技術(shù)。每當(dāng) IP 走到一個(gè)瓶頸,就會(huì)從 FP 那里獲得靈感而改良自己。這讓人看到了 FP 的優(yōu)秀品質(zhì)。

當(dāng)今軟件工業(yè)流行的是 CLR 理念,即“多種語(yǔ)言,一種平臺(tái)”,比如微軟的 CLI/.net 便是一個(gè)很好的實(shí)踐。一個(gè)根植于成熟、優(yōu)秀的平臺(tái)的新語(yǔ)言,將得到更廣泛的推廣和使用。盡管 LISP 的歷史比 C 還要早,但由于 FP 本身的高貴和平臺(tái)的限制使其得不到合理的施展空間,被后來(lái)者 IP 搶先一步稱霸市場(chǎng)。而 F# 一出世就架構(gòu)在 .net fx 平臺(tái)上,有利于它的推廣。

不得不提一提 C#,從 C# 2.0 開(kāi)始我一直在關(guān)注它。我對(duì) C# 一直持謹(jǐn)慎的態(tài)度,從 C# 3.0 起,它開(kāi)始“變態(tài)”……據(jù)說(shuō) C# 4.0 它將變得更變態(tài)。C#,一門(mén)靜態(tài)命令式高度封裝面向?qū)ο裾Z(yǔ)言——這是它的完整屬性定義,一個(gè)一開(kāi)始被設(shè)計(jì)得以為完美無(wú)瑕的 OOP 語(yǔ)言,被微軟賦予了整合整個(gè)軟件世界的重任——可以說(shuō)從 C# 誕生之初,就決定了它的“變態(tài)本質(zhì)”。高度的封裝化讓它變得很笨,比如成災(zāi)的重載構(gòu)造函數(shù),還硬生生造出很多概念,比如委托,使用起來(lái)又是那么猥瑣,于是它開(kāi)始使用匿名委托,開(kāi)始使用反射,于是,它開(kāi)始“走向變態(tài)”。不久,C# 就傻眼了,它的 OOP 語(yǔ)言設(shè)計(jì),只封裝了類型,卻封裝不了變化,多此一舉不僅沒(méi)有保證“開(kāi)閉原則”的理念的實(shí)踐,反而捆住了自己的手腳——失敗吧!C# 已經(jīng)是失敗的了。但丫的不服啊,你賺我笨我就開(kāi)始簡(jiǎn)化——于是 3.0 開(kāi)始引入了 LINQ,開(kāi)始“類型推導(dǎo)”,于是不得不更加依賴“無(wú)恥的反射”,開(kāi)始自殘式地“變態(tài)”,4.0 開(kāi)始,這門(mén)靜態(tài)語(yǔ)言開(kāi)始引入 dynamic,被 ILASM 編譯出來(lái)之后簡(jiǎn)直就是一坨“反射”屎……,徹底地走向“變態(tài)”吧……

帶四個(gè)加號(hào)的 C# 最終干不過(guò)只有兩個(gè)加號(hào)的 C++,因?yàn)?C++ 是貴族,每一步嘗試都走得那么小心,經(jīng)過(guò)了嚴(yán)謹(jǐn)?shù)恼撟C。有人妄圖把 C++ 給 C# 化,就是讓 C++ 也走向變態(tài),這是無(wú)恥的想法……

C# 立志讓編程的體驗(yàn)變得愉快,VS IDE 對(duì) C# 照顧得是那樣地細(xì)致入微。到現(xiàn)在 2010 版 VC++ 也得不到 VC# IDE 同等的待遇。C# 造就了真正的軟件工人,徹徹底底的“代碼民工”,讓軟件產(chǎn)業(yè)徹底走向世俗化——本來(lái)這“殊榮”應(yīng)該是 JAVA 去背的,但是明顯 MS VC#.net 做得更徹底——這也完全符合 BILL GATES 創(chuàng)建 MS 的理念?,F(xiàn)在微軟也是這么想的——我弱智化程序員有我的道理,對(duì)于軟件企業(yè)來(lái)說(shuō),人力資源的成本要比機(jī)器成本高得多,所以,弱智化程序員,降低程序員門(mén)檻,對(duì)軟件公司來(lái)說(shuō),將可以創(chuàng)造更大的經(jīng)濟(jì)效益。

當(dāng)然,JAVA 更爛,JAVA 是我見(jiàn)過(guò)的最爛的語(yǔ)言。我不才,可能還有更爛的我沒(méi)見(jiàn)過(guò)罷……JAVA 是很能干,但不過(guò)是一“民工工具”而已,再能干撐死也就是一“瑞士軍刀”,完全的市場(chǎng)化工業(yè)化的產(chǎn)物,從語(yǔ)言本身來(lái)說(shuō),它是最失敗的。

F# 依然躲在后面,微軟似乎已經(jīng)開(kāi)始默認(rèn)了 C# 的失敗,并開(kāi)始通過(guò)引入“函數(shù)式編程思想”,嘗試著 FP 在軟件工業(yè)中的實(shí)踐,有的人認(rèn)為 F# 的發(fā)展不過(guò)是為了更加豐富完善 C# 而做的實(shí)驗(yàn)而已,但我不這么看,因?yàn)槲覀€(gè)人認(rèn)為 C# 失敗了。所以換過(guò)來(lái)說(shuō),是 C# 在為 F# 做鋪墊,更合理。

我不知道 F# 是否會(huì)重蹈 C# 失敗的覆轍,至少目前我沒(méi)有找到比它更符合我要求的語(yǔ)言,我還會(huì)繼續(xù)了解它、使用它。就算它最終依然失敗了,我還是會(huì)用它,就像我現(xiàn)在還在用著 C# 一樣,因?yàn)樗拇_能干,盡管干得很爛——沒(méi)有最爛,只有更爛,語(yǔ)言,也正在這樣不斷向前發(fā)展著。

以上,就是本人對(duì)F#和C#的一些思考。如有雷同,純屬巧合。


本文標(biāo)題:大話F#和C#:是否會(huì)重蹈C#失敗的覆轍?
當(dāng)前路徑:http://m.5511xx.com/article/dhecgpo.html