Live data from Hacker News

Rails Is Not For Beginners

horsesaysinternet.com

31–40 of 79 posts

Re: Rails Is Not For Beginners

#31
post #30
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

Like you said, I get people to use Sinatra for a while before getting in to Rails. It gets them in to MVC style apps while keeping things simple. Definitely recommend it as a stepping stone to Rails.

I don't think you need to go from Sinatra to Rails - I actually started with Rails and like dhh said - before I knew it I was building real apps. Rails provided a great framework to get something up and running. It provides MVC and interacts with a database. After familiarising myself with Rails I started using Sinatra (which doesn't offer any MVC or support you get from Rails) and then ultimately started coding just in Ruby. I don't think there's any issue with the learning curve for Rails because it provides the support where you need it. I speak to new developers all the time who use Rails and get it almost instantly - releasing apps a week or two later.

Re: Rails Is Not For Beginners

#32
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community.

For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.

So, like apps "simple & feature rich" can get along together like "learnability & usability" can get along too. It just needs more work.

Re: Rails Is Not For Beginners

#33
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community. For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.…

Read closer. Never does he say usability and learnability are opposed, just that there are opposing cases and that he doesn't agree with optimizing for learnability first.

Re: Rails Is Not For Beginners

#34
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community. For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.…

The problem with cakephp is that every book written on this subject surpasses the quality of the framework itself. cakephp is easy to learn, but for me it's unusable in the long run. Easy stuff get's even easier, hard stuff get's harder. That's exactly what David meant. If you trade everything for learnability, it's not usable.

Re: Rails Is Not For Beginners

#35
Sinatra is cool. However, then I need to start thinking about how to integrate database connectivity (configure it, set up controllers, what not). I need to worry about XSS attacks, and a zillion other tiny details that go into a web app. So I often end up choosing Rails anyway, because they made a lot of choices for me already that I frankly don't care much about making myself.

Still, Sinatra is great for a lot of small web projects.

Re: Rails Is Not For Beginners

#36

Earlier quoted context omitted.

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community. For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.…

Read closer. Never does he say usability and learnability are opposed, just that there are opposing cases and that he doesn't agree with optimizing for learnability first .

But he's saying like you can only choose one from the two.

>There are plenty of cases where learnability and usability are in conflict

>That's where learnability and usability are again in conflict

But it is hard to work on both so you may need to work on usabilitiy first then work twice as hard for learnability.

Re: Rails Is Not For Beginners

#37
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community. For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.…

Can't comment on CakePHP, but I think jQuery is actually an example that favors DHH's view: It really simple to get started with, and there's tons of cools stuff you can accomplish. But try building a full web app along the lines of GMail or Google Docs with it and you'll quickly see that there's only so much you can do well with $(). In a simple website, jQuery can take care of all your JS needs. In a full fledged web application, it's mostly magic in the View.

Re: Rails Is Not For Beginners

#38
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

This might be a good success story from a non-developer who created MixTape.me http://lifehacker.com/5336113/how-to-build-a-web-application... using Rails

Re: Rails Is Not For Beginners

#39
There seems to be a silent disagreement on what the goal of a beginner is: Is it to become a better programmer or is it to get a working app with the minimal amount of work?

Sinatra seems to be better for the former, Rails is better for the latter.

I'm partial to thinking that the former goal is the more noble. But I'm also immensely proud to work in a field that allows anyone with little more than motivation and patience to apply the immense power of computing to whatever itch they need scratched.

One of my favourite consulting jobs of all times was when a friend of a friend asked me to come in: They knew just enough of a certain PHP CMS to build an online history textbook, which they'd then gone on to sell to, oh, well, every school in the country. The traffic was strangling them and only just knew enough that they knew they didn't have a clue what to do. A week and change later, upgraded hardware and the clumsy CMS search engine replace by Solr, they were flying.

If they'd started out with the equivalent of Sinatra (essentially plain PHP), I'm not sure they'd have launched at all.

Re: Rails Is Not For Beginners

#40
post #27

If you optimize a framework for beginners, you're optimizing for learnability. That's great for the first few days or even weeks of learning. But once you're past that, it's not so great. What you care more about is the usability of the thing once you know it. There are plenty of cases where learnability and usability are in conflict. Letting learnability win is a short-term relief. If you on the other hand optimize…

I beg to disagree. Learnability and usability can get along together. Good examples are Jquery and Cakephp. Both have executed this very well from producing well written and well maintained documentation then add a good amount of plugins that is contributed by the community. For example, in cakephp we have this cook book http://book.cakephp.org which the quality of the content surpasses every cakephp book on amazon.…

I don't agree about JQuery. The learnability is good and it's really easy to get things done very fast. But when the code base grows it becomes really hard to maintain the code if you don't know JavaScript very well and know how to structure the code.

That's why many people have started to use CoffeeScript and/or Backbone.js to write more maintainable JavaScript. But the CoffeeScript/Backbone.js route is harder for beginners but in the long run it's a much better choice.

Post reply on HN