作者giive (lala)
看板Ruby
标题[心得] 学习 Programming 的历程
时间Fri Sep 15 15:10:30 2006
这位作者提出他的学习 Programming 的历程
http://tech.rufy.com/2006/09/how-to-learn-to-program-from-php-to.html
他说到他的学习过程是
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 不一样的概念。
--
lighty RoR 是一个介绍 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.111.70
※ 编辑: giive 来自: 61.230.111.70 (09/15 15:13)
※ 编辑: giive 来自: 61.230.111.70 (09/15 15:20)
※ 编辑: giive 来自: 61.230.111.70 (09/15 15:22)