TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

This is why learning Rails is hard [graphic]

23 pointsby hijkalmost 13 years ago

7 comments

jdlshorealmost 13 years ago
It's a cute graph. But not really specific to Rails. Programming is hard... let's go shopping:<p>Starting at the top-right, and comparing to other professional web development languages, we have:<p>RUBY. Well, yes, you need to know a programming language in order to program. Ruby does some things well (closures!) and some things poorly (monkey patching!). Overall, it's no harder or easier than most OO programming languages. Price relative to Not-Rails: ¤0. Let's move on.<p>RUBY / GEM MANAGEMENT. Ruby is crap at versioning and isolation. So is nearly everyone else. (Ever heard of DLL Hell?) And at least gem downloads, installs, and handles dependencies for you. Overall, it's a bit better than average, but not great. Price: ¤0.<p>RAILS FRAMEWORK. You know, I've programmed a fair amount of Ruby, but I've never used Rails. Most of the stuff listed inside that section seems fairly typical to me. But let's take the article at its word and assume it's kind of hard. Price: ¤100.<p>GIT. You gotta use version control if you wanna be a real programmer someday. Git's a brain-bender, but you don't have to use it. Next! (Price: ¤0.)<p>TESTING. From what I've heard, Rails doesn't have the greatest support for good TDD. There's a lot of integration testing needed, which is slow, which necessitates asynchronous integration, which leads to automated build servers, which lead to people ignoring broken builds, which lead to bugs, which lead to pain, which leads to suffering, which leads to... &#60;gasps for breath&#62;... er, sorry, you pushed one of my buttons. Let's just say that testing could be better, although, in fairness, the other frameworks are probably worse. Still, in Rails you're actually expected to test. Good on them. Price: ¤1,000.<p>AGILE PROCESS. Hey, it's my favorite poorly-defined marketing term. But let's say you're using a rigorous approach to Agile... say, practicing Agile the way <i>I</i> think you should [1]. That does take some work. Incremental design, in particular, takes real practice. I don't think it's actually harder than any other rigorous software development approach, though. I mean, seriously, compare "face to face communication" with "requirements phase gate documentation and sign-offs." Yikes. Price: ¤0.<p>IDE/TEXT EDITOR. Really? REALLY? Any pain here is of your own making, Mr. vimacs. Price: ¤0.<p>COMMAND LINE. There was a day in which every real programmer knew how to use the command-line. I've been dismayed to discover professional programmers who can't, and instead use Visual Studio or Eclipse for everything. Shocking, I say. Kudos to Rails folk for bringing it back. Price: ¤200.<p>DEPLOYMENT. Meh. Someone's gotta do it. Doesn't always have to be you. I doubt Rails changes this. Price: ¤0.<p>SQL: Object-relational impedence is gORMless. (See what I did there?) Price: ¤0.<p>OPERATING SYSTEM: Umm. Really reaching on this one, aren't ya. Price: ¤0.<p>WWW: That shit be hard, man. Really fucking hard. I don't know half of it half as well as I should like; and I like less than half of it half as well as it deserves. Half of it doesn't even work half the time. And... that's not really a Rails thing, is it? Price: ¤0.<p>Final bill: ¤1,300: a bit harder than other web programming, but only because the Rails folks actually do testing, despite Rails not being great at it.<p>I'll let you decide what the exchange rate is.<p>PS: Yes, I know this rant is barely related to the point of the linked article, not nearly as funny as I wish it was, and really a giant waste of time on my part. Allow me my procrastination.<p>[1] <a href="http://jamesshore.com/Agile-Book/" rel="nofollow">http://jamesshore.com/Agile-Book/</a>
studiofellowalmost 13 years ago
I'm a designer who learned Rails to build a web app, and the learning curve was steeper than I expected. I still don't know everything on this graphic.<p>I bought several rails books, read the humble little ruby book, pro git, github docs, rvm, etc. I still suck at testing and lots of other important stuff.<p>That's part of learning programming in general, but "learning Rails" is often presented to be much simpler than it really is. There are so many dependencies. A graphic like this should be at the front of every single Rails book, just so newbies can see what to expect.
评论 #4015568 未加载
kennystonealmost 13 years ago
Most of that graphic is about a classic web stack - only one branch is rails. Still, a nice visual representation of how hard the job is.
Sodawarealmost 13 years ago
Most of the chart could apply to other web languages, including everybody's favourite whipping boy PHP.<p>For me, the hardest part of rails was getting a working environment setup on my server, development and build machines.
评论 #4015557 未加载
xyzzybalmost 13 years ago
Ready Set Rails is running PHP? I'd think that a site promoting Rails and a Rails workshop would be, you know, using Rails. :-)
评论 #4024346 未加载
hexvectoralmost 13 years ago
OS, IDE, GIT and Command Line as major branches make this way more daunting than it really is.
shane-armstrongalmost 13 years ago
And that is why I won't be learning ruby any time soon. I think I'll stick to PHP.
评论 #4015345 未加载
评论 #4015287 未加载
评论 #4015636 未加载