C# 和Java骨子裡是兩種不同的語言

來源:互聯網
上載者:User

 

我相信有很多人認為學會了Java,同時也學會了C#,或者認為學了Java, C# 幾小時內就會了。但現實的情況是,熱愛Java 的人用了C# 的人可能會覺得渾身不舒服,熱愛C#的人也不是很喜歡Java。

Java 的設計者是因為討厭C++的複雜,於是Java 非常簡潔,GC 也讓記憶體管理非常方便,C# 是看中了Java 的GC和虛擬機器技術,希望把微軟的幾大語言整合到.NET 上來。 因此C#從語言上來講並不簡單甚至可以算的上複雜。

兩種語言的設計思路也不一樣,Java 是編譯解釋語言,C#是編譯然後編譯運行語言。Java 沒有委託,C# 有委託。Java 傾向於用Interface 實現委託的功能,而在C# 中,Abstract Class 比Interface發揮了更大功能。

Java遵循camel命名規則,C#遵循Pascal 命名規則。但是如今越來越多的Java 人開始使用C#,同時也把camal 命名規則帶到了C#,這可能會讓C#代碼越來越難讀。為什麼當初C#不遵循camel 呢? 我看不出camal 命名規則有什麼不好的。

帶著Java投奔C#的人,和帶C#投奔Java 的人,不要帶著成見去批評。

使用C#的人最好能總結出自己的一套使用子集,比如拋棄out 和ref 關鍵字,永遠不使用structs。不使用事件event, 所有event 的相關功能用delegate 實現。你要是不喜歡delegate那就統統拋棄,用interface,像java 一樣。 盡量少用interface,多用abstract class。然後讓整個team的人遵循相同標準。c#太大,如果每個人用自己的一套習慣,會給將來帶來無窮的麻煩。

C# 是為生產效率而設計,Java 一半是為Geek 設計。

C# 和Java 在各自領域發揮作用,在不遠的將來,誰都不會取代誰。

要真正理解電腦編程,還是從C學起比較好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.