成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大話F#和C#:是否會重蹈C#失敗的覆轍?

開發 后端
本文提出了很多F#和C#的問題,例如F#和C#的關系怎樣?二者將何去何從?F#會如開發團隊所預期的那樣?筆者對于這些問題有了自己的獨到見解。

F#.net 出來有些年頭兒了,將從 VS 2010 起在 .net framework 平臺上以“一等公民”身份粉墨登場的它,將會給計算機科技與軟件工業帶來哪些悲喜劇呢?

F# 將扮演一個什么角色?在 .net fx 平臺中?在軟件開發的工具中?在整個軟件工業的思潮中?在計算機科技的領域中?

F# 和C# 的關系是怎樣的?二者將何去何從?F# 會如開發團隊所預期的那樣,取代C#,由其現在的“一等公民”身份晉升為“第一語言”么?F# 將靠什么來實現它的宏偉野心呢?F# 和C# 的前景?

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

F#.net 從 07 年有消息以來我并沒有注意到它的存在。一方面是微軟還覺得 F# 不夠火候,仍然對主打愈加“變態” 的 C# 這張牌的策略不變;一方面是由于我有相當長一段時間著眼于算法和底層的問題,而疏遠了 .net fx 平臺。后來 VS 2010 的消息出來了,我才注意到這世上還有 F# 這么一個玩兒玩兒。于是近來我一直在關注微軟 F# 開發團隊的博客,對這門“新鮮”語言有了一定程度的了解。

 這里推薦一個微軟 F# 開發團隊隊員 Brian 的博客,還有 MSDN 上 Chris Smith 的博客。對 F#.net 還不了解的讀者可以閱讀他們的文章,對這門語言由淺入深有一個全面的認識。

我對 F# 真正燃起興趣,是由于我一直在尋找一門數學化、高效、可與 C、C++ 和 .net fx 平臺交互的語言。兼具面向語言、面向對像、面向多核開發特色的函數式語言 F#.net 全面地滿足我當下的需要。

我曾對 matlab 寄予厚望,不過“矩陣實驗室”的一些表現讓我很失望。盡管從 Matlab 2008 / 2009 起其與 .net fx 平臺的交互已經實現,但做為一門腳本語言,它在 .net fx 平臺下的性能表現實在是慘不忍睹。它的 OOP 表現也不盡如人意——是它命中注定的。而動態數組則是 Matlab 的硬傷——這是我不得不先它擱一邊的重要理由。

有人說,F# 將會出色地為科學研究領域服務。出身函數式語言的 F# 祖上可以追到 ML ……,現在的 F#.net 基于強大的 .net fx 平臺,應用到科研領域將解放更強大的科技生產力,當然也將為微軟開辟出又一片更廣闊,也更具爭議的市場,帶來更多的收益和麻煩……

似乎 FP,Functional Programming 先天就是為實驗室服務的。微軟目前可不這么想,它就是想通過 F# 讓 FP 走向軟件工業。我疏漏才學,憑“感覺和經驗”判斷,讓 FP 走向軟件工業的嘗試想必微軟不是第一家兒,但是顯然微軟的動作更具市場性。

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

在市場和教育“狼狽為奸”的,不,是“雙管齊下”的影響下,IP 在軟件工業的傳統勢力根深蒂固。FP 被關在實驗室已經很久了,F# 初出茅廬,能走得順么?

至少,F# 的出現,讓我開始重新審視自己對計算機的學習和理解。也讓我有意識地去了解 FP 的歷史,認識到了 IP 壯大的過程中對 FP 營養的吸收。比如早在 UNIX 和 C 之前,LISP 就已經產生了 GC 機制,再比如 C#3.0 中的 LINQ 技術。每當 IP 走到一個瓶頸,就會從 FP 那里獲得靈感而改良自己。這讓人看到了 FP 的優秀品質。

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

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

帶四個加號的 C# 最終干不過只有兩個加號的 C++,因為 C++ 是貴族,每一步嘗試都走得那么小心,經過了嚴謹的論證。有人妄圖把 C++ 給 C# 化,就是讓 C++ 也走向變態,這是無恥的想法……

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

當然,JAVA 更爛,JAVA 是我見過的最爛的語言。我不才,可能還有更爛的我沒見過罷……JAVA 是很能干,但不過是一“民工工具”而已,再能干撐死也就是一“瑞士軍刀”,完全的市場化工業化的產物,從語言本身來說,它是最失敗的。

F# 依然躲在后面,微軟似乎已經開始默認了 C# 的失敗,并開始通過引入“函數式編程思想”,嘗試著 FP 在軟件工業中的實踐,有的人認為 F# 的發展不過是為了更加豐富完善 C# 而做的實驗而已,但我不這么看,因為我個人認為 C# 失敗了。所以換過來說,是 C# 在為 F# 做鋪墊,更合理。

我不知道 F# 是否會重蹈 C# 失敗的覆轍,至少目前我沒有找到比它更符合我要求的語言,我還會繼續了解它、使用它。就算它最終依然失敗了,我還是會用它,就像我現在還在用著 C# 一樣,因為它的確能干,盡管干得很爛——沒有最爛,只有更爛,語言,也正在這樣不斷向前發展著。

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

【編輯推薦】

  1. 配置C#命令行編譯器的步驟介紹
  2. C#連接數據庫的方法簡介
  3. 如何在C#添加鼠標右鍵菜單
  4. .Net Framework中的委托與事件
  5. Observer設計模式范例詳解
責任編輯:book05 來源: csdn
相關推薦

2017-09-01 17:05:16

CNCFOpenStack服務

2012-06-15 13:11:33

Windows 8Vista

2009-08-04 14:23:55

C# Actor

2016-12-02 19:56:11

2009-08-13 17:04:09

C#語言C#程序

2009-08-27 16:11:03

C# delegateC# event

2022-11-10 08:26:54

.NET 7C# 11

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2009-08-19 16:50:32

Visual C#C#語言特性

2009-08-26 10:34:15

C#類型C#變量

2009-08-27 16:18:47

C#類C#結構體

2009-08-26 09:54:45

C#打印預覽C#打印

2021-04-14 06:53:52

C# 修飾符 Public

2024-10-31 09:51:28

2009-09-01 17:51:47

C#拆箱C#裝箱

2009-08-10 10:04:25

C#抽象類C#接口

2009-08-25 17:21:31

C#索引

2009-07-30 15:24:13

C#析構函數C#構造函數

2009-09-02 17:10:45

C#語言入門

2019-02-21 16:00:06

三星蘋果手機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区在线 | 日韩欧美视频在线 | 色屁屁在线观看 | 国产精品日本一区二区不卡视频 | 亚洲国产精品一区二区第一页 | 欧美成人一区二免费视频软件 | 中文在线a在线 | 国产精品一区二区三区四区 | 国产视频不卡一区 | 人人澡人人爱 | 欧美中文字幕一区二区三区亚洲 | 日本久久福利 | 国产精品久久久久久久一区探花 | 高清成人av | 国产美女在线观看 | 九九伊人sl水蜜桃色推荐 | 免费在线观看黄网站 | 九九亚洲 | 亚洲视频www | 精品国产一区二区三区成人影院 | 欧美成人精品 | 国产高清一区二区三区 | 中文字幕在线视频网站 | 91精品国产综合久久久动漫日韩 | 亚洲男人天堂 | 日韩久久久久久 | 亚洲一二三区在线观看 | 亚洲精品一区二区三区中文字幕 | 亚洲色图第一页 | 午夜精品久久久久久久 | 毛片一区二区三区 | www.久久影视 | 欧美日韩在线免费观看 | 成人av看片 | 亚洲人成人一区二区在线观看 | 久久免费精品 | 日韩欧美精品 | 密室大逃脱第六季大神版在线观看 | 在线黄色网 | 日日骚av | 国产精品久久在线观看 |