當(dāng)前位置:
首頁 >
编程学习初体验(4. 编程的核心)
發(fā)布時(shí)間:2025/7/14
35
豆豆
生活随笔
收集整理的這篇文章主要介紹了
编程学习初体验(4. 编程的核心)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
初學(xué)編程的朋友,總覺得寫程序是件單純的事情:知道如何使用一種語言,熟悉一個(gè)開發(fā)環(huán)境,了解系統(tǒng)的編程接口(API)就已經(jīng)能夠成為一個(gè)合格的程序員 了。在我剛剛接觸編程學(xué)習(xí)的時(shí)候,我也是這么認(rèn)為的。這種認(rèn)識(shí)不是沒有根據(jù)的。在我有這樣的認(rèn)識(shí)的時(shí)候,我已經(jīng)會(huì)用basic寫一些小程序,甚至照葫蘆畫 瓢寫了一些游戲動(dòng)畫界面了。在上個(gè)世紀(jì)末所謂的計(jì)算機(jī)的“游俠”時(shí)代,這個(gè)看法是有其合理性的;但是今天回過頭來看,這些最初的認(rèn)識(shí)實(shí)在是膚淺的。今天軟 件開發(fā)已經(jīng)成為一個(gè)成熟的行業(yè),因此如果想在這個(gè)行業(yè)中生存,核心競爭力是必須的。學(xué)會(huì)一種語言,熟悉一個(gè)開發(fā)環(huán)境,掌握API的程序員永遠(yuǎn)只能位于這個(gè) 大廈的最下層,僅僅比程編程愛好者強(qiáng)一些。如果想擺脫這個(gè)局面,就得知道哪里才是這個(gè)行業(yè)的核心。
軟件行業(yè),就其功能而言就是一個(gè)工具行當(dāng),和會(huì)開車的司機(jī),會(huì)開機(jī)器的工人沒有什么區(qū)別。因此僅僅作為工具的操作者, 一個(gè)程序員是不值錢的,因?yàn)樗皇且粋€(gè)更為高級(jí)的工具。一個(gè)有身價(jià)的程序員他之所以值錢,是在于他的創(chuàng)造力。程序員的創(chuàng)造力并不在于會(huì)畫個(gè)界面,會(huì)用開發(fā) 環(huán)境什么;而在于他對(duì)計(jì)算機(jī)這個(gè)行當(dāng)?shù)母镜恼莆铡?計(jì)算機(jī)是應(yīng)用數(shù)學(xué)和電子工程上派生出來的一個(gè)果子。因此程序員的核心競爭力在對(duì)數(shù)學(xué)和硬件知識(shí)的掌握。因此這個(gè)世界上只有兩種程序員永遠(yuǎn)不會(huì)待業(yè),那就是 算法高手和硬件高手。 但是對(duì)于軟件專業(yè)出身的程序員來說, 算法是最核心的競爭力。我和很多程序員相處過,交流過。他們中的大多數(shù)都有對(duì)失業(yè)的擔(dān)心,即便是已經(jīng)在大公司從業(yè)了很多年的程序員: 軟件技術(shù)發(fā)展日新月異,沒人能永遠(yuǎn)跟住技術(shù)發(fā)展的腳步,總有會(huì)被淘汰的時(shí)候。 但是那些著眼于算法的程序員大多沒有這種憂慮,年齡的增長只能讓他們更加有經(jīng)驗(yàn),變得更吃香。我認(rèn)識(shí)的一個(gè)做圖像處理的朋友,寫出來的程序一點(diǎn)可讀性都沒 有,而且很不規(guī)范,動(dòng)不動(dòng)就crash了。但是老板無論換誰,都不會(huì)換他,因?yàn)樗乃惴ㄐ阅芨?#xff0c;能實(shí)現(xiàn)別人不能實(shí)現(xiàn)的圖像檢測能力。而那些幫他改程序,寫 注釋的“職業(yè)”程序員, 盡管寫出來的程序正規(guī)工整,但是工資漲不了多少,而且還得擔(dān)心哪天就開路了。 相比之下, 可見一斑。
因此,學(xué)習(xí)編程的朋友們,不要去太過追求和寫代碼相關(guān)的能力,抱著本MFC手冊(cè)當(dāng)寶典了,而是應(yīng)該耐心下來關(guān)注最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)和算法,把他們搞透玩熟。 這是基礎(chǔ)中的基礎(chǔ),核心中的核心;沒有這些,以后的會(huì)很難得到提高。而且這些基礎(chǔ)可能在以后的十幾二十年里面,你都不會(huì)再會(huì)有時(shí)間和精力去重新扎扎實(shí)實(shí)學(xué) 一遍了。
此外,我還想補(bǔ)充一點(diǎn)。是不是這么說軟件工程就沒必要去學(xué)了? 軟件工程是計(jì)算機(jī)科學(xué)中比較偏向工程方面的一個(gè)比較新的分支,對(duì)于開發(fā)而言也是至關(guān)重要。因此這個(gè)肯定是要學(xué),而且要學(xué)好,此外在工程上,程序框架,類庫 的掌握,都是必須的知識(shí)。 但是掌握這些知識(shí)只能讓人成為一個(gè)合格或者出色的工匠, 但是永遠(yuǎn)成為不了一個(gè)有創(chuàng)造力的大師。這個(gè)社會(huì)上,工匠成千上萬,多你一個(gè)不多,缺你一個(gè)不少;但是大師卻是寥寥無幾。在計(jì)算機(jī)行業(yè),更是如此。
軟件行業(yè),就其功能而言就是一個(gè)工具行當(dāng),和會(huì)開車的司機(jī),會(huì)開機(jī)器的工人沒有什么區(qū)別。因此僅僅作為工具的操作者, 一個(gè)程序員是不值錢的,因?yàn)樗皇且粋€(gè)更為高級(jí)的工具。一個(gè)有身價(jià)的程序員他之所以值錢,是在于他的創(chuàng)造力。程序員的創(chuàng)造力并不在于會(huì)畫個(gè)界面,會(huì)用開發(fā) 環(huán)境什么;而在于他對(duì)計(jì)算機(jī)這個(gè)行當(dāng)?shù)母镜恼莆铡?計(jì)算機(jī)是應(yīng)用數(shù)學(xué)和電子工程上派生出來的一個(gè)果子。因此程序員的核心競爭力在對(duì)數(shù)學(xué)和硬件知識(shí)的掌握。因此這個(gè)世界上只有兩種程序員永遠(yuǎn)不會(huì)待業(yè),那就是 算法高手和硬件高手。 但是對(duì)于軟件專業(yè)出身的程序員來說, 算法是最核心的競爭力。我和很多程序員相處過,交流過。他們中的大多數(shù)都有對(duì)失業(yè)的擔(dān)心,即便是已經(jīng)在大公司從業(yè)了很多年的程序員: 軟件技術(shù)發(fā)展日新月異,沒人能永遠(yuǎn)跟住技術(shù)發(fā)展的腳步,總有會(huì)被淘汰的時(shí)候。 但是那些著眼于算法的程序員大多沒有這種憂慮,年齡的增長只能讓他們更加有經(jīng)驗(yàn),變得更吃香。我認(rèn)識(shí)的一個(gè)做圖像處理的朋友,寫出來的程序一點(diǎn)可讀性都沒 有,而且很不規(guī)范,動(dòng)不動(dòng)就crash了。但是老板無論換誰,都不會(huì)換他,因?yàn)樗乃惴ㄐ阅芨?#xff0c;能實(shí)現(xiàn)別人不能實(shí)現(xiàn)的圖像檢測能力。而那些幫他改程序,寫 注釋的“職業(yè)”程序員, 盡管寫出來的程序正規(guī)工整,但是工資漲不了多少,而且還得擔(dān)心哪天就開路了。 相比之下, 可見一斑。
因此,學(xué)習(xí)編程的朋友們,不要去太過追求和寫代碼相關(guān)的能力,抱著本MFC手冊(cè)當(dāng)寶典了,而是應(yīng)該耐心下來關(guān)注最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)和算法,把他們搞透玩熟。 這是基礎(chǔ)中的基礎(chǔ),核心中的核心;沒有這些,以后的會(huì)很難得到提高。而且這些基礎(chǔ)可能在以后的十幾二十年里面,你都不會(huì)再會(huì)有時(shí)間和精力去重新扎扎實(shí)實(shí)學(xué) 一遍了。
此外,我還想補(bǔ)充一點(diǎn)。是不是這么說軟件工程就沒必要去學(xué)了? 軟件工程是計(jì)算機(jī)科學(xué)中比較偏向工程方面的一個(gè)比較新的分支,對(duì)于開發(fā)而言也是至關(guān)重要。因此這個(gè)肯定是要學(xué),而且要學(xué)好,此外在工程上,程序框架,類庫 的掌握,都是必須的知識(shí)。 但是掌握這些知識(shí)只能讓人成為一個(gè)合格或者出色的工匠, 但是永遠(yuǎn)成為不了一個(gè)有創(chuàng)造力的大師。這個(gè)社會(huì)上,工匠成千上萬,多你一個(gè)不多,缺你一個(gè)不少;但是大師卻是寥寥無幾。在計(jì)算機(jī)行業(yè),更是如此。
轉(zhuǎn)載于:https://blog.51cto.com/nathanxu/110075
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的编程学习初体验(4. 编程的核心)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MSSQL2000 数据库文件迁移到 M
- 下一篇: 开启文件高级共享功能