Board logo

主題: [求助] [問題]C++和C#和.NET的問題??? [打印本頁]

發表人: saltire    時間: 2005-7-21 09:08 PM     主題: [問題]C++和C#和.NET的問題???

小弟想請問一下
C++和C#的差異在哪
.NET版本和VC差在哪呢
該如何選擇好呢
在電子業界中常聽到要使用C/C++來寫系統軟體
那我該學C++還是C#呢
發表人: Acute    時間: 2005-7-21 10:34 PM

C# 完全沒用過, 基本上... 應該是寫網路程式才用得到吧
C++ 寫一般應用程式用的 (Windows/Linux 都有機會使用)
C 啥都可以寫, 包括一般應用程式或者非一般應用程式, 例如... Windows driver, 或者非Windows/Linux platform 的程式

這篇比較不像這一區的文章..

Acute.
發表人: saltire    時間: 2005-7-21 10:48 PM

我好像PO錯板了
應該要PO到讀書板才對...XD
發表人: bonta    時間: 2005-7-21 11:12 PM

C 算是古董了 但仍普遍使用 特別是入門學習者通常都會接觸一下 語言部份也才 40幾句而已
C++ 則是比 C 多了幾句有關 OO 部份的句子 全部才 50 幾句而已
但這只是 '語言' 部份而已,語言部份受 ANSI 組織的規範,所以幾乎所有的 compiler 都會支援達 99%
不管你是用商業公司發行(應該要錢的) Borland, Microsoft, IBM, INTEL... 等,或是免費的 GUN C++ ,這些 compiler 對 '語言' 部份幾乎可以說 99% 能支援。
再來就是 '函數' 部份,受 ANSI 組織規範,大部份的標準函數如 atoi, sprintf, fopen 這種公共函數,幾乎所有的 Compiler 都會支援,如果你的程式只有用到這些,那麼移植性是很高的,你可以從 linux 移到 windows ,只需要小小的修正一下就行了。
但現實中這種程式不太多就是了。不過懂得 C++ ,想在多種作業系統下工作的確是容易些。
再來就是有關 windows 部份,光靠純 C++ 語法 + windows api 就想寫一個有視窗的程式出來是很吃力的,所以為了簡化撰寫’視窗' 各家的都推出他們開發的 framework,例如 Borland C++ Builder 使用 VCL, VC++ 使用 MFC,  .NET 系列使用 FrameWork 1.1 來寫,這些龐大的 FrameWork 才是開發人員最花時間去了解的東西,而不是 "我該使用什麼語言"。

C# 是新的語言,不過目前只能在 .NET 下使用,速度上....mmm。
不過你說的 '電子業' 不知道指的是不是要寫單晶片的程式,那麼可能只有 C 可以使用
至於網路程式 windows 有 WinSocket 函數組,unix/linux 下有 socket 函數組,兩者非常相似,只要有 C 的程式就能操作,除了 WinSocket 多了一些配合自身系統提供的功能。

[bonta 在 2005-7-21 11:15 PM 作了最後編輯]
發表人: 藤原豆腐店    時間: 2005-7-22 12:31 AM

主要是看你將來開發的軟體偏向哪一方面,兩者相似的地方只有基本
的語法(流程控制、條件式之類的),如果走電子甚至於遊戲界,就學
C/C++吧,如果是開發資料庫相關、Web Base架構(ASP.NET)或視窗
應用程式的話,就學C#或VB.NET吧

還有個J#,作為JAVA程式設計師跳槽至.NET轉換平台...
語法較接近JAVA,但其實真的需要學.NET的話直接學
C#就好了,會JAVA的學C#很快啦,另外會C++的人
學C#也應該不是難事,至少在C#裡不太容易看見指標

[藤原豆腐店 在 2005-7-22 01:50 AM 作了最後編輯]
發表人: lovelegend    時間: 2005-7-22 01:35 AM

還記得 J++ 嗎? J++ 可以說是 MS Java...
還記得 MS 被 Sun 告嗎? MS 最後的反應是停止開發 J++, 另開一個 syntax 和 Java 相似的語言, 但是用另一個 virtual machine, 那個就是 C# 了 (其實就算不被人告, J++ 根本和 Java 越走越遠, 另開一個名稱也無不可, 只不過不知笨 MS 為何叫 C#, 這樣會讓人誤會是和 C++ 相似的東西, 而事實卻不是這樣)...

至於 .NET, 其實就是把主力放在 Internet 上, 應該是優化或簡化網路通訊, 寫這類軟體會較 C++ 方便吧? (純猜測.. :D)

用 "J++ C#" 來查 Google 會找到很多文章,  這是其中一例...
發表人: Acute    時間: 2005-7-22 09:19 AM


引用:
bonta寫到:
不過你說的 '電子業' 不知道指的是不是要寫單晶片的程式,那麼可能只有 C 可以使用


離開Windows/Linux 之外的環境, 我還沒見過提供C++ compiler 的
無論是68K系列, ARM 系列 or MIPS R3000, 除非把Linux 弄上去
不然, 就是只能用C 來寫 (廠商只提供C compiler)
至於低階的8 位元CPU, 當然只有C 可以選, 呵
我用過的DSP 也是只有C only

C 本身又分K&R 跟ANSI 兩套語法, 雖然說同質性很高, 但是, 其實是有差異的

Acute.
發表人: saltire    時間: 2005-7-31 12:35 AM

原來如此
難怪學校電機系都只教DOS下的C和C++
不是沒有理由的啊
不過就算學完了
程式功力還是不如資工資管系啊
最近也在考慮要找寫C的電子業工作
但好像公司都希望有經驗的人來做
像我還未有工作經驗的
該如何是好呢
我是不是該去買一本VC++來看呢
發表人: Frederic    時間: 2005-7-31 12:34 PM


引用:
saltire寫到:
我是不是該去買一本VC++來看呢

對自己喜歡的事物想要深入探討有何不好
何況買本書, 說不定內容還有你沒學過的東西
買不買書, 是你自己可以決定的
發表人: fehov    時間: 2007-2-24 02:30 PM

可以都學阿~~多學一點以後也用的道.




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0