我在IT界摸爬滾打快十年了,下面簡(jiǎn)單說(shuō)說(shuō)關(guān)于編程需要掌握的技術(shù)與相關(guān)知識(shí)。很多人感覺(jué)編程很難。很多人問(wèn)我,我英語(yǔ)不好,數(shù)學(xué)不好能做編程嗎?
我非??隙ǖ恼f(shuō),能做編程。編程的領(lǐng)域很廣泛。細(xì)分出來(lái)有嵌入式編程,系統(tǒng)編程,應(yīng)用編程,網(wǎng)絡(luò)編程,數(shù)據(jù)庫(kù)編程等等,另外每一類(lèi)有可細(xì)分出來(lái)許多,所以編程要看你具體干什么編程。雖然說(shuō)都是英文編程,但是都是固定的關(guān)鍵字,熟悉了自然也就記住了。所以英文不好的,完全可以編程。編程的過(guò)程中其實(shí)還是控制類(lèi)比較多,基本都是邏輯思路的編程,實(shí)際用到數(shù)學(xué)模型,數(shù)學(xué)公式的編程比較少。所以大家不必?fù)?dān)心,大膽的去學(xué)習(xí)編程吧!下面我就簡(jiǎn)單講講編程學(xué)習(xí)過(guò)程。在這里希望和大家一起交流。我們通過(guò)兩方面來(lái)說(shuō)說(shuō)IT工程師。
技術(shù)技能:包括理論和實(shí)踐技能以及經(jīng)驗(yàn)等。
非技術(shù)技能:性格,溝通技巧,是否能夠融入我們的文化環(huán)境。
一個(gè)IT工程師應(yīng)該具有的技能
我認(rèn)為實(shí)用技能包含3個(gè)方面,如圖1所示:
編碼:你必須能夠在限定時(shí)間內(nèi)編寫(xiě)出高質(zhì)量的代碼。經(jīng)驗(yàn):具有相關(guān)經(jīng)驗(yàn)表明你對(duì)該行業(yè)的熱情,并能夠在一開(kāi)始就進(jìn)入工作狀態(tài)。理論:理論知識(shí)是IT工程師的基礎(chǔ),好的理論知識(shí)能夠讓你快速解決新出現(xiàn)的問(wèn)題。
這些都是很重要的。
首先要提高你的理論知識(shí):
學(xué)習(xí)C語(yǔ)言,C是編程的基礎(chǔ)。
因此,學(xué)習(xí)C語(yǔ)言能為我們了解高層概念打下堅(jiān)實(shí)的基礎(chǔ)。學(xué)習(xí)C語(yǔ)言的基礎(chǔ)知識(shí)并不會(huì)花太長(zhǎng)時(shí)間,只需要幾個(gè)星期的時(shí)間一般就能夠掌握。C沒(méi)有太多的抽象封裝,這就使得C語(yǔ)言相對(duì)簡(jiǎn)單,和其他人一樣我學(xué)習(xí)C語(yǔ)言是看《C Programming Language》這本書(shū)(我們可以看譚浩強(qiáng)的書(shū))。一旦你能夠真正理解C語(yǔ)言中的指針和內(nèi)存管理,C就會(huì)變成一門(mén)有趣的語(yǔ)言,因?yàn)樗鼘椭覀儚?a target="_blank">處理器層面(底層硬件)來(lái)理解語(yǔ)言,而這正是其他大多數(shù)的高級(jí)語(yǔ)言所不具備的。同時(shí)了解這些概念,也將有助于你了解更高層次的語(yǔ)言工作。
了解數(shù)據(jù)結(jié)構(gòu)和算法:雖然在網(wǎng)站/應(yīng)用程序開(kāi)發(fā)中編寫(xiě)復(fù)雜的算法和數(shù)據(jù)結(jié)構(gòu)比較少見(jiàn),但是數(shù)據(jù)結(jié)構(gòu)和算法在我們編寫(xiě)復(fù)雜系統(tǒng)的時(shí)候?qū)?huì)影響我們的思維。即使你不需要編寫(xiě)自己的數(shù)據(jù)結(jié)構(gòu),你也可能會(huì)在編程中使用到他。因此,了解基本的選擇是至關(guān)重要的。我推薦這本書(shū),《算法導(dǎo)論》。由于這本書(shū)是很長(zhǎng),如果你沒(méi)有時(shí)間把他讀完,那也要學(xué)習(xí)其中的排序,哈希表,二叉樹(shù),字符串匹配部分。一旦你很好的掌握了數(shù)據(jù)結(jié)構(gòu)和算法,你會(huì)發(fā)現(xiàn)這些概念只是將你做的每件事都總結(jié)成問(wèn)題而已。
比較編程語(yǔ)言:
? 一開(kāi)始,你會(huì)經(jīng)常接觸多中編程語(yǔ)言。你可能還需要快速學(xué)習(xí)新的語(yǔ) 言和概念。為了加快學(xué)習(xí),學(xué)習(xí)不同語(yǔ)言有助于我們了解他們的概念以及他們的相似及不同之處。最好的辦法是在下面每種風(fēng)格的語(yǔ)言中學(xué)一門(mén)言:
底層:C語(yǔ)言。
面向?qū)ο螅?a href="http://srfitnesspt.com/v/tag/852/" target="_blank">JAVA,C++等。
動(dòng)態(tài)語(yǔ)言,高層次的語(yǔ)言:python, ruby 等。
函數(shù)式語(yǔ)言:Lisp, Erlang, Haskell等。你既然能在一個(gè)領(lǐng)域成為專(zhuān)家,就表明你同樣能在其他領(lǐng)域做得一樣好。你理解這些語(yǔ)言/框架的細(xì)節(jié)可以讓你根據(jù)不同技術(shù)的優(yōu)缺點(diǎn)來(lái)做出決定。你有激情去深究一個(gè)項(xiàng)目并且深入語(yǔ)言的最底層。
一個(gè)工程師的編碼的質(zhì)量和速度是很重要的,而這只能來(lái)自于實(shí)踐經(jīng)驗(yàn)。
另外,使用合適的語(yǔ)言和框架對(duì)于一個(gè)項(xiàng)目也是很有幫助的。例如用Python和Ruby等腳本語(yǔ)言可以比使用像Java、C++這類(lèi)靜態(tài)語(yǔ)言的許多情況下更快。在技術(shù)方面僅僅是一個(gè)硬幣的一面。雖然是一名IT工程師,但是還是需要了解各方面各領(lǐng)域的知識(shí)。
-
IT
+關(guān)注
關(guān)注
2文章
840瀏覽量
63405 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7581瀏覽量
135571 -
編程
+關(guān)注
關(guān)注
88文章
3544瀏覽量
93470 -
python
+關(guān)注
關(guān)注
54文章
4758瀏覽量
84289
原文標(biāo)題:【經(jīng)典文章】教你如何成為IT編程高手
文章出處:【微信號(hào):KY_QRS,微信公眾號(hào):開(kāi)源嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論