※ 引述《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 的教科书只能用来缅怀而已...)