从C到C++过渡的3个原因
從C到C++過渡的3個原因
3 reasons to transition from C to C++
幾十年來,嵌入式軟件工程師們一直在爭論他們是否應該使用C或C++。根據2019年嵌入式市場調查,微控制器制造商提供的軟件大部分是用C語言提供的,事實上,56%的嵌入式軟件是用C語言編寫的。然而,C++已經逐漸普及,大約23%的新嵌入式軟件項目都是用C++編寫的。隨著C接近第五十周年,現在可能是開始從C到C++的過渡時間了。以下是開發人員應該考慮進行更改的三個原因。
原因1:改進架構實現
C編程語言確實通過函數指針為開發人員提供了封裝和一些基本的多態性功能。然而,C實際上是一種過程語言,不需要額外的努力就不能提供諸如繼承或組合之類的機制。這會使系統的總體架構設計不太理想,從而影響軟件的重用和維護方式,甚至限制其靈活性。
C++為開發人員提供了實現真正面向對象設計模式的能力,開發了真正的抽象,并實現了設計模式,這些模式不僅可以從一個應用程序重用到下一個應用程序,而且還可以提高架構的靈活性。這使得軟件可以重用,這反過來又可以加快產品開發速度,縮短客戶機應用程序的定制時間等諸多優點。
原因2:C++是一種不斷發展的現代語言
在當今復雜和創新的開發環境中,開發人員不僅需要尖端的硬件解決方案,還需要尖端的軟件和語言解決方案。這意味著用于編寫軟件的語言必須是最新的,以向開發人員提供實現其系統所需的最新工具。最近一次對C語言的更新是在2018年,這聽起來好像是最近更新的。但是,如果你看看這個標準,沒有添加新的功能,唯一的變化是修復了2011年發布的前一個版本的問題!是的,它花了七年的時間才制定出一個修正后的標準,修正了上一個標準中的問題!
看C++,標準委員會承諾每三年更新一次標準!下一次修訂預計在今年,即2020年,最新版本將于2017年發布。與C不同的是,新的修訂不僅僅是錯誤修復,而是為語言添加了新的特性和功能,這樣它就可以是最新的,并提供了與其他語言(如Python)競爭所需的工具。新標準甚至刪除了不推薦使用的功能,如三元組。
原因3:C++是一種更豐富的語言
我為微控制器編寫的大多數嵌入式軟件直到3-4年前才使用C編程語言。C++總是提供比C更豐富的特征集,但在那個時候編譯器似乎已經達到編譯代碼是等效的或更好的點。那時我開始潛心學習C++語言,發現語言變得多么豐富,還有更多的東西讓我學習語言。
C++允許開發人員利用諸如
模板–允許獨立于任何特定類型編寫代碼
動態多態性–允許在運行時分配實現
異常處理——捕捉錯誤(對于任何C開發人員來說都是令人震驚的)
編譯時靜態if語句
虛函數
這些只是幾個例子,還有更多!所有這些工具使嵌入式系統的生活編程變得更容易。
結論
C++是一種現代的、進化的語言,C語言看起來是靜態的,進化得慢得多。事實上,在編程語言快速發展的時代,C正在成為眾所周知的恐龍。隨著開發人員在他們的系統中面臨越來越復雜的問題,他們需要一種語言,使他們能夠靈活并最大限度地重用。許多“舊時代”的抱怨不再適用于C++,尤其是C++編譯器已經變得多么高效。如果有時間開始轉換到C++,這很可能就是它。
總結
以上是生活随笔為你收集整理的从C到C++过渡的3个原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反应式系统实现MQTT客户机
- 下一篇: 如何保证Qt状态机的最佳性能