【科普】編程的門(mén)檻,到底有多高?

有許多同學(xué),想入門(mén)編程,又找不到,有效探索的路徑,很是苦惱,大大加深了,對(duì)入門(mén)的誤解。今天在這里,我向大家,簡(jiǎn)單回答一下,以上的問(wèn)題。

不要輕易地低估了編程(Coding),把它看作是,任何人都可以掌握的,人人都可以在電腦前敲敲鍵盤(pán),就能讓電腦“干活”的工作。

也不要輕易地高估了Coding,把它看作是,自己一生都難以掌握的,可望而不可即的智力活動(dòng)。

為了給提問(wèn)的同學(xué),答疑解惑,如果我們解答了“編程到底難在哪里”這個(gè)問(wèn)題,我想,上述這個(gè)問(wèn)題,你就應(yīng)該有一個(gè)清晰的答案了。

我們都知道,Coding是一種將人類(lèi)的邏輯和語(yǔ)言,寫(xiě)成可以被電腦“嚴(yán)格執(zhí)行”的一串串代碼,如果你愿意把Coding,比作“用人類(lèi)的語(yǔ)言寫(xiě)作”,大致也說(shuō)得通。

當(dāng)然,計(jì)算機(jī)執(zhí)行一道道命令,比我上述極度簡(jiǎn)化的流程,還要復(fù)雜得多。Coding到底來(lái)說(shuō),其實(shí)還是可以被人類(lèi)“直接識(shí)別”(得經(jīng)過(guò)一段時(shí)間訓(xùn)練)的,可被人理解的命令行。

從底層來(lái)說(shuō),各種編譯器,還要把這些“代碼”,“轉(zhuǎn)換成”可被機(jī)器直接識(shí)別的“010000111110100010……”的機(jī)器碼,人類(lèi)和計(jì)算機(jī)之間,至少還“差了一層(人類(lèi)語(yǔ)言→機(jī)器語(yǔ)言)”。

上個(gè)世紀(jì),W65C816S 機(jī)器碼,當(dāng)時(shí)大家,都是這樣變成,你能看得懂嗎?

所以現(xiàn)在,不少編譯器,都提供直觀化的編輯器,語(yǔ)法有錯(cuò)誤的地方,還會(huì)給你指出來(lái);有些編譯器,還自帶“高級(jí)Debug”功能,對(duì)現(xiàn)代的程序員而言,已經(jīng)算是很“友好”了。

剛才我有提到個(gè)例子,對(duì)比的是Coding和寫(xiě)作的難度,其實(shí),我覺(jué)得:

從“構(gòu)成”來(lái)說(shuō),即寫(xiě)成一段完整的代碼,或是寫(xiě)完一整篇文章,我覺(jué)得,后者更難些。

梳理思路,構(gòu)建邏輯,兩者是共同的,但寫(xiě)“文章”,是要給更多的人看的,想要“打動(dòng)”人的情感,是一個(gè)比較困難的事(不信?你去看看知乎上文筆優(yōu)秀的高贊文章)。

而“打動(dòng)”機(jī)器(能跑得通,運(yùn)行效率高,無(wú)Bug)的標(biāo)準(zhǔn),相對(duì)來(lái)說(shuō)就要低一些,也更好“量化”一些,相信經(jīng)驗(yàn)豐富的“大?!眰儯瑢?xiě)出的每一行代碼,都是“優(yōu)質(zhì)”的代碼。

你讓一個(gè)作家,寫(xiě)出篇篇傳世的好文,這個(gè)就很難, 你可能會(huì)問(wèn)我,像@張佳瑋那樣的大神,每篇文章贊量不是很高么?那是因?yàn)?,人家積累出了名氣,他的有些文章,時(shí)效性較強(qiáng),文筆方面就弱一些了,這些都是我的廢話,希望能幫助你的理解。

好的,經(jīng)過(guò)以上論述,我們可以得出一個(gè)大致的結(jié)論:有了隨處可獲得的免費(fèi)資源(Google、GitHub)、靠譜的教授機(jī)構(gòu)(比如我們的優(yōu)就業(yè),我就是這么無(wú)恥,哈哈~~)、可糾錯(cuò)的編譯器、工作中時(shí)刻交流技術(shù)的同事,如果你“立志”入行,有許多科學(xué)的學(xué)習(xí)路徑,也有許多愿意幫助你的人。

路都幫你鋪好了,剩下的,還得你自己走,這條路,并不總是“簡(jiǎn)單”的。

無(wú)論學(xué)習(xí)哪種技能,包括編程,我認(rèn)為,都要經(jīng)歷一段時(shí)間的“非舒適區(qū)”,舉個(gè)學(xué)英語(yǔ)的例子吧:

假設(shè)你的詞匯量掌握數(shù)為0,想看懂《紐約時(shí)報(bào)》,你就必須得從3000詞,“痛苦”地背起。

Coding也是一樣,對(duì)于我們中國(guó)人而言,學(xué)習(xí)母語(yǔ)為英語(yǔ)為主的國(guó)家的人,開(kāi)發(fā)出的編程語(yǔ)言,你就必須得按照人家的“規(guī)矩”來(lái),包括官方文檔等,持續(xù)學(xué)習(xí),也是程序員必須掌握的技能之一。

編程門(mén)檻不低的理由之一 —— 想熟練地?cái)]代碼、終身學(xué)習(xí)?先把英語(yǔ)撿起來(lái)吧!

Coding,對(duì)學(xué)習(xí)者的邏輯思維能力,宏觀性的事物判斷能力,要有更高的要求,你可能寫(xiě)出來(lái)一篇,文筆優(yōu)美,但邏輯不太通順的散文。但是抱歉,如果你把這種習(xí)慣,代入到Coding里電腦可能會(huì)不認(rèn)你的努力。

編程門(mén)檻不低的理由之二 —— 你不是“數(shù)學(xué)家”,但在Coding的時(shí)候,需要解答很多“邏輯思維題”,說(shuō)實(shí)話,挺“燒腦”的;感覺(jué)自己“腦力”不夠的,請(qǐng)繞道吧,小優(yōu)不是嚇唬你。

Coding的目的,是要拿來(lái)用的,就是要讓它“跑”在機(jī)器上,不管你的代碼,寫(xiě)得有多優(yōu)秀,最終只能體現(xiàn)在:用戶(hù)使用體驗(yàn),覺(jué)得更流暢、更順滑了。如果你學(xué)習(xí)的是“后端”,即使你的SQL寫(xiě)得很科學(xué),網(wǎng)速不好,也很有可能拖了用戶(hù)體驗(yàn)的后腿。

編程門(mén)檻不低的理由之三 —— 即使你盡力了,你還有可能遭受各種非議。

現(xiàn)代化的軟件編寫(xiě),是一項(xiàng)十分“龐雜”的工作,越大型的項(xiàng)目(保守估計(jì),Windows系統(tǒng)有7000萬(wàn)以上行的代碼),維護(hù)和調(diào)試起來(lái),就越復(fù)雜。很多時(shí)候,你不只是“寫(xiě)”代碼,還要把前人工作時(shí),留下的“疏漏”,逐一排查清楚。

編程門(mén)檻不低的理由之四 —— 你不但需要“創(chuàng)造”,更需要“糾正”,“糾正”的過(guò)程,相當(dāng)于給別人的文章“挑刺”,是相當(dāng)枯燥無(wú)味的。

看到這里,如果你依舊能堅(jiān)定決心,知難而進(jìn)。那么,小優(yōu)還是深深欽佩你的勇氣。

學(xué)習(xí)編程,最好的時(shí)間,在10歲的時(shí)候;其次,是現(xiàn)在。

本賬號(hào),屬于“中公優(yōu)就業(yè)”旗下的運(yùn)營(yíng)賬號(hào),賬號(hào)發(fā)布的內(nèi)容,均為原創(chuàng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容