Ruby and .NET

I have been inspired by my previous blog post The joys of IT recruitment (and years of frustration)

To start working on a business idea for IT recruitment. The main premise of which is that an IT professional will be much better at vetting candidates for an IT job than your bog standard recruitment consultant.

 I have started working on the website in asp.net 2.0 (C#) but then thought i'd try out ruby on rails for a couple of reasons

  • See what all the fuss is about and learn something new.
  • much cheaper vps hosting compared to asp.net
  • excuse to improve my poor linux admin skills 

I'll probably be blogging more on my trials and tribulations as i attempt to build the site using an unfamiliar language and framework on an unfamiliar OS.
But to start here are my first thoughts:

  • Why do a lot of people in the rails community seem to have attitude problems?
  • MVC is nice, but feels odd sometimes, (probably me being thick)  ie: validation in your model? shouldn't business logic be in the controller? Is validation not business logic?
  • mmm, no data access plumbing i can just get on with writing the app.
  • GUI tools for mysql still aren't a match for sql server (wonder if Sun will improve these?)
  • Don't like the convention that database table names are pluralised (orders instead of order) This is the opposite of what i was taught.
  • Wish that migrations could work both ways ie: create a rails migration from an existing database schema. 
  • don't you just hate it when an open source project is not maintained (act_as_taggable) 
  • It seems current wisdom dictates that you should run rails on mongrel with apache acting as a proxy,  what a pain in the arse, oh for right click, create website in IIS.
Published Thursday, March 27, 2008 11:47 AM by sagey79

Comments

# re: Ruby and .NET

Thursday, March 27, 2008 10:54 AM by Kyle

Good luck. I'm also a .NET programmer by day but have spent much time exploring Rails when I can find time.

# re: Ruby and .NET

Thursday, March 27, 2008 11:16 AM by Jon von Gillern

I'm actually a big fan table names being pluralized. I think it makes much more sense, is the table storing a single "Order"? No, it is storing multiple "Orders". I like the fact that Linq To Sql pluralizes all of your collection objects too.

# re: Ruby and .NET

Thursday, March 27, 2008 11:34 AM by Will Green

First, Ruby != Rails! Ruby enables Rails. There are tons of other Ruby language web frameworks out there that accomplish the same goal (like Merb).

Attitude problems? Rails is described by its creators as "opinionated software". Expect no less from those who develop in it.

Re business logic in the controller: The current thinking is "fat model, skinny controller". The models know weather they are valid or not, and report so to the view (through the controller). Controllers simply tell models what their data are and what to do, at a high level. It is the model's responsibility to know what to do with the data it has been given.

Re acts_as_taggable: This plugin is deprecated. There are at least 5 different alternate implementations, like has_many_polymorphs (blog.evanweaver.com/.../growing-up-your-acts_as_taggable). You might also want to check out agilewebdevelopment.com/.../search

Re hosting rails apps: The current Apache/Lighty/nginx proxy to mongrel_cluster is the current wisdom because it works, and works well. You could look into FastCGI for IIS if you're deploying to a Windows server. However, THAT is a true "pain in the arse"; be prepeared for little to no support. Everyone is deploying to unix servers, again, because it works, and works well. That said, you might want to contact Luis Lavena (www.workingwithrails.com/.../4626-luis-lavena). He's the current maintainer of the One-Click Installer for Windows, and knows the ins-and-outs of Ruby on Windows.

I develop my Rails apps using Cygwin's Ruby instead of the OCI. Best of luck in your adventures in Rails on Windows!

Leave a Comment

(required) 
(required) 
(optional)
(required)