Re: [問卦] C# C++ C 該學哪一種?

作者: freeunixer (御劍客)   2025-06-30 22:33:18
※ 引述《pmes9866 (I Need Some Sleep)》之銘言:
: C# 微軟爸爸的語言
: C++ 看名字像是C語言2.0 還有不知道為啥被Linus噴
: C 好像是寫嵌入式的
: 如果要推薦新手學 應該要學哪一種?
我覺得是要看你的方向.
一般分為底層、應用
如果你是要開發 21世紀的整合 AI 助手的先進作業系統,那無可避免的你要學一下 C.
要寫 21 世紀的整合 AI 助手的先進程式語言的編譯器,那也是得要學一下 C,
如果你想學大學資工程度的傳統資料結構、演算法,你可以學 Python 就好,
但主要是 C 是打不死的小強,基於 C 的科目太多,
你去資源回收場撿來的 20 年前的 C 語言的資料結構 這類教科書到現在都還能用.
所以如果你摳門不想花錢去買 Python 的資料結構與演算法,那你還是可以學一下 C...
至於 C++ 跟 C#,大家喜歡或討厭的點經常是一體兩面,比如說
喜歡 C# 的會說,
C++ 犯錯的代價超慘重—陣列越界存取、空指標、
忘記釋放記憶體/檔案控制代碼/任何資源、記憶體洩漏(沒 GC)、模板寫起來很繞
喜歡 C++ 的會說,
在 C++ 中,記憶體和其他資源並沒有什麼特別之處。
但在 C# 中,記憶體是特殊的,而其他類型的資源則需要手動管理。
事實上,更多的是因為你必須使用 using 來獲得正確的 RAII。
簡單說就是 C# 派的說 C# 簡單好用, C++ 派的說 C++ 可以自己愛怎麼捏就怎麼捏.
但真正的問題其實不在 C# 好用或 C++ 可以讓你看起來比較性格.而是
不論是用 C# 還是 C++,大部分的碼農其實都很渣,你的努力都被其他人的廢給抵消掉
在你理解上面真正的關鍵處之後,再想想你是想要用一個程式語言來幹什麼?
如果你是為了流行、想要學人潮到出水,那你可以學 Go, JavaScript/TypeScript
根本不需要去搞什麼 C++/C#,
如果你是想當一個程式語言哲學家, print hello world 都得要 P 出一種思想...
那就要學一下 C++,畢竟 C++ 的 STL 跟十年更三次 Standard 的調調還是很噁心人.
如果你是要投入騙錢的資訊新創,公司可以跟你滿嘴畫大餅,就是不花錢,那你就學 Java.
不然,你就學 C#,只要微軟一天沒倒,你就可以靠它混到老...
其實今天之所以回這篇文,是因為不久前有人跟我說有個開發工具 RAD Studio 出新版,
RAD Studio 就是以前 Borland Delphi(Pascal),
台灣以前有三個程式語言聞人,侯捷、蔡學鏞跟李維,
Delphi 的親生爸爸跟 Borland 離婚,拋棄親生兒子,跟微軟再婚生了 C# 那麼久了,
結果李維現在還在 Embarcadero 賣 RAD Studio...
https://embarcadero.qcomgroup.com.tw/EDM/edm_newsletter_2025002.html
如果有人要追隨他的腳步,投入 RAD Studio 的懷抱,成為 21 世紀 Pascal 的新血,
我就把本來要用來當傳家寶傳給我兒子、我兒子的兒子的 Pascal 資料結構 送你 (~誤
https://meee.com.tw/uNmresz
(沒有啦,開玩笑的,說真的要學資料結構還是用 Python 還是 C 版本的比較實際.
Pascal 的教科書只能用來緬懷而已...)

Links booklink

Contact Us: admin [ a t ] ucptt.com