從事嵌入式開發(fā)十幾年,基本上圍繞著這兩種編程語言展開,都可以直接操作底層的編程語言,用的越熟練越是感覺工具屬性越強(qiáng)。雖然兩種編程語言分屬于不同的編程思想,用的時(shí)間長了覺得差異也不是很大,現(xiàn)在就個(gè)人的從業(yè)經(jīng)歷,講述下兩種編程語言的差異和共同之處。
現(xiàn)在已經(jīng)很多人覺得c語言過時(shí)了,因?yàn)閺恼衅傅男枨罂匆驤AVA的明顯居多,Python現(xiàn)在基本上雷聲大雨點(diǎn)小還成不了氣候,現(xiàn)在很多主流的客戶端框架還是C語言和C++的天下,畢竟性能是誰也繞不過去的事情,從就業(yè)的絕對(duì)數(shù)量上兩種的數(shù)量并不低,但是入門的門檻提升了,簡單學(xué)點(diǎn)很難找到工作,而且一旦找到合適的工作,工資水平并不低,所以很多人覺得這兩種編程語言過時(shí)了主要是初學(xué)者喊出來的,初學(xué)的人總想找個(gè)好學(xué)編程語言,由于入門難度高加上相對(duì)就業(yè)機(jī)會(huì)少,少并不是代表著不重要,但凡有點(diǎn)編程經(jīng)驗(yàn)的人都會(huì)覺得這兩種編程語言極其重要。
這兩種編程語言有什么區(qū)別,相對(duì)來講C語言簡單一點(diǎn),C語言屬于面向過程的語言,非常符合編程的思想,基本上功能可以直線化陳述,C語言語法細(xì)節(jié)不是很多但組合非常靈活,曾經(jīng)在剛學(xué)C語言的時(shí)候?qū)W了一個(gè)月就膨脹了覺得什么C語言的代碼都能搞定了,結(jié)果去圖書館借了一本Linux內(nèi)核的書籍去學(xué)習(xí)看了100多頁就徹底放棄了,理論和實(shí)踐差異太大了,所以不要覺得C語言好學(xué)但在實(shí)際使用過程中,不真實(shí)做過項(xiàng)目永遠(yuǎn)不要輕易下結(jié)論是不是真的掌握了。
C++屬于比較難得編程語言,也是個(gè)人覺得最難得編程語言,主要是語法細(xì)節(jié)繁多而且還在不停的更新,所以很多人在學(xué)習(xí)之初覺得能夠編譯通過就是一件非常幸福的事情,這門編程語言的設(shè)計(jì)理念是盡量在編譯環(huán)節(jié)排除語法細(xì)節(jié)錯(cuò)誤,所以很多人覺得C語言編譯就會(huì)簡單許多,帶著警告照樣可以編譯通過,程序也可以繼續(xù)執(zhí)行。這門編程屬于面向?qū)ο罄砟?,什么事情都離不開對(duì)象和類,核心思想是多態(tài),繼承,封裝,看著很簡單真要在實(shí)踐中掌握明白,不經(jīng)過項(xiàng)目的洗禮基本不可能的事情。
如果非要說出這兩種編程語言的差異,初學(xué)者可以考慮從C語言入手這樣入門簡單些,然后再去切入C++的學(xué)習(xí),稍微有點(diǎn)編程經(jīng)驗(yàn)的程序員都會(huì)淡化編程語言本身,編程的本質(zhì)不是掌握了多少編程語言而是編程思想是不是掌握徹底了,到了這種層面也不會(huì)在乎什么編程語言了,學(xué)習(xí)任何東西都要掌握問題的本質(zhì),不要只看表面的現(xiàn)象,只要自己認(rèn)準(zhǔn)的事情全力以赴的做就可以了。
不要在選擇上花費(fèi)太多的時(shí)間,選擇了就全力去做,中間不要隨便切換編程語言,這山看著那山高注定什么也學(xué)不會(huì)。
轉(zhuǎn)載自微信公眾號(hào):程序員互動(dòng)聯(lián)盟
作者:東輝在線