編程語言和其他語言的區(qū)別在哪 學(xué)好C語言對(duì)學(xué)習(xí)其他語言有多大好處?
學(xué)好C語言對(duì)學(xué)習(xí)其他語言有多大好處?我從業(yè)十幾年了,從C語言開始學(xué)習(xí)編程。幸運(yùn)的是,第一個(gè)嵌入式作業(yè)主要是用這種編程語言開發(fā)的。當(dāng)我走出校門的時(shí)候,我發(fā)現(xiàn)我在學(xué)校學(xué)的東西真的只是一個(gè)抓手。更多的東西還
學(xué)好C語言對(duì)學(xué)習(xí)其他語言有多大好處?
我從業(yè)十幾年了,從C語言開始學(xué)習(xí)編程。幸運(yùn)的是,第一個(gè)嵌入式作業(yè)主要是用這種編程語言開發(fā)的。當(dāng)我走出校門的時(shí)候,我發(fā)現(xiàn)我在學(xué)校學(xué)的東西真的只是一個(gè)抓手。更多的東西還是學(xué)術(shù)或者理論上的,真正的努力是在實(shí)際項(xiàng)目中獲得的。事實(shí)上,我沒有。;我不覺得在學(xué)校學(xué)習(xí)C語言的過程有多難。掌握常用的語法和簡單的編程技巧就可以理解所有的代碼。在學(xué)校學(xué)了2個(gè)月左右的C語言,以為這種編程語言的語法就夠了,代碼都要懂。于是去學(xué)校圖書館借了一本800多頁的linux內(nèi)核源代碼分析。結(jié)果看了不到100頁腦子就完全糊了,才知道C語言博大精深。我現(xiàn)在學(xué)到的東西基本上連表面都算不上。
C語言的語法比較簡單,用的時(shí)候也比較隨意,但是還是很厲害的。C語言最重要的是它仍然占據(jù)著非常重要的歷史地位,主要是因?yàn)樗男阅堋,F(xiàn)在很多編程語言看起來比C語言流行很多,但是真正體現(xiàn)性能的時(shí)候,就要看C語言了?,F(xiàn)在引申到學(xué)好C語言有什么好處。
1.更好地理解底層語言是如何實(shí)現(xiàn)的,有助于上層邏輯的設(shè)計(jì)。
很多做上層應(yīng)用開發(fā)的人會(huì)羨慕開發(fā)下層編程語言的程序員,認(rèn)為下層編程語言會(huì)很難很深?yuàn)W,而下層開發(fā)者會(huì)羨慕不做的上層開發(fā)者 開發(fā)功能不需要考慮那么多,設(shè)計(jì)框架更容易。真正的技術(shù)人員會(huì)互相欣賞,通常是行業(yè)新手或新手。;t不懂編程,他們喜歡用什么鄙視鏈來形容編程語言之間的程序員。
如果上層應(yīng)用的設(shè)計(jì)者知道下層api是如何實(shí)現(xiàn)的,那么調(diào)用的時(shí)候會(huì)考慮到性能和穩(wěn)定性,開發(fā)出來的產(chǎn)品性能會(huì)提升很多,所以了解下層語言對(duì)于理解更深層次的實(shí)現(xiàn)大有裨益。如果從事java開發(fā),可以研究一下虛擬機(jī)的原理,底層的實(shí)現(xiàn)代碼肯定會(huì)有底層開發(fā)語言的影子。
2.懂C語言才能更好的理解操作系統(tǒng)。
事實(shí)上,雖然很多編程語言是跨平臺(tái)的,但是關(guān)注操作系統(tǒng)的實(shí)現(xiàn)機(jī)制,對(duì)于深入理解編程內(nèi)涵是非常有益的。如何準(zhǔn)確看待一個(gè)事物,其實(shí)是一個(gè)龐大的軟件系統(tǒng)?,F(xiàn)在國產(chǎn)操作系統(tǒng)還沒出現(xiàn),但也不完全是技術(shù)。就算現(xiàn)在能做出來,也不會(huì)有多少人買單。畢竟這個(gè)時(shí)代已經(jīng)過去了。了解操作系統(tǒng)的內(nèi)部原理,可以大大提高編程效率?,F(xiàn)在很多編程都依賴于操作系統(tǒng)的機(jī)制,比如多線程機(jī)制,數(shù)據(jù)保護(hù)鎖在不同的操作系統(tǒng)下使用不同的功能,實(shí)現(xiàn)也會(huì)有一定的差異。
認(rèn)識(shí)c。學(xué)習(xí)其他語言會(huì)快得多。
目前很多編程語言的入門難度都沒有C語言高。如果先學(xué)C語言,學(xué)其他語言會(huì)容易很多。本質(zhì)上,編程語言是通用的,具有類比的效果。學(xué)習(xí)C語言不僅可以做這些工作,還可以讓你更容易的學(xué)習(xí)其他語言。
c語言至今仍是一門值得學(xué)習(xí)的編程語言。
希望能幫到你。
如果精通一門編程語言,再去學(xué)習(xí)其他編程語言是不是很容易?
我開始編程前后差不多經(jīng)歷了五種主流編程語言。第一種編程語言給我的印象最深,后面的編程語言基本都是按照套路來的,遠(yuǎn)不是第一次學(xué)編程。第一次安裝linux后,我對(duì)在上面寫hello world的第一行很感興趣。我太激動(dòng)了,以至于我沒有 那天我沒有睡好,好像我擁有了全世界。后來慢慢的在linux上寫了一些簡單的C語言程序。當(dāng)我學(xué)習(xí)函數(shù)的時(shí)候,我覺得我可以理解C語言的所有代碼。于是我懷著興奮的心情去了圖書館,得到了一份linux內(nèi)核源代碼分析。我真的是帶著興趣咬緊牙關(guān)看了100多頁。后來真的看到了,才知道后面還有人,學(xué)的是基本語法,離真正的高手還很遠(yuǎn)。
后來隨著C語言學(xué)習(xí)的深入,尤其是學(xué)習(xí)指針,然后切入鏈表,就更加迷茫了,一怒之下放棄了一個(gè)星期。后來覺得這樣做真的對(duì)不起,又開始撿了起來。我完全明白我找到了芮林博士 s C/C在互聯(lián)網(wǎng)上,這是一個(gè)系統(tǒng)的主人。后來遇到指針,基本都是一路。It 這本書并不神奇。我可能是在某個(gè)階段看到其中一個(gè)細(xì)節(jié)的時(shí)候拍的。
技術(shù)部的一個(gè)同事在公司好幾年了,職位換了幾次。最后,他下定決心玩技術(shù)。半年開始的時(shí)候,他幾乎沒有 我什么都不明白。他想換多少次?后來,他心軟了,又給了一次機(jī)會(huì)。有一天,他在做代碼的時(shí)候,突然做了很多讓人驚訝的事情,好像懂了很多?,F(xiàn)在他已經(jīng)可以慢慢獨(dú)立做一些功能模塊了,再一次驗(yàn)證了一個(gè)道理。其實(shí)這和學(xué)習(xí)第一門編程語言是一樣的。只要堅(jiān)持下去,以后學(xué)會(huì)轉(zhuǎn)用其他編程語言,是很自然的事情。
說到掌握編程語言,是極難做到的。基本上編程語言能達(dá)到做項(xiàng)目的熟練程度就夠了。而且,即使很難切入第二種編程語言,也會(huì)感覺比第一次學(xué)簡單很多。我接觸的第二個(gè)編程語言是C,當(dāng)然C的語法學(xué)習(xí)是在學(xué)校完成的,當(dāng)企業(yè)真正開始做C項(xiàng)目的時(shí)候我傻眼了。這些通用編程的東西是學(xué)校沒有。;根本碰不到,只好老老實(shí)實(shí)把粉底拿出來再研究一遍。即便如此,也比以前快多了。畢竟當(dāng)時(shí)已經(jīng)有了C語言做鋪墊。不同之處在于語法細(xì)節(jié)和面向?qū)ο蟮木幊趟枷?。只用了很短的時(shí)間就趕上了過渡期的大部隊(duì)。
用第三編程語言做項(xiàng)目,用Java語言,用C學(xué)習(xí)基本沒有障礙,不到一個(gè)月就可以跟項(xiàng)目了。當(dāng)然,編程語言可以 不要隨隨便便就完全理解,這需要時(shí)間來磨練,但它 這相對(duì)容易上手,因?yàn)槿魏我环N編程都有其固有的東西。編程語言在一定程度上是一種工具式的存在,最核心的東西是編程思想和算法設(shè)計(jì)思想。但事實(shí)是,學(xué)習(xí)一種編程語言會(huì)讓你更快地學(xué)習(xí)其他東西。
希望能幫到你。