我对Ruby一无所知,但对PHP了解很多。
当你在编写RoR代码时...如果你是初学者,你是否真正理解表面下正在发生的事情?你必须理解它吗?还是只要知道足够快速构建东西就足够了?
寻找那些已经完成过这种转换的人的经验。
我对Ruby一无所知,但对PHP了解很多。
当你在编写RoR代码时...如果你是初学者,你是否真正理解表面下正在发生的事情?你必须理解它吗?还是只要知道足够快速构建东西就足够了?
寻找那些已经完成过这种转换的人的经验。
我认为,从C#到Ruby on Rails再到C#,最大的区别在于你可以仅凭Rails的“意见”来完成简单的应用程序,而无需知道其中的细节。但是,一旦你需要处理不同于常规的基本CRUD任务或以不同的方式实现CRUD任务,你就会遇到障碍。这时,你需要更多地了解Ruby本身才能弄清楚Rails到底在做什么。
我能给出的最好建议是,每种语言/框架/开发环境只提供了操纵机器/网络方面的一种方法。错误的想法是认为这是唯一的方法。如果你以“这与PHP有什么关系”的心态来学习Ruby,那么你会发现在许多情况下,就在表面之下,二者并没有多大关联。
一个具体的例子是:
然而,如果你问:
因此,在Ruby和Rails框架中具有如此强大的功能,你应该花时间学习基础知识。是的,你可以用非常有限的知识做出像rails这样的奇迹。想象一下,如果你掌握了几年扎实的Ruby知识,你将会做出什么样的成就。
Peter Norvig写了一篇非常好的论文,名为在十年内教自己编程。我建议你去看看。
我建议您也可以购买一本《Ruby编程语言》。对我而言,它就像是Ruby的php.net。
如果你选择阅读《使用Rails进行敏捷Web开发》,那么就没问题了 - http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition
Ruby 可能有些困难,但用 Rails 写 Ruby 很容易!这种语言自然而然,读起来非常舒适。在我看来,部署 Rails 应用是个挑战。如果你精通 PHP,特别是有像《Rails for PHP Developers》这样的书籍指导,你将毫无问题。
按顺序回答这些问题 -
现在我对框架内部发生的事情有了相当多的理解 - 当我开始使用Rails时,这并不是真实的情况(尽管我之前一直在涉猎Ruby几年)
你不必理解Rails,但真正理解MVC(模型-视图-控制器)模式会非常有帮助。你可以很快地走得很远,但像大多数事情一样,要生产出真正高质量的东西需要付出艰苦的努力。
在语言哲学上,Ruby和PHP之间存在重大差异(依我之见)。Ruby的语法更加一致,但其强大的面向对象背景意味着需要克服一个非微不足道的学习曲线。我认为这是值得的,但你的看法可能不同,为什么不试驾一下呢?