2009-07-19 45 views
0

我正在學習C++,但我看到.Net是一個非常好的框架,然後我想問:「在.Net中開發很困難?」,請記住我有一些VB的知識和德爾福。我正在使用Windows Vista Ultimate。謝謝!C++ To .Net

回答

4

絕對沒有 - 這不難:)。如果你喜歡C語言,C#會讓你感覺恰到好處。如果你是一個VB程序員,你可以在.NET世界中使用它(有一些變化)。 是的,框架是偉大的:)。

此外,您還可以訪問C++/CLI,但我不建議將它用作主要語言,因爲使用C#/ VB時它更難/更不可讀(儘管當與Pmanvoke進行互操作時非常有用機制是不夠的)。

+6

我不知道 - 來自C++,垃圾收集在RAII之後感覺不過是錯誤的。 – Thanatos 2009-07-19 18:13:27

2

完全沒有。二月份我開始在VB.NET工作,沒有VB和.NET的經驗。當然,我在其他語言方面有27年的經驗,但在谷歌,MSDN教程和一本書之間,它並沒有真正讓我放慢腳步。這就是說,用C++開發可能很困難 - 你爲什麼要學習它?由於託管內存的原因,我會首先在.NET框架中使用C#。如果沒有內存管理,當內存變得混亂時,它可能是實際的調試器內存,因此它可能會指向一個完全虛假的錯誤。所以,你從來不確定你在錯誤後得到的信息是否正確。

例如,一個程序中的內存錯誤可能會讓調試程序在完全不同的例程中顯示printf語句中的錯誤。

總之,.NET並不難 - 但C++是。

+0

謝謝!我幾乎沒有去面試,因爲畢竟愚蠢的簡歷過濾器,我不會接受採訪,因爲我沒有5年的CoofusDoofus在布爾咖啡這個傢伙給我一個採訪,我沒有相關的經驗。事實證明,他並不笨拙,他非常聰明 - 他採訪了2周,2-3小時的採訪,並按照JOS準則進行面試 - 在白板上進行編程。 – 2009-07-19 18:06:24

+0

我寫的經驗是你有一些經驗,但在過去沒有。謝謝!! – 2009-07-19 18:12:53

1

難度將由框架決定更多的特定語言。

如果您正在進行C++ Windows編程並遷移到C++ .NET,它應該更容易。至少在我的經驗。

3

.NET實際上比「裸」C++更容易學習和使用,因爲.NET代表您進行內存管理,而在C++中,您必須以某種方式自行安排。因爲你已經開始使用它,所以你可能還完成了學習它的工作(假設你已經在學習過程中採取了一些方法來解決這個問題)點,當然);但是在.NET上添加將會給您帶來很好的投資回報(如果您只爲Microsoft平臺開發,那麼您一定會發現自己使用.NET不僅僅是C++!)。儘管如此,爲了實現可靠的.NET使用,您一定想要學習C#的基本知識,以及它是.NET上運行的許多「核心」語言。

2

C++ to .Net應該更好地被定義爲「C++ to C#or VB.Net」。

請記住,.Net是一個框架,而不是一種語言。 C#,VB.Net或其他.Net語言構建於.Net框架之上。如果你有其他面向對象的語言背景,例如C++或Java,我發現學習C#會更容易。這只是具有相似語法的另一種語言。然而,.Net框架是一個更大的領域,需要掌握很多現實世界的經驗或部分知識。例如,.Net框架有很多web框架,你只能通過做asp.net來學習它,很多正則表達式庫你可以通過大量的字符串處理來學習。

對於C#語言,這是.NET平臺上最流行的語言,我推薦書C# in Depth。對於.Net框架本身,我建議CLR via C#

2

語言的選擇取決於您的需求以及您希望如何使用它。 C++可能很難學,但如果深入瞭解它,你會發現它更有趣。對我來說,這是選擇的語言。 C++可以用於處理各種軟件,從p2p客戶端,設備驅動程序,應用程序,嵌入式等等開始。

C#另一方面是Windows編程的包裝。我聽說它和VB很相似,但是因爲我從來沒有用過VB,所以我不能評論。我曾在VC++上工作過,感覺C#是一個精簡版的VC++。在C#中,您不需要知道在更改文本框控件的屬性時會發生什麼情況,因此從不需要知道Windows編程。所以,如果你想在不知道實際的「Windows編程」的C#應該是選擇Windows編程。如果您需要Windows編程,偶然使用System.Runtime.Interop來實現互操作性。

享受...

0

我是一個很長一段時間C++程序員,我發現C#/。NET非常容易掌握和愉快的程序。我發現,C#允許一個少了很多做多代碼比C++。我對它的主要歪曲之處在於,它是另一種供應商鎖定語言,在微軟的世界範圍之外並不是很容易訪問。

如果您知道任何動態語言(如Ruby),那麼您應該已經熟悉不屬於C++的語言功能背後的所有CS原則。如果你知道VB.NET應該可以幫助你,那麼你幾乎可以在C#和VB之間剪切和粘貼.NET調用。

託管C++中的.NET是一個真正的痛苦恕我直言,但.NET和C#是爲了一起去。

認爲.NET是C#,因爲Windows/Win32 API是C++。