(原創) 為什麼要學C/C++? (C/C++)

本文探讨了C/C++在软件开发领域的独特价值,包括其在系统级编程、跨平台能力、执行速度、学术与工业应用、软硬件设计、通用编程等方面的优势,以及对其他编程语言的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人覺得C/C++已經是過氣的語言,應該學 C# 或 Java才對,在這裡我提出一些我個人的理解:

1,C/C++是個兼具高低階的語言
C/C++有高階的Class提供Abstract Data Type,可以開發應用軟體,也有低階的Pointer,可以開發系統程式。(C#、Java仍定位為開發應用軟體的高階語言,無法開發OS、Compiler、Driver等系統軟體)。目前各OS的API幾乎都是以C/C++所撰寫,使用C/C++可直接呼叫之,不用擔心格式轉換及相容性問題。

2.C/C++同時支持多種設計典範
C/C++可同時支持Procedure-Based Programming、Object-Based Programming、Object-Oriented Programming、Generic Programming。(C#、Java為純Object-Oriented Programming)。

3.C/C++可同時設計軟體硬體
C/C++原本只能設計軟體,但加上SystemC的Library後,C/C++搖身一變成為HDL,可以用C/C++設計硬體和IC,另外其他HDL如Verilog、SystemVerilog也有C/C++的影子。(C#、Java目前仍然無法設計硬體)。

4.大量使用Operator,程式乾淨簡潔。
C#、Java也算乾淨,但Operator用的沒C/C++兇。

5.C/C++有標準的Library,使C/C++具可攜性。
C/C++可在眾多平臺下編譯器,具程式碼跨平臺特性。(C#、Java都是專屬平臺的Library,C#的Library只能在.NET平臺用,Java的Library也只能在Java平臺用。而Java所謂的跨平臺是執行檔的跨平臺,不是程式碼的跨平臺)。

6.執行速度快。(C/C++ > C# > Java)。
C/C++為Native Code,不像C#、Java須跑在虛擬機器上的Managed Code。

7.同時活躍於學術和業界
學術普遍上使用C/C++在各種領域,而業界更是以C/C++為標準,以Microsoft來說,雖然.NET為Microsoft力推的平臺,但事實上,Microsoft旗下的產品卻都仍使用Visual C++開發,為世界上最大的C++公司。

8.C/C++為其它程式語言的母語。
C#、Java、JavaScript、ActionScript都可以看到C/C++的影子,只要學會C/C++,再學其它語言都很快。且很多領域的Bible,都是用C/C++寫的(如Design Pattern、OOA/D、Generic Programming),C/C++的書遠比C#、Java多很多,畢竟C/C++的歷史遠比C#、Java久。

9.學習C++的Generic Programming。
若你主要使用C#、Java為開發語言,OOA/D和Design Pattern領域的書在這兩個語言已經有不少經典,但Generic Programming在這兩個語言都才剛剛加入而已,更別提有什麼經典的書,學習C++的Generic Programming觀念技巧後,可用在C#和Java上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值