C語言是不是世界上最好的編程語言?真的永遠不會過時嗎?
網(wǎng)友解答: 不請自來,作為一名長期使用C語言進行開發(fā)的老司機,來回答一下這個問題。首先,C語言還真是一門永不過時的語言答主本人從2000年開始接觸使用C語言,那還是486計算機還是天價的
不請自來,作為一名長期使用C語言進行開發(fā)的老司機,來回答一下這個問題。
首先,C語言還真是一門永不過時的語言答主本人從2000年開始接觸使用C語言,那還是486計算機還是天價的時代,上一次計算機課和過年一樣興奮。迄今已經(jīng)近20年的時間,很多其它語言有的衰落了,有的起來了,有的是起起落落。
像pascal、basic、fortran等等,現(xiàn)在有的學生可能連聽說過都沒有,現(xiàn)在幾乎已經(jīng)消失了,像C/C++/java/python/php/javascript等等都是經(jīng)過大浪淘沙的勝利者,尤其是C語言,生命力是最頑強的。因為幾乎所有的計算機系統(tǒng)底層都是用C語言開發(fā),尤其是linux/unix以及其衍生系統(tǒng)都是以C語言為主的操作系統(tǒng),windows系統(tǒng)也是如此,只不過微軟花了大價錢開發(fā)了VC,但是還是以C語言為基礎的封裝的。
后來的嵌入式操作系統(tǒng)更是離不開C語言,所有嵌入式的BSP都是以C語言編程的,固件庫也是用C語言封裝的。包括已經(jīng)一統(tǒng)手機天下的android操作系統(tǒng),所有的driver層還必須是C語言開發(fā),因為android的底層就是linux,android不過是在linux上開發(fā)優(yōu)化了java虛擬機,然后用java語言開發(fā)了UI庫。其實嚴格來說android并不是新的操作系統(tǒng),而是一個適用于手機的UI庫。
正如一個城市建筑群,所有建筑的地基都是用C語言打下的,你能把地基丟掉嗎,顯然是不行的,C語言青春永駐也是自然而然的事情。
其次、以后C語言會過期嗎答案是:不會,上面已經(jīng)說了,C語言是可以直接和硬件驅動語言,是所有操作系統(tǒng)的基礎。除此之外,C語言的效率是除匯編語言之外效率最高的語言,即使目前計算機的算力已經(jīng)非常廉價的今天,在某些要求苛刻的關鍵計算任務上,首先仍然是C語言,甚至有時使用C語言有時并不是完全因為效率,而是因為可控。高級語言由于封裝了操作系統(tǒng)的某些特性,比如線程安全、內存管理等等。這些高級特性再某些時候運行結果可能是未知的,比如有可能內存分配失敗,線程得不到及時調度等。對于實時性要求比較高的場景,這些不可預知的問題都是致命的。而C語言的簡單直接,就顯得格外重要了。
最后、C語言是永不過期的語言即使不斷誕生新的語言,有一部分任務采用其他語言完成,但是和底層硬件打交道仍然離不開C語言,如果你打算在driver層面或者從事嵌入式開發(fā)謀一份工作,那就毫不猶豫的擁抱C語言吧,如果你是高手,高薪工作那都不是事兒。
如果您有什么不同意見,歡迎留言討論。
網(wǎng)友解答:如果你是計算機專業(yè)的學生,幾乎各大高校入門的第一種語言就是C語言。當然也會有以C++或者Java入門的。正經(jīng)的說,沒有一門語言可以被稱為最好的編程語言,之所以會有這么一說,多半都來自程序員間的囧談。IT行業(yè),你適合的,對你來說就是最好的。
其次,C語言會不會過時,這個不會的。主要從兩個方面聊聊:
第一:為什么更多的搞笑采用C語言作為入門語言?并不是說C語言簡單(現(xiàn)在大部分程序員沒有多少敢說精通C語言的),而是C語言可以更快的帶你進入編程世界,了解編程的常規(guī)思維方法。C語言是一門面向過程語言,相對面向對象而言,很多邏輯可以看得更清晰,不至于對于初學者而言太過于抽象。從C語言學到的概念理論,也都可以很快的套用到其他編程語言。比如判斷、循環(huán)、函數(shù)、數(shù)據(jù)結構等等。
第二:大家都知道C語言是一門底層語言,略高于匯編語言之上,低于Java/Python等高級語言。C語言的存在就是更方便的銜接硬件和軟件。比如電腦開機,從按下電源按鈕到屏幕顯示開機Logo,這個階段運行的絕大部分程序都是C語言(早些時候更多的是匯編)。換言之,C語言服務的行業(yè)更多的是制造業(yè),制造業(yè)雖然說不如互聯(lián)網(wǎng)那樣讓人眼花繚亂,但是也不可或缺。沒有制造業(yè),何談互聯(lián)網(wǎng)。
如果你想入門編程,還是先想好自己的方向。C語言多掌握一些,甚至你會覺得很多問題你都會有更深的理解。比如變量存儲、對象生存期等等。