TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

This is why learning Rails is hard [graphic]

23 点作者 hijk大约 13 年前

7 条评论

jdlshore大约 13 年前
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>
studiofellow大约 13 年前
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 未加载
kennystone大约 13 年前
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.
Sodaware大约 13 年前
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 未加载
xyzzyb大约 13 年前
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 未加载
hexvector大约 13 年前
OS, IDE, GIT and Command Line as major branches make this way more daunting than it really is.
shane-armstrong大约 13 年前
And that is why I won't be learning ruby any time soon. I think I'll stick to PHP.
评论 #4015345 未加载
评论 #4015287 未加载
评论 #4015636 未加载