很久沒有寫筆記了,有幾次想寫點什麼,可是提起筆來,又不知該給誰寫,寫點什麼,大本營裡的人越來越多,加我好友的越來越多,可是真正研究過我筆記的卻沒有幾個,來這裡的朋友大多數還是想學點東西,或是對軟體開發有興趣的,不過也有一些是來消遣娛樂的,如果是,就請繞開吧。
關於計算機語言的學習,在我過去的一些筆記裡已經談到過不少,但不是很系統,在這裡再說一說,希望能給想要學習的朋友一點啟發。
首先要說的是語言的學習,我的一片筆記"程式語言究竟學什麼?",曾經說過,語言最根本的是語法,程式設計=語法+演算法,有了演算法,才能編出程式來,演算法一定要學,但演算法不屬於一種特定語言,語法其實非常好學,計算機語言的語法是很有規律的,計算機語言是以計算機為載體的語言,它主要是對記憶體單元進行分配,賦值,傳送,如果你把語句能理解到對記憶體單元的處理,基本上就沒有問題了,另外還有計算和跳轉,計算是cpu的強項,沒什麼難的,跳轉也很簡單,改變了指令的執行順序,迴圈和分支語句都是靠跳轉實現的,大家可以看一下我的c語言教程,關於語法部分都是用儲存空間來講述的。1,2,3,其他任何一種語言都可以按這種方法去理解和學習,在掌握了一些基本演算法之後,應該就可以隨心所欲編寫**了。
接下來要強調一件事情,就是函式,我覺的這是學習程式語言最重要的乙個東西了,函式是任何程式語言的最基本構件,也是**的棲息地,我有過一篇筆記「語言學習的誤區」,裡面提到過關於函式的問題,現有的教材,尤其是c語言教材,在這一點上對大家有乙個誤導,過分強調了輸入輸出,輸入輸出其實只是函式庫的乙個小部分,不屬於語言的範疇,函式是用來封裝乙個演算法,或實現特定功能,每乙個函式的功能並不複雜,但通過函式之間的呼叫,可以完成乙個龐大複雜的程式.還有乙個最重要的東西,就是復用,我在編寫**的基本原則中/強調過,是程式設計技術的重中之重,而函式是復用**最常用而且是最基本的手段。關於c語言函式的講義,我將在近期整理後發出。如果函式掌握的非常好,去看windows api庫,c runtime庫時就會覺的很容易,即使遇到新出現的類庫,也很容易上手。順便說說物件導向,物件導向主要目的還是復用,同時增加了**的安全性和可讀性,本質上就是編寫**的方式,各種語言也都差距不大,思想並不複雜,學習起來並不難,但函式(或稱為方法)仍然是構成類的最基本元素,也就是說物件導向程式設計也一樣是寫函式,函式沒學好,學物件導向一定不會順利。
然後再說說程式設計能力,有些同學覺的學完了一種語言,想寫個小東西,就是寫不出來,首先看你基礎是不是打好了,語法(包括函式的編寫和呼叫),演算法是不是真的沒問題了,自己檢查一下,是不是能把乙個演算法(自己想出來的或書上看的)用函式實現出來,並且能復用,如果沒有問題,說明你對這種語言已經沒有問題了,剩下的問題就簡單了,主要就是介面的問題,在你語言基礎打好之後,介面問題其實已經很簡單了,我們開始學習的時候一般用控制台,用類似printf和scanf做io,換到影象介面,可能改變是有點大,多找幾個例子看看,最好是從最簡單的到稍微複雜一點的例子,比你看書有用的多,比照著寫寫,很容易就會了,各種語言,平台,圖形介面的類庫相差很大,用到哪個學哪個就行了,不用著急學,關鍵是把語言基礎打好了,學什麼都很快。
再來說下資料庫,我也寫過一篇筆記「關於資料庫的學習答網友問
再談到計算機網路的學習
本文在creative commons許可證下發布 第一本就是andrew s.tanenbaum的 計算機網路 此書講明白了網路之道,即計算機網路通訊的主要原理 第二本是w.richard stevens的 tcp ip詳解卷一 協議 此書講明白了網路之術,即tcp ip協議簇的工作過程 第三本是...
應該如何學習計算機程式設計
1 內功 要學好。不要只是去學各種語言 工具,和一些三流公司招聘列出來的要求。要把資料結構 演算法 algorithms,not numerical analysis 資料庫 作業系統原理 計算機結構 離散數學等課程學好。如果你可以做出donald knuth的art of computer pro...
計算機的程式語言
參考 0.簡述 在計算機體系中,指令就是指揮計算機工作的指示和命令。不管是哪種計算機語言編寫的程式,在執行時最終都會轉化為計算機能識別的01二進位制指令序列。本文簡單講講計算機程式語言。下面一張圖是c語言 組合語言以及翻譯過的機器語言 1.機器語言 是用二進位制 表示的計算機能直接識別和執行的一種機...