如何看待2017的 The .NET Language Strategy 去掉了C++/CLI支持?

The .NET Language Strategy

果然C++不適合用來寫.NET程序嗎?


這說的是下一步怎麼走,而不是下一步只有這些。沒列出C++/CLI不等於去掉了支持,而是和現在一樣,沒變,所以不需要strategy。


C++/CLI是VC組管的而不是Mads大大手上的.NET Languages組管的,他的博文里沒提到C++/CLI再正常不過了吧,既不是好也不是壞消息(無論從什麼角度看)。


意思就是C++/CLI不會變得更好,當然也不會變的更差。不過C++/CLI寫起來也是相當的蛋疼,不如從一開始就把COM交互的部分做得更好,大家都寫COM,多開心啊。本來.net的BCL也是靠COM寫出來的。直接寫託管的C++,沒有完整的知識,基本不可能寫對。


寫.net用C#就好了啊,明明有更智能的IDE,更優雅的語法,更多的語法糖,為什麼非要找語法複雜的C++,而且C++/CLI都不被其他編譯器認可,算是微軟的私貨,再這麼下去指不定哪天新C++的語法就和C++/CLI衝突了呢?

再說了,微軟對C++新特性支持本來就慢半拍,那還有啥精力去大力發展C++/CLI。

我覺得C++/CLI作為C++類到.NET的封裝還是有意義的,畢竟相比於C++類導出C介面,再dllimport到C#里封裝一個類,C++/CLI還是比較簡潔。想想C++好不容易提供了面向對象的抽象,和其他語言交互卻還是要退回C,也是蛋疼。


我們公司上一代遊戲引擎的編輯器是用C++/CLI寫的,除了窗體編輯器偶爾莫名其妙無法打開(打開時報錯),以及啟動速度慢這兩個缺點,其它時候都挺好用的,既能使用 .net 庫,又能使用 C++庫。

不過看微軟對C++/CLI這麼不上心的樣子(比如窗體編輯器偶爾無法打開的bug從VS2012延續到了VS2015都沒改善,再比如從VS2013開始還直接去掉了用C++/CLI實現應用程序項目的選項,只保留類庫項目),我們也不敢繼續用C++/CLI寫程序了,所以新版本的引擎編輯器改成了純C++的,用MFC搭建可停靠窗體框架,用遊戲引擎的UI系統實現具體的功能,目前看來效果還不錯。


很奇怪為啥微軟不繼續改造mfc或者出來一個和qt差不多的開發庫呢,這樣桌面應用,工控這塊,就會得到更多的支持者啊,


推薦閱讀:

什麼情況下使用異常處理?
C# 中如何有效地釋放內存?
如何評價微軟推出的 .NET Native?
如何評價 JetBrains 將要推出的跨平台 C# IDE: Rider?
C#的Delegate 為什麼沒在其他主流語言中普及?

TAG:微軟Microsoft | 程序員 | 編程 | C | C# |