學C#需要學好C++么?

目前個人(大二)加入的學院的項目需要用到unity3d,所以開始著手學習。了解到unity3D主流腳本C#。欲先學好C#做好基礎,C#貌似又是C++發展來的,不知道是否需要學C++做C#的基礎


不需要

你琢磨清楚C++的時間早夠你學會C#和unity3d並且做個東西出來了


有些人認為C#抄襲了Java,Anders Hejlsberg在2000年的訪談中提到:

http://www.windowsdevcenter.com/pub/a/oreilly/windows/news/hejlsberg_0800.html

First of all, C# is not a Java clone. In the design of C#, we looked at a lot of languages. We looked at C++, we looked at Java, at Modula 2, C, and we looked at Smalltalk. There are just so many languages that have the same core ideas that we"re interested in, such as deep object-orientation, object-simplification, and so on.

One of the key differences between C# and these other languages, particularly Java, is that we tried to stay much closer to C++ in our design. C# borrows most of its operators, keywords, and statements directly from C++.

C#的設計只是參考了C++,不是直接從C++發展過來。所以學習C#無須先學習C++。


最初,你就要理解為什麼是static main 了,然後 const, sealed, protected, private, public 等面向對象,這些加上循環,條件語句,繼承,重載,多態啥的,邊看Design Pattern 邊開寫吧。

然後,你要學C# 的獨門,Linq,這個要好好學,學之前要看一下SQL。 還有VS 2013 支持nodeJS, VS 2013 會繼續支持Git,各種plug-in 讓IDE 無比強大,debug非常方便,plug-in 增強IDE 功能,Nuget packages 非常多,你開始有了助手。

接著你學習一下IISAzure, 就可以發布了!

最後你再學一下編譯的一些東西,debug vs release, build events。有了 build events, 你完全可以跨語言了,你就是全棧了。

恭喜你,選擇了一個很好的語言和平台 (C# + VS 2013),加油!


他們倆沒有半毛錢關係。

只是語法相近而已。

不過,如果C#是你的第一門計算機編程語言,那以後你學習其它語言,會感覺格格不入。

因為C#實在太簡潔跟優雅,而且易用,換其它大部分語言,感覺那麼複雜和麻煩。

但這個問題因人而異。


我就來看看C#程序員秀優越感。

沒錯,我也在學慣用Unity3D,上手C#無難度,也確實覺得C#好用,方便。對應的就是無法取得底層操作許可權,性能優化有點頭大。

真心覺得,贊一個沒必要貶低另外一個,各有各的優劣而已。

另外:大型端游基本還是基於C++。業界最頂端的遊戲引擎Ureal4也是C++開發。

PS:本人C++用了10多年,對其又愛又恨。但是,目前還沒覺得那種語言可以充滿優越感的這樣看它。


推薦閱讀:

c++中子函數的局部變數在函數結束後是否會銷毀變數的內容?
c++中在局部空間用new運算符創建的變數是否會被銷毀?
c++怎麼檢測內存泄露,怎麼定位內存泄露?
為什麼我覺得 Objective-C 的內存管理比 C++ 要複雜得多?這類語言是否是趨勢?
C++局部靜態變數的內存什麼時候創建的?

TAG:Unity遊戲引擎 | C | C# |