我是一个有多年 c 开发经验并且也懂 c++ 的人,对 ruby 完全陌生,也不懂 python,我想通过一本书尽快理解 ruby,并且上手 ruby 开发。我学习的目标是能做互联网公司或外包公司的 RoR 开发,望各位赐教。
附加说明:因为我毫无基础,所以想先学好 ruby 再学 rails,所以请前辈们 ruby、rails 各推荐一本书吧。
同 #1 楼, 该书的附录中有 ruby 速成。嫌不够可以看一遍 http://ruby.on-page.net/ 从 C 的角度看 ruby: http://rubydoc.info/stdlib/core/file/README.EXT
楼主说白了,是 Web 开发的小白。上培训班快速学习一下,这个来的快。 http://www.gotealeaf.com/ 花个几个月,绝对可以找到心仪的位置。
http://book.douban.com/subject/10511550/
这本书楼主要的都有了,edx 有相应的教程,搜索 cs169。
不足的地方是 javaScript 讲的很少(js 才是大技能。。。)。 再就是这本书更注重的是传授一种方法,以及尽可能让你理解最重要的东西(比如测试只讲了 mock,stub 之类的,rspec 中的 it 都直接被作者跳过了,作者觉得这个可以自己学吧?)
优点是全、精、简。 全,敏捷开发,BDD,TDD,Git, js,团队合作,重构,设计模式,优化都有讲。 感觉敏捷开发需要有个全貌,要不然很多东西连不起来,比如为什么要选择敏捷?为什么随后要跟着 BDD 和 TDD。 精简,这本书解释 js 是面向对象语言,就用了两句话,js 有对象这种机制。但没有继承,继承跟面向对象没关系,是大家使用 java 产生的误解。有一篇 blog 为了解释这个问题说了上千字。 讲 ruby 的时候,直接从三个大特点切入,一切都是对象,一切都是方法,一切都是元编程。比如数据库的查询,只告诉了你一个 where,剩下的自己查文档。 讲 ruby,常用的 methods 都列出来了,够用了,在不想把 ruby 写得很魔幻的前提下。
其实没有必要按照理论套路来走,直接在 ruby-china 上二次元开发就可以了。我就是这么干的,先把 ruby-china 跑起来,然后再找一个不爽的功能改,不知不觉就会了 (我一周内就会了,细节要实践慢慢打磨,我先前有 IM C 开发,游戏 C++/lua python 开发经验,现在还在游戏 C++/lua 开发,业余弄下 ruby-china 开发,android java 开发,只是业余)
谢谢大家的建议,我决定从松本的《Ruby 编程语言》开始上手。我也曾经直接跟着 rails guide 来实践过,不过困于有些语法都不认识,挺受挫的,所以决定从源头开始入手了。学了 Ruby 以后也可以用它写一些小工具方便自己。 楼上有同学提了在线学习和看英文书的建议,这是否意味着要在 web 开发有所进步,英文水平要达到可以顺利阅读英文书的水平才行?
同在学习中,我觉得怎么也得熟悉下语言,语法这些基本得东西。然后找官网得例子。Agile Web Development with Rails 这个我就没坚持住。
同会写 c/cpp,看过 ruby programming,感觉语言、语法没什么问题。 大概看过一遍 Agile Web Development with Rails,里面讲的基本能理解。 跟着 ruby on rails 教程敲代码到第 7 章(第一次敲到第 6 章...),不明白的太多,敲不下去了。 感觉难点在于各种命名约定、依赖库太多,头太晕了。