C++是c語言的擴展,所以用了兩個+號。C++最強大的地方在于可以直接操作計算機硬件的核心代碼,整個windows的底層代碼有一大半都是C++,C++還廣泛的運用在工業(yè)和嵌入式開發(fā)之中,一般用于和硬件緊密整合的解決方案,國外其實用的還是很多的。而且Python中很多計算庫為了提高效率,都是用C++編寫的,比如google 的tensor flow。那么C++是最難的編程語言嗎?原因是什么?
C++是最難的編程語言嗎?
C++是從入門到放棄幾率最大的語言,但只要有決心和毅力,是可以自學(xué)的,學(xué)編程語言也跟學(xué)歷無關(guān),興趣加努力,再加一點點天賦就行。
以個人的觀點,C++這種語言學(xué)習(xí)成本太高,從會用到成材少則三年,多則五六年,沒有毅力的人還是不要學(xué)了。學(xué)一門語言不是學(xué)個語法,更主要是這門語言的設(shè)計方法論和生態(tài),C++語法本身就夠新手學(xué)的,加上面向?qū)ο笤O(shè)計模式,再加相關(guān)的生態(tài)環(huán)境學(xué)習(xí),恐怕很多人都在半路放棄了。
C++是最難的編程語言的原因是什么?
學(xué)習(xí)成本高
c++ 語言的特性非常之多, 相對于python等腳本語言, 我說c++的語言特性是其三倍應(yīng)該是比較保守的。 而且學(xué)習(xí)c++的時候,你需要掌握很多計算機比較基礎(chǔ)的知識,比如說位計算,字節(jié), 巴拉巴拉。而且c++ 相對與腳本語言還需要編譯呢,又得學(xué)很多編譯的知識。
強類型
c++ 語言效率高是出了名的, 眾人皆知,但為啥用的人少呢?原因很簡單,難用呀, 我舉個例子: 你用js 聲明一個變量, var a = 2; 但是你在c++ 上你得考慮下,這個變量是什么類型的呀,是int 還是 char,還是要聲明一個指針呢?雖然c++ 11 后引進了弱類型的概念,但仍然沒法像腳本語言一樣啊。
指針
有的時候,對于指針的考慮,就是一種累贅。但是不考慮呢, 沒準(zhǔn)野指針了,沒準(zhǔn)空指針崩潰了, 會給你帶來很多麻煩。 每次用指針的時候就會感受到心累。
垃圾回收
你產(chǎn)生的一切東西,原則上來講,都要你在解析函數(shù)進行銷毀。 總之很煩了, 如果有人能幫我做了這些事兒, 真不愿意自己動手了。
面向?qū)ο?/strong>
c++ 具備了很多面向?qū)ο蟮膬?yōu)點,但是你木有發(fā)現(xiàn)嗎, 每當(dāng)你寫一個class的時候, 總是內(nèi)心覺得非常累。 因為要考慮繼承,抽象等等問題, 每寫一行代碼都是糾結(jié),我假如你是一個追求完美的人。 如果用腳本語言,函數(shù)式編程,輕松了,你沒有這些地方可以糾結(jié)的,因為你寫程序時的決策模型相對簡單。
模版
模版你會用嗎,反正我是不會用模版的,一用模版就腦子亂。c++之所以難用,歸根結(jié)底是因為c++是一門為了描述底層環(huán)境, 兼顧運行效率和開發(fā)效率的編程語言。
通過上述介紹,C++是最難的編程語言嗎以及原因是什么相信大家已經(jīng)清楚了吧,想了解更多關(guān)于C++的信息,請繼續(xù)關(guān)注中培偉業(yè)。