I’ve been using MVC frameworks for a while now, and it makes me think why I didn’t use it earlier… Yeah, back when I started learn programming I was exposed to procedural way of thinking, remember BASIC on IBM XT ( Yup, I wrote my first program on those awkward looking beige box from IBM, with amber monitor and glorious Hercules graphic card ), and that’s already called a luxurious home PC, considering that at the time, my sister work involving boxes of punched cards and magnetic tapes
Ok, back to MVC, I’m not going to do another framework comparison here, rather, just a story about my learning experience…
My first encounter with MVC was using Java, learning to program desktop application using Swing and AWT, pretty enlightening experience, but i dropped it somehow because I have no real use for it, let alone any project to work on using it… then came J2ME, when I really have fun with, creating interesting stuff for mobile devices. I also learn a lot about object oriented programming concept here, another interesting stuf, tightly related to MVC.
Now, so many MVC frameworks pops up, it’s confusing … all popular programming languages have at least one implementation of it as a framework, notably Ruby on Rails, Python’s Django & Turbogears, PHP’s Prado, CakePHP, CodeIgniter, and many others…
Which one do I use ? I tried not to get stuck and become single minded on a framework, since in my perspective, all is just tools to get things done. Currently I use CodeIgniter for my project, while I also use Django to learn Python. Why, because CodeIgniter seems to be easiest to learn, and have certain tolerance to my lazy and messy programming practice
, tried CakePHP once, and I was lost in convention of plural singular naming… I notice Django has similar idiosyncracies, but I think I’m a bit more ready for it , after all, it’s in different language so everything is new ( I think it’s just me, it is hard to do things on convention, while I already get used to the way PHP done stuff, free and very tolerance to any kind of programming style )
Beware though, for those who just want to start learn programming, jumping into a framework to learn the language ( and learn programming in general ), is not recommended practice. I suggest learning from the very basic, the very fundamental concept like what is programming, what is procedural, OOP, functional programming, and so on. Otherwise, learning using a framework is like signing up to a flying school to learn to fly, but jump direct into the cockpit of a 747 to learn the “basic” of flying and being a pilot.