On Sunday, January 09, 2011 01:37:19 pm Jose Hales-Garcia wrote:
On Jan 9, 2011, at 4:00 AM, Mike S. [email protected] wrote:
I really question whether people should assume they
can download Rails, switch on the ignition and just drive off.
I don’t know how Rails has gotten the “it’s easy” reputation.
I think it’s partly because of all the generators, and partly because it
really is easy, considering some of the competition. Yes, there are a
lot of
moving parts, but that’s really just the nature of the beast for web
apps. If
you understand them at all, you’re building actual web apps faster than
it
would take me to install and configure a database on some other systems
I’ve
tried.
I don’t know whether Rails is a good platform to learn on, though I do
think
anyone learning Rails also needs to put a significant amount of effort
into
learning Ruby itself, outside of a Rails context. That’s on top of
understanding how to talk to your datastore directly (SQL for most
people) and
how it thinks (relational DBs for most people), all the frontend stuff
(HTML,
CSS, JavaScript), and all the communication stuff (DNS, TCP/IP, and
especially
HTTP).
It’s possible to do interesting things in Rails before you understand
that
stuff. Still, the difference between Hello World and an actual app, and
the
difference between a few minutes of debugging and an impossible problem,
is
that background. Do you know how to grab the HTTP headers out of your
Rails
app, and what they mean? Can you play with your app using curl from the
commandline? If you don’t understand these things, there are certain
problems
which will be much more difficult to solve, no matter how easy Rails (or
anythng else) gets.
In other words:
“the abstractions save us time working, but they don’t save us time
learning.”
I think that’s what I feel about Rails. I don’t know if it’s a good
beginner
language. Regardless, it’s to save you time working, not to save you
time
learning – although if it happens to be easier to learn than other
platforms,
that would be cool, too.