回覆列表
  • 1 # 一二三四五34371286

    首先來看兩著的簡單介紹:

    C++是比較低階的語言了,C#是微軟開發的高階語言和JAVA對著幹的東西

    C++是半面相物件的,引入了類的封裝性、繼承性、多型性大大簡化程式編寫,提到了程式碼重用率。

    C#是完全面向物件的語言,簡單易學,開發效率非常高。

    C#的前景是不錯的,我個人很看好它,微軟的重心可能在C#上,希望C#逐漸能取代C++。但是C++會這麼容易被取代?不可能。就像一個搞管理的,你讓他接管搞開發的人,讓他從幹一樣到同時兼幹這二樣,會有這麼簡單麼?c++的生命力至少還要7-8年,之後才會漸漸的淡出,但是隻要追求自由的人存在,C++就不會消失;只要作業系統一天是用C++寫的,C++就不會消失。這種情形如同.Net和PHP的關係。.Net很多年前就開始說要被PHP淘汰了,但是現在仍然有很多小型的開發公司使用.Net來開發,在市場上和人才網上還是有一定的需求,併為被PHP完全取代。所以C#想完全取代C++短期內是不可替代的,技術多學好一門技術,走遍天下都不怕。

    其實沒什麼語言會比C++更貼近windows本身,這一點是不可否認的,C#能做的,C++不一定可以做得到,C++能做得到的也不一定能做得到,所以淘汰C++可能性不大,短期內是絕對不會的。

    C#,極其簡易的介面操作,令人看著很舒服的編碼,他有太多的地方,C++根本無法涉足。拿C++做Web Services就是行不通的,用C++做網路蜘蛛,也根本是沒有任何意義,要麼就C#,要麼就拿Python來幹,超級大量的資料,拿垃圾回收基本上為0的C++去做,簡直就是自找麻煩。C#的WebForm,和Jsp佔據著Web的大片江山,C++能嗎?不能。C#是一門博大精深的語言,類庫強大到變態,基本上可以這麼講,C#的程式設計師的層次分得比C++多很多,高層的也是象牙塔級別的。C#的架構師,那種恐怖的實力,C++中級程式設計師是無法想象的。C#更加註重於軟體工程的應用,各種設計模式的使用,C++則注重於實現功能。

  • 2 # 偶是美女

    原則上木有問題 理由是 按照C/C++編譯的過程 編譯這件事情歸根結底就是幾件事

    1.宏替換 其實就是對文字的操作 這一點基本上什麼語言都是支援的

    2.進行語義分析 建立語法樹 這個過程說穿就是 分析文字內容 在記憶體中建立特定的資料結構 這個跟語言也沒有什麼關係

    3.將語法樹的每一層級替換成對應的彙編指令 這個仍然是對資料結構的操作 轉換成文字(彙編程式碼)

    4.調用匯編器把彙編助記符轉換成二進位制資料(這個大致是屬於資料操作)並儲存成檔案(檔案操作)

    5.將各個編譯出來的模組連結成單一可執行檔案(檔案操作)

    如果用一句話概括 就是讀入一個文字檔案 生成另一個按特定格式定義的檔案的操作

    從上面的過程看 完全可以不涉及暫存器操作和記憶體空間的操作 在記憶體透明的模式下都是能實現

    所以用.net完全可以編寫任何語言的編譯器 但是跟現有的編譯器的區別是 編譯過程是在虛擬機器上執行的 出於效率考慮 現行一般的編譯器都是用C/彙編編寫的

  • 3 # WuShilin

    程式就是給定輸入(原始碼)按照邏輯產生輸出(exe)。別說c#了,basic都可以編寫彙編編譯器。c的編譯器再牛逼不也是一些if else loop jump函式和一些資料結構等等嘛

  • 4 # 使用者95135593768

    有一個規律發現沒有:平臺專有的語言的使用廣度和生命週期都沒有跨平臺語言強。比如objective-c和c/cpp,c#和java。常用的語言都有寫編譯器的能力,只是適合程度的問題。除了適合程度外,一般為xx語言寫編譯器的人都有xx情節,會用盡量多的xx語言本身來寫編譯器相關的程式碼。比如cpp,編譯器的大部分都是cpp寫的,cpp能用前是c寫的。cpp一般先解析成彙編,然後用匯編編譯器去編譯。彙編比cpp容易最佳化

  • 中秋節和大豐收的關聯?
  • 對90後的這代人你怎麼看?