只精通一門(mén)C語(yǔ)言的人,算不算程序員?
網(wǎng)友解答: 還是現(xiàn)身說(shuō)法吧。我本人就是一位只精通C語(yǔ)言的程序員,大概從21歲上研究生開(kāi)始接觸編程語(yǔ)言,到現(xiàn)在一位36歲的老碼農(nóng),中間學(xué)過(guò)C++,C和Java。唯一可以稱(chēng)得上精通的就是C語(yǔ)
還是現(xiàn)身說(shuō)法吧。
我本人就是一位只精通C語(yǔ)言的程序員,大概從21歲上研究生開(kāi)始接觸編程語(yǔ)言,到現(xiàn)在一位36歲的老碼農(nóng),中間學(xué)過(guò)C++,C和Java。唯一可以稱(chēng)得上精通的就是C語(yǔ)言了。
之所以如此,當(dāng)然也是有著鮮明的現(xiàn)實(shí)背景的。最主要的原因就在于我是一枚嵌入式軟件工程師,是在MCU上寫(xiě)代碼的,而C語(yǔ)言基本上就是嵌入式軟件開(kāi)發(fā)領(lǐng)域的王者,在MCU上很難看到其它編程語(yǔ)言的用武之地。
多年下來(lái),在下編程無(wú)數(shù),也做成了幾款電子產(chǎn)品,在公司里,給的職位和薪水也是按照“程序員”的崗位來(lái)的。所以,“只精通一門(mén)C語(yǔ)言的人,算不算程序員?”,你說(shuō)我算不算?
網(wǎng)友解答:先說(shuō)一個(gè)行業(yè)內(nèi)一個(gè)非常有趣的事情,剛?cè)胄袥](méi)多久在簡(jiǎn)歷上基本上都會(huì)寫(xiě)上精通某種編程語(yǔ)言,在這個(gè)行業(yè)混的日子久了,再次投簡(jiǎn)歷的時(shí)候關(guān)鍵字已經(jīng)從精通變成了熟練或者熟練,這是逐漸對(duì)編程一個(gè)認(rèn)知的過(guò)程,開(kāi)始覺(jué)得能寫(xiě)代碼或者做項(xiàng)目都覺(jué)得是精通了,發(fā)現(xiàn)隨著做項(xiàng)目的深入,想要精通一種編程幾乎是不可能完成的事情,編程基本上越做越覺(jué)得自己知識(shí)的淺薄,需要學(xué)習(xí)的東西實(shí)在太多。
如果一個(gè)精通C語(yǔ)言的人都不能被稱(chēng)之為程序員,那么稱(chēng)職的程序員真就不多了,不是所有的程序員都是對(duì)某種編程語(yǔ)言都是精通的,能精通編程語(yǔ)言的人在編碼界也是稀有動(dòng)物般的存在。要精通一種編程語(yǔ)言,除了非常雄厚的編程基礎(chǔ)之外,還需要現(xiàn)場(chǎng)實(shí)際解決問(wèn)題的能力,一個(gè)問(wèn)題普通的程序員也能解決,高手一樣能夠解決,但實(shí)際產(chǎn)生的效果是不一樣的,高手解決問(wèn)題想到的是框架方面東西,一旦解決可能類(lèi)似的一個(gè)體系的問(wèn)題都會(huì)得到解決。
既然說(shuō)到C語(yǔ)言的話題,一個(gè)程序員如何做到精通C語(yǔ)言?
1.編程基礎(chǔ),基礎(chǔ)是一切的根底,沒(méi)有基礎(chǔ)想要有更大的發(fā)展幾乎是不可能的事情,所以C語(yǔ)言常見(jiàn)的語(yǔ)法以及比較深層次的語(yǔ)法都要了然于胸,基礎(chǔ)的學(xué)習(xí)是不間斷性的,有些人教材上翻越上百遍,而且每次看都有不同的感覺(jué),每次都有不同的感受和領(lǐng)域,所有創(chuàng)造性的源泉都來(lái)源于基礎(chǔ),C語(yǔ)言常見(jiàn)比較難的知識(shí)點(diǎn)有指針以及多級(jí)指針的組合使用,遞歸,回調(diào),結(jié)構(gòu)體操作,函數(shù)等等,當(dāng)然還有一個(gè)宏操作,很多框架為了效率考慮把基本的函數(shù)操作設(shè)置成宏的方式,但代碼讀起來(lái)可能就比較繁瑣。
2.經(jīng)歷多次大的項(xiàng)目洗禮,想要精通一種編程語(yǔ)言一定是要有這種編程語(yǔ)言經(jīng)歷過(guò)大的項(xiàng)目,只是語(yǔ)法上的熟悉不算精通,需要實(shí)戰(zhàn)驗(yàn)證,實(shí)戰(zhàn)就是解決問(wèn)題的能力,框架思想也是在實(shí)戰(zhàn)中磨練出來(lái)的,實(shí)踐多了吃的虧多了自然就會(huì)想解決問(wèn)題的方法和策略,遇到的問(wèn)題積累起來(lái),然后加上理論依托,設(shè)計(jì)出來(lái)的東西一定穩(wěn)定高效。
3.海納百川,吸收眾家之長(zhǎng),平時(shí)多讀取相關(guān)的文檔資料,只是靠自己去學(xué),肯定不能做到知識(shí)廣度,需要多交流,最好的方式就是加入開(kāi)源社區(qū),在里面吸取眾人的精華,提煉成自己的。而且還要具備分享精神,在網(wǎng)絡(luò)上總結(jié)一些經(jīng)驗(yàn)之道,供大家分享并且從中吸取教訓(xùn)。
坦白而言能精通一種編程語(yǔ)言是一件可遇不可求的事情,比修煉自己成為一個(gè)架構(gòu)師還要難,也不是每個(gè)人都能達(dá)到這種高度,如同有些技術(shù)人員一輩子可能就適合做點(diǎn)單元模塊,整個(gè)體系就是無(wú)法駕馭。
學(xué)習(xí)C語(yǔ)言切入別的編程語(yǔ)言都會(huì)方便許多,畢竟在研究框架的時(shí)候,有了C語(yǔ)言的基礎(chǔ)就能了解的更加透徹,而且在掌握了一種編程語(yǔ)言之后,還能有觸類(lèi)旁通的效果,用同樣的方式復(fù)制新的編程語(yǔ)言速度會(huì)快很多,而且在學(xué)好一門(mén)編程語(yǔ)言之后再去學(xué)習(xí)別的開(kāi)始時(shí)候的感覺(jué)特別清爽。
希望能幫到你。