Knowing the framework is NOT knowing the language.

Ruby is the language: Rails, Camping and Merb are frameworks.

Java is the language: Spring/Struts/Velocity are frameworks.

PHP is the language: CakePHP, Kohana, Drupal, Joomla, WORDPRESS, CodeIgniter  (might as well chuck Moodle in there too while we’re on the case) are frameworks.

There’s a load more, Wikipedia has a handy list.

I can create an application in Ruby On Rails, deploy it and have it working.  I still don’t know the language to the level that I know Java.  It’s good but it’s nowhere near to the level of some who I know.

Learning the language and learning a frameworks are two completely different things. Over the last five years I’ve noticed a lot of reliance on frameworks to take the grunt work out of the time consuming, boring and seemingly unrequired.

There’s a trade off, control.  Once you place your development cycle within the constraints of a framework you are playing by another set of rules.  It’s usually at this point where tightening up a production environment becomes a big issue.  We read books telling us that “SELECT *” is bad in SQL. So why are we happy to let frameworks dictate the queries? If the core code was put together well (decent data access objects (DAO) anyone?) then there shouldn’t be any major headaches.

Frameworks also start to fill the gaps of knowledge and that’s where things come unstuck very quickly.  I can normally start to see the true level of a developer once I start asking the horrid questions at interview level. Filling the gaps of poor SQL knowledge is usually starting point. Not know design patterns is usually another.  It’s all very well you say you do MVC but if someone actually asked you to write your own MVC could you actually do it?

There are some guys I know in various corners of the world that just know the language so well that they don’t need frameworks. They do use frameworks but have the full knowledge of what to do, what to tweak and how to get the best out of things.  That’s the true talent of using frameworks….



4 responses to “Knowing the framework is NOT knowing the language.”

  1. I’m firmly of the opinion that people shouldn’t use frameworks until they know the language. I only started using frameworks in PHP about 2 years ago, but I’ve been writing code for over 6 years.Those 4 years of writing *all* the code may have been long and tedious, but it definitely helps when taking performance into consideration, finding bottlenecks, and code problems.knowing the nuances of a framework can only be helped by knowing the nuances of the language it was written in

  2. Totally agree with you there Alex, the over reliance on frameworks is concerning, just look at the boom of WordPress experts who can design, install and maintain an installation but can’t actually code anything to contribute to the product or the site it’s installed on.I find it amusing and concerning in equal measure.

  3. It’s amusing until it crashes down round their ankles, at which point their entire reputation is diminished. I’m fine with that but at the point at which doubts start to cross the mind of any client who may wonder if the whole web industry is built on lies, and good design – then it becomes an industry problem

  4. I couldn’t agree more with the ‘language != framework’ argument.Having used scripting languages like Ruby, JavaScript & PHP considerably *without* the popular libraries & frameworks has greatly improved my ability *with* them. Using them with multiple frameworks has also been beneficial. Even working on desktop apps with C# made moving to C#/ASP.Net a *lot* easier back in the day.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: