Live data from Hacker News

Magic sucks, Django Rocks

christopherroach.com

1–10 of 40 posts

Re: Magic sucks, Django Rocks

#2
"I can’t seem to get anything done in Rails because before I can work with it I have to understand it."

That's about how I feel now. I'm a relative newbie to Ruby and really like the language, even while aware of its warts and headaches as recent posts here illustrate.

I'm trying out Rails so that I understand it better from my own experience, rather than relying on other opinions. It is really quick to get from point 0 to point 1, but then after that, I find I have to dig in to the various parts because my intuition does not lead me to how Rails works, so I have to first understand the "Rails way" of a particular aspect, and then start digging into the source code to see how it works.

But one thing I'm really happy about with my experience learning Rails is getting a much better understanding of Representational State Transfer (REST). I ran into some roadblocks in figuring out routes, which led me to realize I didn't understand REST well enough, so I've been reading Roy Fielding's dissertation (focusing on the REST parts, but more I read, the more I'm inclined to consider it essential reading for web developers, or at least for me).

So I still want to get proficient at Rails and use it for my current web project, but I'm now more interested in trying out Django too, even if just for perspective.

Re: Magic sucks, Django Rocks

#4
really not a fan of these 'rails is like a ferrari, django is like an aston martin' type of similes, they mean nothing to me. the article itself is pretty light on content; not much here except a baitish title.

Re: Magic sucks, Django Rocks

#5
Whether I'm driving a Ferrari or an Aston Martin, I still have no idea what goes on under the hood. If you have to understand every aspect of every library you use to code you will never get anything done. Instead, learn enough to attack your core competencies and trust that the rest of it works as expected, since someone else has chosen that as their core competency.

Libraries and frameworks are all about not knowing how they work behind the scenes. That's kind of the point.

Re: Magic sucks, Django Rocks

#6
"it never takes long before I reach a point where I feel like I’m no longer programming in Ruby."

This echoes perfectly my feelings about Rails. I have tried, several times, to do something with it, but I always hit some magical wall or mythical creature that demands something from me I really don't know what it is.

If I have to define the main difference between Rails and Django is that Rails is a DSL for building websites on RDBMSs. Django is a web framework for building web sites with RDBMSs. Django stuff is Python. Rails stuff is almost, but not quite, entirely unlike Ruby.

Re: Magic sucks, Django Rocks

#7
The idea that one must completely understand the implementation details of something they use before they use it seems silly to me. To be more specific, it seems to destroy the primary benefit of abstractions.

I wonder if this person knows the implementation details of the language he uses? Or the RDBMS he uses? What about the OS he uses? Text editor?

Re: Magic sucks, Django Rocks

#8
post #2

"I can’t seem to get anything done in Rails because before I can work with it I have to understand it." That's about how I feel now. I'm a relative newbie to Ruby and really like the language, even while aware of its warts and headaches as recent posts here illustrate. I'm trying out Rails so that I understand it better from my own experience, rather than relying on other opinions. It is really quick to get from poin…

My 4th year anniversary of using Rails is coming up. I have to say I remember those days of hitting the wall with Rails, where the learning curve goes vertical as you dig deep into the source to debug some extremely esoteric name collision or some other bug that should have had a warning.

In retrospect, it was a wall worth scaling. I have no fear of Rails meta-programming bugs, and I've developed strategies for dealing with the thorny issues that pop up every few months. All in all the FUD from the Java advocates has proven to be unfounded (the FUD from Haskell camp, not so much). The effort saved by eliminating reams of boilerplate and heavy IDEs is well worth a few less-obvious exceptions.

As Rails has matured I think the core team has exercised restraint, and the magic situation, while an integral part of the "Rails Way" is at least not getting too much worse. Plus work on Rails 3.0 is bringing real improvement to plugin-compatibility and modularity issues. That said, I'm glad I got in on Rails early and I'm looking forward to the next big thing already. When Rails came out it refreshingly plucked the best of 10 years of web development. Over time, as with all technologies it is getting bloated and ultimately will gain complexity as the developer base gains experience and needs to solve a greater and greater set of problems. Eventually someone will come along and distill all that experience into a much-simpler new framework (maybe ajax-based? maybe continuations-based ala Seaside?) that dumps the cruft of the current "best practices."

Re: Magic sucks, Django Rocks

#9
How did this completely content-free post get so many votes so quickly? Really, the world could do with a few thousand fewer blog posts and comments about how someone decided to learn web development and chose a python framework (usually django) over "Rails" (apparently unaware of the other awesome ruby web frameworks, or even frameworks in other languages) for reasons they can't articulate.

Re: Magic sucks, Django Rocks

#10
The Obie Fernandez book, "The Rails Way", helps make the magic make more sense. Unlike most Rails books, which are intro-level and full of the sort of marketing crap that makes Rails infamous, this one actually explains their design decisions in a sensible manner.

Unfortunately it seems the author has a crazy annoying blog like other Rails people. Oh well, at least he wrote a good book.

Post reply on HN