首先我並不是乙個專業的程式設計師,我是乙個純粹的學習者,我最喜歡的程式語言是python。這是我的第一篇博文,我對markdown還不熟悉。這是乙個經驗分享,但是對他人有沒有幫助我也不太清楚,不過我清楚應該不會有特別多的人能看到。
初學程式設計,我最大最大的煩惱是我根本沒有辦法了解程式設計的全貌,我只能一知半解地使用它做一些最基礎的事情,比如列印一段字串,做簡單的計算和儲存,進一步可能就是能做樸素的檔案操作。這讓我非常痛苦,我想要知道這些語句在執行的時候到底發生了什麼,我想要知道程式語言是怎麼控制計算機,我想要知道程式語言到底能做到什麼樣的程度的事情。然後我就去翻函式手冊,完全看不懂!!函式手冊的語法簡直是換了個語言一樣,沒辦法,只能去官方文件把程式語言的基礎全部過一遍,弄明白各種語法和標記的意義。當我自認為這下該差不多了吧。結果,哼,每個函式都有一堆引數,位置引數,預設引數,可變長引數,一堆!!而且各種預先設定的變數,函式手冊倒是想怎麼用就怎麼用,而我呢,我根本看不懂,更別說記住了!!然後呵呵,更絕望的來了,每一門程式語言都有一大堆函式庫。有的時候即使是相似的功能需求也有可能有多個庫,並且有多個版本供你參考。我直接倒下了,這學個卵子呀,此時我距離程式語言的背後發生了什麼簡直就是十萬八千里。
我終於醒悟了,掌握一門程式語言,不是像掌握大學數學一樣把各種公式弄清楚學會應用就行了。數學是建立在邏輯上的高樓大廈,你可以從地基開始摸透每塊磚。而程式語言是乙個精巧的工具箱,它有各種配件,並且可以組合出各種強大的**。然後我的學習節奏就轉變了。我不再強求自己去記住什麼,而是完全依賴於外在的知識倉庫。學習任何乙個函式庫,我會在專案裡建立乙個記錄函式庫學習的檔案,比如說python的os模組,我會建立test_os.py,通常我不會直接去看官方文件,因為太長了,我會搜尋出四五篇博文,這些博文會對模組的使用做一些簡要介紹和總結,通常是很不全面的,不過很多時候也足夠了。跟著敲**(如果不理解一定要敲),然後寫注釋,一定要寫各種使用的注釋,然後把網頁書籤儲存好。這個過程相當於對這個模組的功能有了基礎的認識,再往後遇到需要用到這個模組的時候只需要複習儲存的注釋筆記和網頁書籤就行了。最關鍵的地方在於,我不需要記住全部,我只需要知道知識在**就行了,恩,這就跟函式傳引數不整體複製,只把位址或者引用傳過去就行了,然後這些儲存的知識成為了我的大腦的外接儲存器。大部分ide能夠直接檢視函式說明,這也是非常大的助力。
再然後就是看專案檔案了,各種小型專案能幫助各種庫入門,這個時候其實也挺難熬的,因為即使是小型專案也有若干個完全陌生的庫。要了解庫在專案中的作用是個無聊的過程。在瀏覽網頁的時候,我習慣把書籤整理成幾個資料夾《稍後閱讀》《已讀》《官方文件》《工具**》,稍後閱讀裡的書籤數就沒有減少過(哭),現在四五十個不知道什麼時候能看完,而且關鍵還是很多看不懂,一部分是完全不清楚需要什麼知識基礎才能理解吸收的,一部分是純英文文件。說到英文,我覺得每乙個學程式設計的都至少要習慣看英文。有一些翻譯軟體能簡單的幫助我們閱讀英文網頁。我現在用的是有道詞典,只需要把滑鼠放到英文單詞上就可以跳出個小窗顯示單詞翻譯也可以聽發音,就是有的時候會出bug。看專案檔案就更加清楚語言只是工具,然後開始看電腦科學的方方面面,沒錯又是一大堆,先跳過吧。關於到了計算機的靈魂,演算法。這是超過我能力的話題。我有個口頭禪「遇事不決,先做道題」,但是做題所能夠熟練的也只是基礎的演算法,更加複雜的演算法即使是理解也變得困難。無論是什麼演算法都一樣要用自己的手去實現看看,但是很可惜有的時候根本沒辦法清楚實現後發生了什麼(比如資料探勘與機器學習相關)。
無論是學什麼,網上的資料都是雜亂無序的,我有乙個理想是能夠建立每一篇博文的知識序列,能夠清晰的識別吸收一篇博文所需要的知識背景,在每乙個領域依照某個順序去學習,就能夠最大程度的減少學習者的迷茫。
最後,作為乙個普通人,我覺得學習是一件開心的事情,我希望我能夠有一天能真的清楚某乙個領域到底發生了什麼。
2023年1月8日23:46:38
2改2023年3月18日16:32:04
總是對知識的理解感到困難呀
C 程式設計經驗分享
程式的時間效率是指執行速度,空間效率是指程式占用記憶體或者外存的狀況。全域性效率是指站在整個系統的角度上考慮的效率,區域性效率是指站在模組或函式角度上考慮的效率。規則1 不要一味地追求程式的效率,應當在滿足正確性 可靠性 健壯性 可讀性等質量因素的前提下,設法提高程式的效率。規則2 以提高程式的全域...
C 程式設計經驗分享
1.不要在建構函式中做初始化操作 要求類 尤其是對外介面類 提供init 函式,在該函式中進行相關初始化操作,初始化失敗能夠返回錯誤碼。可以規避問題 建構函式中難以返回錯誤碼,外部呼叫者無從判斷初始化結果。當該類作為全域性變數使用時,構造函式呼叫發生在main 函式執行之前,出現問題難以追蹤。2.所...
PLC程式設計經驗分享
弄通有關plc程式設計理論是重要的。沒有這方面的理論準備或指導,僅靠在實踐中摸索,簡單的問題還好辦。複雜的就不好辦了。不僅無從下手,而且花了很多時間與精力,也難編出效率較高 質量也較高的程式,常常是事倍功半。但是,程式設計的具體實踐,以及在這個實踐中得來的知識或技能,即經驗,也是重要的。沒有經驗,僅...