9/15/2006

學習 Programming 的歷程

這位作者提出他的學習 Programming 的歷程
他說到他的學習過程是
PHP -> OO PHP -> Ruby -> OCaml -> Lisp
每個歷程約為各一年
我覺得好像不是特別好的建議
PHP是個好開始,因為你不需要 Handle Type 的問題
可以直接學習程式流程
但是學習PHP 需要架設 Server 的概念
實在有點麻煩
而且學習OO ,用PHP去學就很奇怪了
PHP 不是一個培育 OO 的好教室呀~~~
PHP也不用學習兩年呀@@!半年就差不多了
題外話:OCaml 是啥語言呀? 有人知道嗎

ㄜ,我是個人的學習歷程是
C -> JAVA -> Perl -> PHP(SQL) -> Javascript(AJAX) -> Ruby
最近想要回去溫習 C ,以後有機會去碰碰 LISP

  • C 花了半年,學習了許多程式設計的最基本觀念,但是其他記憶體操作,指標的部份我早就忘光了。
  • JAVA 學了最久,三年多。學會了基本的 OO 概念。但是 JAVA 的書籍實在太多也太複雜,我實在掌握不住 JAVA OO的精髓。直到有一天,我跟別人要一份JAVA code ,花了一個下午看懂後,突然發現我的 OO 概念長了一倍。
  • Perl 學了半年,因為我當時為了交一份將 C code 轉換成 machine code 的作業才學的。因為這份作業牽涉到極為複雜的字串剖析跟代換,那半年的學習,讓我相當紮實的學會了 regular expression ,也可能是我學到最有用的東西之一。一直到我碰到 Ruby 之前,Perl 一直在我心目中一直是第一名的language,也是我的工具箱裡最萬能的瑞士刀。
  • PHP 是接案子才學的,有Perl 跟 C 的基礎的我,學習 PHP 一點難度都沒有(PHP是改自Perl)。唯一有難度的地方在於 HTTP 的 coding 需要很多特殊的技巧(GET,POST,Session ,Cookie),所以學習 PHP 可以順便學習紮實的 WEB Progarmming 概念。在我心目中,PHP是Web Programming裡面的C,是最基礎的語言。
  • JAVAScript 是為了學習 AJAX 才開始真正摸的。學習的過程發現他很有趣,很棒,但是很難 Debug ,Browser 又一堆 Bug。其實不是一個很好的學習環境。
  • Ruby 是為了 Ruby on Rails 才學的。但是開始學的第三天,我就開始把所有的 Perl code 轉成 Ruby 了。Ruby 兼具我喜歡 Perl 的所有特點(Regular Expression強大,語法多變,效率高),又擁有所有我希望 Perl 擁有的特色(語法清楚,物件導向明確,好學好記,下一次看到 code 還知道我之前在寫啥)

如果要我給予建議,一個從零到有的網頁程式設計師
我建議是這樣的路
HTML (CSS) -> Javascript -> PHP -> SQL -> AJAX -> Ruby -> Ruby on Rails
  • HTML 不是程式語言,但是他是網頁設計師必修
  • Javascript 當作第二個的原因是因為他好學,Dynamic typing 的元素也方便初學者使用,並且他不需要架設任何的 Server 的相關知識,所以上手比 PHP 更容易
  • PHP 可以學到許多網頁設計的基本概念,並且資源眾多,相當容易上手
  • SQL 要學的原因是因為有時候牽涉到資料庫運作時,有時候一句 SQL 抵的過 30 行 PHP code 。
  • AJAX 要學的原因是因為不學就找不到 網頁設計的飯碗,並且他代表一種開發新流程。
  • Ruby 跟 Ruby on Rails 要學的原因是因為在我心目中,他是目前第一名的網頁開發框架。並且你在學習 Ruby 的過程中,你可以學到太多跟 PHP 不一樣的概念。


1 則留言:

Lin Jen-Shin (godfat) 提到...

不知道現在講這個會不會太奇怪 :p
OCaml 是 Objective-Caml,
Caml 是 ML 的變種,OCaml 就是
Caml + OO 囉,就像 Objective-C 一樣

是個相當混種的語言,現在算還滿成熟的
執行效能相當不錯,是可以拿來幹正事的語言

p.s. ML 變種很多,OCaml 可能是名氣最大的