1、為什么要學(xué)習(xí)編程?
很多朋友問(wèn)我這樣的問(wèn)題,由于工作原因,我的朋友大多是從事IT行業(yè)的人士,而其中從事計(jì)算機(jī)維護(hù)的人大有人在。我個(gè)人認(rèn)為,要回答這個(gè)問(wèn)題,還要從駕馭計(jì)算機(jī)的幾個(gè)層次說(shuō)起——當(dāng)然,這個(gè)層次是以我個(gè)人的觀點(diǎn)劃分的。
第一層,熟識(shí)計(jì)算機(jī)軟件的使用和系統(tǒng)的優(yōu)化與調(diào)整。
這個(gè)可以說(shuō)是很多朋友開(kāi)始漸漸開(kāi)始駕馭計(jì)算機(jī)的第一步,很多朋友都是從熟識(shí)各類常用軟件、熟識(shí)系統(tǒng)優(yōu)化調(diào)整開(kāi)始漸漸駕馭計(jì)算機(jī)的。通過(guò)對(duì)各類軟件的靈活使用和對(duì)計(jì)算機(jī)操作系統(tǒng)的一定程度的了解,這一部分人是最先被成為“計(jì)算機(jī)高手”的人群,而且,有相當(dāng)一部分人停留在這個(gè)層次上。
第二層,熟悉硬件。
當(dāng)一個(gè)計(jì)算機(jī)操作者漸漸的從只會(huì)操作軟件成為可以勇敢的拆開(kāi)機(jī)箱,把其中各種電子元件查查拔拔的時(shí)候,當(dāng)一個(gè)計(jì)算機(jī)操作者敢于在硬件報(bào)警時(shí)拔下內(nèi)存用橡皮擦一下再放回去的時(shí)候,當(dāng)一個(gè)計(jì)算機(jī)操作者漸漸的可以說(shuō)出一個(gè)個(gè)CPU和芯片組的名字、懂得如何識(shí)別什么樣的顯卡可以更好的玩游戲的時(shí)候,這個(gè)人對(duì)計(jì)算機(jī)的駕馭能力就進(jìn)入了第二層。這些人將不只再被成為“高手”,而是被稱為“達(dá)人”。
第三層,精通軟硬件。
跨過(guò)前面的兩個(gè)層次,一些人不僅對(duì)硬件的各種型號(hào)特別熟悉,為了讓硬件更好的運(yùn)作,這些人不遺余力的學(xué)習(xí)并實(shí)踐各種計(jì)算機(jī)相關(guān)技術(shù),牽涉到操作系統(tǒng)、系統(tǒng)驅(qū)動(dòng)、軟件調(diào)整、系統(tǒng)優(yōu)化等等諸方面,并對(duì)各個(gè)方面都能良好的協(xié)調(diào)與運(yùn)用,而且對(duì)這些相關(guān)技術(shù)有著一定程度的“理解”。這個(gè)人群的封號(hào)為“專業(yè)”。
第四層,懂二進(jìn)制。
這只是一個(gè)開(kāi)玩笑的說(shuō)法,普遍的是指懂得編程并能將編程應(yīng)用于實(shí)際中的人。這個(gè)層次的人可以根據(jù)自己的需要寫(xiě)出符合自己需求的程序,完全按照自己的意愿定制更為適合自己的各類工具。而處于這個(gè)層次的人常常被喻為“神”,其實(shí)這的確是個(gè)有點(diǎn)過(guò)頭的說(shuō)法。至少我看來(lái),編程不是十分神秘的東西,卻由于它太神奇,讓很多人產(chǎn)生了難學(xué)與崇拜的錯(cuò)覺(jué)。
當(dāng)然,向上還有更高的層次,但是苦于作者我尚徘徊于第四層,上邊的層次沒(méi)能參悟,那么就先作罷,說(shuō)到第四層為止。
我個(gè)人認(rèn)為第四層次是對(duì)尚處于第三層的朋友們的一個(gè)轉(zhuǎn)折點(diǎn),處于第三層的很多朋友由于長(zhǎng)期專心于計(jì)算機(jī)的各個(gè)方面,常常有著這樣那樣的相當(dāng)不錯(cuò)的想法,可是卻常常苦于無(wú)法實(shí)現(xiàn),而讓絕頂?shù)撵`感付諸東流,實(shí)在是可惜。
然而編程,是實(shí)現(xiàn)自己諸多想法的最好的途徑。但有不少處于第三層的朋友不愛(ài)學(xué)編程,原因有二,第一,處于這個(gè)層次的朋友一般都很忙,第二,處于這個(gè)層次的朋友通常都認(rèn)為編程是太難的事情。
但編程帶給我們的好處是顯而易見(jiàn)的:
1>有效的實(shí)現(xiàn)我們的各種想法;
2>各種工作更加自動(dòng)化智能化;
3>提高我們自身的身價(jià)。
2、編程很難學(xué)么?
有一點(diǎn)要承認(rèn),編程很難學(xué)(我在這里并不會(huì)因?yàn)橄胱尨蠹叶嗫次业慕坛桃蕴岣呶揖W(wǎng)站的點(diǎn)擊率來(lái)欺騙大家)。想成為絕世的編程達(dá)人的確需要超過(guò)常人許多倍的努力。
但是,如果我們不想成為達(dá)人呢,如果我們只想學(xué)在我們平時(shí)工作生活中最常用的那部分技能呢?會(huì)不會(huì)也很難呢?這個(gè)答案就是否定的了。日常生活中,例如我們要做的軟件自動(dòng)安裝腳本、驅(qū)動(dòng)選擇工具、系統(tǒng)快速配置工具等等,所需的編程技術(shù)含量并不是很高。而如果我們只學(xué)這些,那我們只需要強(qiáng)化基礎(chǔ),再稍加訓(xùn)練即可達(dá)成,嗯,當(dāng)然還需要您持之以恒的個(gè)人素質(zhì)。
有一個(gè)說(shuō)法,精通編程要精通英文與數(shù)學(xué),是的,這個(gè)方法沒(méi)錯(cuò),英文可以讓您更快的理解編程語(yǔ)言中的各語(yǔ)句(畢竟大部分編程語(yǔ)言都是以英文為基礎(chǔ)的),數(shù)學(xué)可以培養(yǎng)絕佳的邏輯思維與推理能力。
不過(guò)如果僅學(xué)習(xí)常用和常見(jiàn)部分的功能呢?不瞞大家,作者我在學(xué)校時(shí)的數(shù)學(xué)成績(jī)和英文成績(jī)都很差(高考時(shí)數(shù)學(xué)不及格,大學(xué)英文沒(méi)有四級(jí)證……),但是編程的基礎(chǔ)應(yīng)用不是一樣也說(shuō)的過(guò)去么?
對(duì)于常用編程技術(shù)的學(xué)習(xí),我個(gè)人認(rèn)為需要如下幾點(diǎn):
1>基礎(chǔ)的英文水平,只要能認(rèn)識(shí)基本的例如If、Else、While、For等單詞即可;
2>一定的邏輯思維能力,這個(gè)對(duì)于經(jīng)常下下棋的朋友可能會(huì)很簡(jiǎn)單,但是對(duì)于天天迷戀網(wǎng)游的朋友就不好說(shuō)了……想提高邏輯思維能力也不是難事,例如作者我閑暇時(shí)間會(huì)和電腦殺上幾盤(pán)國(guó)際象棋;
3>絕對(duì)的耐心,這一點(diǎn)比前兩條都重要,編程技術(shù)雖然和人的天賦與智商有關(guān),但是在當(dāng)前先進(jìn)的教育制度下,絕大多數(shù)人天賦都被封印,而絕大多數(shù)人的智力水平都是相當(dāng)?shù)模裕瑳Q定一個(gè)人能否能超越別人的一個(gè)關(guān)鍵,就是耐心,任何學(xué)習(xí)都是要經(jīng)歷長(zhǎng)時(shí)間磨練的,沒(méi)有耐心的人難成霸業(yè);
4>高昂的信心,學(xué)習(xí)編程,經(jīng)歷失敗是家常便飯,理論上說(shuō),除了最后實(shí)用程序前的最后一次測(cè)試,其他的測(cè)試都是失敗的,所以,要把失敗當(dāng)成十分十分平常的事情來(lái)對(duì)待,始終保持對(duì)自己的信心是成功的一個(gè)秘訣,當(dāng)你感覺(jué)自己快要崩潰的時(shí)候,離最后的成功也不遠(yuǎn)了。
3、編程與編程語(yǔ)言
我常常聽(tīng)見(jiàn)朋友們?cè)跔?zhēng)論,某某編程語(yǔ)言優(yōu)于某某編程語(yǔ)言,還經(jīng)常有朋友因?yàn)榫幊陶Z(yǔ)言的選擇問(wèn)題與其他朋友爭(zhēng)論不休。
其實(shí)我個(gè)人認(rèn)為這是不必要的,其一,只有某某語(yǔ)言擅長(zhǎng)某方面的操作,但沒(méi)有某某語(yǔ)言絕對(duì)優(yōu)于某某語(yǔ)言的說(shuō)法;其二,各類編程語(yǔ)言的算法是相通的,也就是說(shuō),無(wú)論是什么語(yǔ)言,基礎(chǔ)算法都是一樣的,只不過(guò)是表達(dá)方法不一樣而已。
學(xué)習(xí)和選擇編程語(yǔ)言,我個(gè)人認(rèn)為要注意如下幾點(diǎn):
1>如果是第一次學(xué)習(xí)編程語(yǔ)言,那么強(qiáng)烈建議您選擇一種語(yǔ)法較為嚴(yán)格的編程語(yǔ)言來(lái)學(xué)習(xí),這會(huì)讓您培養(yǎng)起扎實(shí)的編程習(xí)慣,此后無(wú)論再學(xué)習(xí)哪種編程語(yǔ)言都會(huì)給您帶來(lái)相當(dāng)?shù)暮锰帯?/font>
2>學(xué)習(xí)編程語(yǔ)言不是首要的,學(xué)習(xí)編程的算法才是首要的。學(xué)習(xí)編程最忌諱的事情,就是照著例題抄襲,抄襲完了運(yùn)行,運(yùn)行通過(guò)了哈哈一笑完了,如果進(jìn)行變通,就不會(huì)了。這就是只學(xué)了招式未學(xué)心法,會(huì)出招卻不會(huì)變招,即死學(xué)。學(xué)習(xí)編程,要懂得一樣?xùn)|西是靠怎么樣的原理達(dá)到的,一定要具備舉一反三的能力。
3>上一條中強(qiáng)調(diào)算法,是有其更深意義的。只要我們精通了一種編程語(yǔ)言的算法,那么當(dāng)我們?cè)賹W(xué)習(xí)另一種編程語(yǔ)言時(shí)(人一輩子不可能只用一種語(yǔ)言編程),發(fā)現(xiàn)只需要更改一下語(yǔ)法即可,而編程的思路沒(méi)有絲毫的改變。所以大家可能經(jīng)常聽(tīng)說(shuō),某某人可以在一星期內(nèi)便可熟悉和使用AU3,其實(shí)很大可能這個(gè)人在之前應(yīng)該學(xué)習(xí)過(guò)其他編程語(yǔ)言(當(dāng)然,少數(shù)天才除外,但至少作者我不是……),由于已經(jīng)精通了算法,轉(zhuǎn)換編程語(yǔ)言只需要很短的時(shí)間。
4>學(xué)習(xí)編程語(yǔ)言,好的編程語(yǔ)言,不如被大多數(shù)人廣泛使用的語(yǔ)言。選一個(gè)被很多人使用的編程語(yǔ)言有很直接的好處,當(dāng)遇到不會(huì)的難題在網(wǎng)絡(luò)上進(jìn)行搜索時(shí)會(huì)十分方便,隨便一搜索便可找出很多可用的方案,找學(xué)習(xí)了同類語(yǔ)言的朋友探討一下也會(huì)很方便。而如果選用了冷門(mén)語(yǔ)言,就沒(méi)有這種效果。
5>學(xué)習(xí)編程語(yǔ)言,好的編程語(yǔ)言,不如好的幫助文檔。這個(gè)理由與上一條一樣,有些編程語(yǔ)言的幫助文檔甚是完善,從小到大,從粗到細(xì),只要遇到問(wèn)題搜索一下幫助幾秒鐘就可以找到解決方案,大大的提高了學(xué)習(xí)效率。
6>基礎(chǔ)很重要。有些朋友在學(xué)習(xí)編程時(shí)不屑于做一些用于訓(xùn)練編程基礎(chǔ)的數(shù)學(xué)計(jì)算,這個(gè)是十分錯(cuò)誤的。關(guān)鍵的,并不在于讓您去做諸如1+2+3+……+100的計(jì)算,而是讓您對(duì)關(guān)于此的編程操作與算法有一定的深入了解。一定要重視基礎(chǔ),沒(méi)有基礎(chǔ),沒(méi)有一切!
上面幾點(diǎn)是在學(xué)習(xí)一個(gè)編程語(yǔ)言時(shí)要注意的,記住,只要我們精通任何一門(mén)編程語(yǔ)言,確切的說(shuō),精通了編程的算法,無(wú)論再學(xué)習(xí)其他的任何編程語(yǔ)言都會(huì)變的飛快。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。