
這幾天碰到段考,真囧
今天總算考完了,成績應該算還好,反正也還沒出來
我前幾天就想寫這篇了,雖然我也還是個新手阿!
會想寫這篇是因為前幾天我列了一個計劃表,裡面有很多我想學的,後來想到我以前剛學的時候,都再猶豫要學那一種程式語言,還去知識+發問,但是很多答案都是複製貼上的(Orz),所以我才想以自己的經驗來給一些想入門的一點建議。
---------------------------
首先,你必須對電腦要有一定的概念,而且知道什麼是「程式語言」 ,如果不知道的話,去維基百科或者隨便Google都會有。
一、程式語言的選擇,我該學那一種?
這是新手在入門的時候,會碰到的第一個問題,像我當初就是為了這個問題,找資料找了很久,最後覺得C++太難,所以去學VB。
我個人認為,一個語言在一個地方受不受歡迎、多不多人用,是取決於他的「資源」,所謂資源就是指書籍、網站之類的,而且書籍也要翻譯成那個國家的語言。
像是C++、VB,這兩個程式語言在台灣很多人用,去書店逛一遭,會發現會有很多這兩種語言的書,這就是所謂的資源,而且這兩個語言的資源很多。
反之,例如REBOL,你搞不好連聽都沒聽過,不是說他不好,而是他在台灣沒有什麼資源可以學習他, 我也是前幾個月才從蔡學鏞的Blog知道有這個語言,本來也想學習,但是對我來說資源太少(英文阿~)。
所以,如果你英文很好的話,想學什麼就學什麼,不必擔心資源的問題,因為很多都是資源夠,但是不是中文的,所以理解上會有困難。
我在這裡介紹兩個我有學過的語言(沒學過的我也沒能力介紹),並且加上一些介紹:
VB(Visual Basic), 我一開始就是學這個,目前微軟已經推出VB 2008,我覺得用VB寫程式非常容易,我以前都認為寫程式很難,根本就摸不著碰不到,但是當我第一次買書學習的時候,覺得並沒有那麼困難,就比如說這一行程式碼:Msgbox(”你好”),執行後螢幕會跳出一個提示視窗,上面寫著:你好,你看,就那個一行程式碼而已,簡單易懂;但是,有很多人都說VB只是個「玩具」,很多大型程式用VB來寫都太吃力了,而且VB的速度不夠快,但如果你肯用心,你有可以把玩具玩的很厲害,成為玩具之王。
C/C++,這兩種語言基本上只是一些語法的差異,差別不大,只是C能夠操控比較低階的東西,在C++裡也可以使用C的語法,所以學一個,另外一個就很容易學起來了,我一開始選擇VB不選擇C++的原因是--太難了!,對當時的我來說的確太困難了,而且一大堆分號(;)跟大括號({)會把我搞混,就像這幾行程式碼:
For(int i=1;i++;i<=10){
Printf(”hi”) ; //(老實說這行我忘記在c++裡是不是這樣寫)
}
你自己說說看,是不是看起來語法就很複雜!至少對我來說是這樣,反觀VB,就簡單多了。
For i = 1 to 10
Print(”hi”)
Next
不過C++的能力也比VB強,有一句話是這樣說的:
「VB能做到的,C++就能;C++能做到的,VB不一定能」
我是先學VB後來再轉C++,因為我有先學過VB,所以後來就覺得C++沒有當初那麼難了。
還有,我個人覺得用VB寫一些生活中會用到的程式比C++好寫,VB的V(Visual)就是代表視覺化,所以VB在介面的部份做的不錯,就是拖拖拉拉就有一個簡單的程式了,Visual C++好像也是這樣。
要選哪個語言,就見仁見智了,我個人是推薦如果覺得C++太難,那就學VB吧!
另外,還有一種叫Java,但是我沒學過,所以不能介紹阿。
二、我該從何開始?
買書。
我一開始學的時候就是買書,現在電腦書很多,多聽聽網路上其他人的意見再去買書會比較好。
可能有人會說:網路上就有教學阿!
但是我覺得網路上的教學都有點太「淺」,也就是沒有交很多,只交一些皮毛,書的內容則是比網頁詳盡多了。
當你把基本功學好之後(也就是書看完),那麼你可以去看網路上的教學了,網路上有很多教學都是針對某一種程式,例如說網路連線、病毒防護,像那種的書可能就不大會交,這個時候就要靠網路上的資源了。
三、我想進步
當你把基本都學好之後,大概就可以開始寫你的第一個程式了,
「第一個程式?我不是在看書練習的時候就已經寫了嗎,我還記得那是Hello World」
你以為那個就算是嗎?對啦,其實就是,但是那個應該算是「小程式」,而且是很小很小的那種,你可以考慮寫個記事本啦,諸如此類的小程式,寫出來之後一定成就感大增,而且功力也會進步,這大概就是進步的第一步,你也可以考慮寫更多的小程式。
四、我想更進步
繼續寫程式吧!
但是,你得用不同的程式語言。
如果你已經可以用某種程式語言寫出比較大型的程式,或是你厭倦了待在這個程式語言的世界裡,你可以考慮換個語言試試看,但是不代表你可以放棄你現在學的,要溫故知新。
雖然學很多語言不一定是件好事,但是有時候多方學習是有益的,但是也不要學太多的東西,會塞不下,會搞混。
你可以每種語言都摸一點,學一點,然後都學過之後,再來考慮你想精通哪個語言,絕對不可以都只學皮毛,你要有兩三項是精通的,這樣才有達到進步的目的。
五、我卡關了,怎麼辦?
阿~這種情形我碰過了,問我就對了。
有時候你可能看到某一行程式碼或某一段,會覺得好難懂,而且一直看不懂
像我之前就是迴圈的部分看不懂,卡了兩三天
最後我覺得暫時放下那個部份,往後面看,於是就這樣自然而然的過了一年,這一年間我有時候無聊就會去看一下討論區的文章,或者是教學網站的文章,也就是這樣讓我的功力大增,原本覺得艱難的部分都迎刃而解。
有時候多看一些程式碼也可以增加功力。
---------------------
基本上應該就是這幾點,有其他想到的我再補充吧。
希望能夠幫助到新手。