Friday, 31 December 2010

Ruby, Python and 2011

Well, after playing a little with both Python and Ruby, I must say, I really like both languages.. However, I'm leaning towards Ruby with it's native OO benefit. Like, everything is OO.
That being said, should I do the project in Ruby, I'll definitely do another site in Python too, as I see it a definite worthwhile language to have too!

Also, had a great idea for a simple Android app... So lots happening in the new year!
I'm SO glad I haven't heard any year rhymes for 2011... I used to hear them each year: 2009 (something something divine), 2008 (something something great)... bleh.. I'm sure someone out there has used "heaven", "leaven", or something. I don't wanna know! haha

Have a good rest of 2010 - catch you next year!

Tuesday, 28 December 2010

the snake ate the stone to the music...

Where I was

OK, so a new project is starting in the new year. And I need to select a platform and possibly learn a new language in the process. In the middle of December, I had two choices: Symfony 2 (in PHP) or Ruby on Rails. Both would require a learning curve, but as I'm quite familiar with PHP development, Ruby would require a steeper learning curve.

There were a bunch of factors that I started considering in this decision, not only for myself, but also for my client. I want to develop a sturdy, fast and expandable solution (that's a given). But also, I want to leave them with a solution that doesn't tie them into using me as a developer. Not that I have any plans to abandon them, but I know of people who tie their clients in and I think it's a shocking scenario. Clients should come back to me because of my solid solutions and good service, not because they kinda don't have any other options.

So, obviously, the PHP as a language would be the most popular choice if you're talking developer availability. I found out that we have a Ruby community in SA, but I don't think it's near as big as the PHP one (that's my impression, at any rate). HowEVER (and that's with a capital EVER), Symfony is it's own beast. A PHP developer is not necessarily a Symfony Developer, and many PHP developers settle for more CMSey solutions like Wordpress and Drupal, or other popular frameworks such as ZEND, CakePHP or a simpler framework such as CodeIgniter. This, in my opinion, levels the playing fields between RoR and Symfony as developer support in SA.

The plot thickens

Being on holiday in Cape Town is a great thing. Generally, it's just a good thing. More specifically, it's always a place where I start to think outside the box. Maybe it's the mountains, maybe it's the sea. Whatever it is, I value the way it makes me think differently. So, being in a bookshop in Somerset Mall, I stumble upon a Python book. Something I never considered as an option. My relatively simple decision had gotten more complicated. Now there were 3 contenders: Symfony 2, Ruby on Rails, or Django (python based). I thought to myself, if I'm considering an option where I'd be learning a new language (Ruby), who's to say that Python shouldn't be that language instead. So I buy the book.

Having done some research the last couple of days, it appears that the Rails popularity of 2008 is in a mild decline, and Django and Python is in an increase... Though, that's no reason to choose one from the other. I've decided that 2011 I want to do a project in each (RoR and Django) but, which to tackle first, if not Symfony, is the big question. My gut feel tells me that Python will be easier to get into, but I'll have more support with Rails. So that's where I stand.

I've also just found out that Python 3 (the book I bought) is not usable with Django currently. So the book might show me things that are still un-doable if I do choose the Python route.

At least I can not be accused of making a rash decision when it comes to the path forward. I will know which solution I'm going with on Jan 3, for now, I'm reading more, playing more and hopefully clearing more pro's and cons for each.