Ryan Davis has cooked up a really cool video of Rails done quick. He uses OmniGraffle to design his schema, converts this to SQL, triggers a few home-grown scripts, and whammo! A complete Rails scaffolded application with people and phones in less than two minutes. Hot diggity!
Brett at San Antonio Safe List recalls the process that he has seen folks with PHP, Python, Java, and DBA experience go through when meeting Rails:
- Everything is so weird.
- Everyone is really annoyed by Rails’ “black magic” where all this stuff just happens for you.
- People realize that programming tasks are handled in a single line.
- They have to lookup how to do something Ruby.
- They realize how much faster they are building things.
- They forget about all other languages and stop saying “Well in Java I’d do this…In python it works like this…Thats just like the ternary operator in Perl…”
- They wonder why in the hell that hadn’t been playing with this a year ago.
- They’re on Rails.
This is a rare treat. Someone who actually gave Rails a good couple of hours, but couldn’t get anything done, and thus hates its guts:
Well, I’ve found this: it’s fucking horrible. Anyone who tries to convince you that it’s in some way an elegant and consistent way to create ‘web applications’ is entirely insane. It’s taking me hours and hours just to get the most basic of stuff done, and a lot of that time was spent wrestling with the hideous documentation and bizarre, frustrating syntax.
Now get this. Since he was unable to get something done quickly (too steep a learning curve), the poor chap wants to give Python and Zope a swing ;). Not an evil word about either, but the learning curve of the latter is not exactly known to be flat. Heh.
This thought on “pre-written code” is also pretty funny:
If you really must use lots of pre-written code (and hey, sometimes that is handy — a DBMS-agnostic interface, say) then get to grips with Pear for PHP.
That’s actually both a testament to PHP (you can get something done without using any external frameworks or libraries at all), but also an interesting reflection about a fair share of PHP programmers work (they don’t use or like “pre-written code”).
In any case, he’s frustrations were real. It would be nice to hear about them in specific so we can do something about it. Although, it does bring a smile to read “it’s fucking horrible”. It seems like we’ve made it all the way around the programmer spectrum with that.
Foopad.com is a simple, hosted wiki done by Ben Nolan (the guy behind Behavior) using Ruby on Rails. It’s still early days and the WYSIWYG-editing seems to choke Safari, but do take it for a spin. It’s free, so how can you argue with that?
Asterisk is the open-source PBX that makes the phone an interesting and hackable device again. But the UI is more than a little geeky, which is where RAGI comes in. It’s the Ruby Asterisk Gateway Interface that serves as a bridge between Ruby on Rails and Asterix. Their pitch goes:
RAGI eases the development of interactive automated telephony applications such as IVR, call routing, automated call center, and extended IP-PBX functionality by leveraging the productivity of the Ruby on Rails framework. RAGI simplifies the process of creating rich telephony and web apps with a single common web application framework, object model and database backend. RAGI is available under the BSD license.
Pretty exciting stuff.
We have two new pending database adapters that could use some solid testing by people who have access to those engines. The first is a Sybase adapter by Will Sobel and the second is a Firebird adapter by Ken Kunz.
Please give both of them a spin and add any comments on their tickets. Also, be sure to note if either of the adapters should do something that doesn’t match the idiosyncratic approach in either of those engines.
The fourth Ruby on Rails podcast was released yesterday. It’s an interview with Rails core and committer Jamis Buck conducted by Geoffrey Grosenbach. If you haven’t already signed up for the RSS to get the new podcasts automatically, be sure to do so.
Using the full might of a J2EE stack to write a small stand-alone application is using a sledgehammer to crack a nut. But I keep hearing the sound of nuts being pulverized as developers seem to think that using anything other than J2EE is somehow unprofessional.
At the same time, there are situations that call for the shock and awe that is J2EE.
It’s definitely a continuum. Rails doesn’t replace, well, anything. Things are never replaced, but increase and decrease in relevance. Rails has decreased the relevance of a lot of environments, including J2EE, for a growing niche of application types. But it hasn’t replaced them and never will.
With that out of the way, Dave moves to answer “when is Rails appropriate?” and “how can I introduce it where I work?”. Great advice for picking an entry and moving your company through the transition to Rails.
There was a time where I would have jumped in and attempted to educate a guy like Debu Panda. Now it’s more of a comical relief. Like when old people talk about how they’re never going to get a cell phone with an off sense of smug:
If you are looking to build a web application with LAMP then it may be simple to develop but it may have scalability issues and maintainability issues due to it’s inherent architecture.
Like, whatever, dude.
Note, the intentions are not to use Basecamp as a ticketing system (it’s not well suited for that), but rather as tool to help the informal division of labor that’s already going on in private and on the committers mailing list.