世界上大約有幾百種程式語言。但是,平時被更多開發人員使用的大約只有 20多種。在這20多種程式語言中,有些人可能需要學會不止一種程式語言,那麼對於一個初學者該如何選擇自己
2021-06-06 22:26:58
世界上大約有幾百種程式語言。但是,平時被更多開發人員使用的大約只有 20多種。在這20多種程式語言中,有些人可能需要學會不止一種程式語言,那麼對於一個初學者該如何選擇自己的第一個入門程式語言呢?
如果你在大學學習電腦科學,課程大綱通常首先是 C 程式語言。
C讓你成為一個好的演算法工程師
刷過演算法的同學都知道,演算法試題可以使用多種語言來解決,但是對於培養演算法思維,最好的語言就是c語言,因為它的簡陋,因為它的靈活,很多其它語言提供的庫函數或者常用功能,你都需要自己去實現,而在實現的過程中,你往往能夠加深對演算法的理解,加深對資料結構的理解,而程式設計本質上就是演算法加上資料結構。
C讓你離作業系統硬體更近
你可能聽說過java,python,C#等程式語言屬於高階語言,而c語言被稱為「中級語言」,因為c語言不僅具有高階語言的特性,同時它也具備一定低階語言的特性。
在我們使用高階語言的時候,我們是無法直接訪問硬體資源的,而使用c語言,我們就可以直接和硬體打交道,我們可以直接操作記憶體,自己管理記憶體的分配和釋放。
對於很多硬體我們都需要一些驅動進行管理,而這些驅動都是使用c語言來編寫的。
總之,高階語言更像是在一個二手房裡面裝修,雖然它提供了非常方便的水電介面呼叫,但是還是不如我們自己直接在毛坯房裡面改造更阿吉靈活。
C讓你能力越大,責任越大
c語言給了你巨大的能力,你可以使用它做很多事情,你甚至可以使用它創造出一門新語言,很多高階語言底層就是用c語言來編寫的。
c語言可以靈活地訪問記憶體,你可以非常方便的優化你的程式,你可以隨時對記憶體進行管理,但是就像那句話說的,能力越大,責任越大。雖然你可以方便的管理記憶體,但是如果你忘記了資源的回收,那麼很可能你的程式就會導致系統的崩潰。
C 讓你的程式碼執行效率更高
因為c語言更接近底層,因此使用c語言編寫的程式執行效率更高,當然一切的前提都是你是在合理地使用它。
和高階語言不同,c語言更多地是面向過程程式設計,它更需要我們自己對程式有抽象能力。
c語言給我們提供了訪問底層的能力,因此我們可以更加方便地寫出高效的程式出來。
C 讓你的程式碼更加整潔。
與python的簡潔不同,實現同樣的共功能,你可能需要比python多些可能十倍的程式碼。隨著功能複雜度的提升,這個差距可能會被越來越大。
那麼如何讓這個差距縮小,這就考驗我們的程式碼重構能力,考驗我們的程式碼整潔程度。
當你綁著沙袋練習的時候,你可能會很累,但是當你把沙袋拿掉的時候,你會體驗到身輕如燕,同理,當你使用c語言能夠編寫出整潔程式碼的時候,你再使用其它語言一定會寫的更加出色
結論
現代的程式語言越來越複雜,比如java語言,它提供了各種語法糖,提供了各種包,提供了各種類庫,雖然它在一定程度上解放了開發人員,但是它也在一定程度上限制了開發人員。
任何東西都是有利有弊的,當你擁有的夠多的時候,你必然會失去更多。
c語言雖然不如高階語言有著豐富的輪子,但是有些時候自己造輪子的樂趣和實踐能力對一個人的發展更加有幫助。
相關文章
世界上大約有幾百種程式語言。但是,平時被更多開發人員使用的大約只有 20多種。在這20多種程式語言中,有些人可能需要學會不止一種程式語言,那麼對於一個初學者該如何選擇自己
2021-06-06 22:26:58
蘋果下一代iPhone13新機發佈會,不出意外將於今年9月份舉行。今年的iPhone 13系列也依然會推出 iPhone 13 mini、iPhone 13、iPhone 13 Pro以及iPhone 13 Pro Max共4款機型。6
2021-06-06 22:26:19
在5月底,榮耀50實實在在火了一把,不過當時是吐槽者居多。作為榮耀新一代數字旗艦,這款手機沒有用到大家希望的驍龍888,甚至都沒有驍龍870,而是成為了驍龍778G全球首發機型。讓不
2021-06-06 22:06:38
近年來,中國半導體晶片產業被光刻機「卡脖子」的問題得到了業內外的廣泛關注。在2020年下半年,國內9大高校校長更是齊聚華為,與任正非談到了光刻機的攻關難題。對此,任正非表示:
2021-06-06 22:04:18
華為終於在6月2日如期釋出了鴻蒙系統,且「百」機升級換新計劃也已經開啟。餘承東甚至提醒大家先別扔掉手中的華為老手機,升級鴻蒙OS將更好用。既然老機型都還能發揮餘熱,那華為
2021-06-06 21:44:59
【電動狗】日前,華為官方刊文稱,已於2020年、2021年分兩次將鴻蒙OS的基礎能力全部捐獻給了開放原子開源基金會,並整合其他參與者的貢獻,形成OpenHarmony開源項目。截至2021年5月
2021-06-06 21:44:38