搜尋此網誌

2011年8月10日 星期三

學習程式設計

沒學過程式設計的新手,我建議要從Java開始學起,因為如果一

開始就學c or c++的話,會被指標和動態記憶體配置嚇到,然後

產生了程式設計好難學的想法,因為指標和動態記憶體配置這

兩個比較抽象偏難的主題,指標在Java已不存在(除非要使用

JNI,這又是另一個話題了),動態記憶體方面,JVM已經幫你做

好了,你只要專注在邏輯實現即可.另一方面,寫程式難免要用

到資料結構,這又是另一個會讓初學程式設計的人會產生恐懼

的主題,而Java已經幫你實現了許多常用到的資料結構,諸如

List , Set, Map.Queue ....等. 在實際應用方面,在104以Java為

關鍵字去尋找工作項目,有很多選擇.這會讓人有動力,不會覺

得學了程式語言,我以後能幹嘛的困惑.另一個實用面在

Android上面,因為現在Android的使用者介面是用Java寫的,

如果專注在這個領域,也很有發展潛力.以上是個人接觸程

式語言到目前為止的心得分享

c++ 優點

最近發現c++真是好物,不輸c的efficient以及直接和​hard ware溝通的便利性,又有物件導向的功能,我用一模一樣的程式​架構去解同一題acm的題目,Java要花0.227秒,c++​只要0.15秒左右就好了,

C++ STL List

list也可以當成stack來使用,因為他的輸出值也是先進後出的一種structure,我的例子是使用了list 內建的sort algorithm,使他照數字由小到大,排列輸出.

i.e.

C++ STL queue

Queue是先進先出的結構,和Stack,先進後出的結構不同,這兩個是很實用的資料結構!

i.e: