Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Long time back, when I was reading my introductory programming books on (Basic, Pascal, C/C++), one thing that was emphasized is you can't become a professional programmer over night or over few weeks. It takes time to grasp programming and to apply it for solving problems and developing applications.

Now, once someone has the grasp of basic programming, the person can quickly adapt to new technologies. In recent times, the use of frameworks in application development is prevalent. Though the learning curve for framework is way smaller than that of programming, even so they too would require some time to learn. Of course, different frameworks have different complexity, hence the learning curve would vary greatly.

My question is, should one start to do commercial projects while they are learning a particular framework, or should a demo/learning project be done first to get the hang the framework and then proceed onto real projects?

share|improve this question
add comment

4 Answers

up vote 1 down vote accepted

You should definitely do a bit of background research before you consider using a particular framework. For starters, looking into the documentation about the kind of problems the framework claims it can solve, ask people about their experience with this framework on places like stackexchange, read the reviews of the people who have used this framework. If its possible and the project's open sourced, check the download count of the project -- the more the merrier in this case.

When you are done with all of that, start digging in deeper. Look into the fine print like the minimum compiler and OS versions required to use this framework, dependencies on other frameworks (if any) that this framework might have, performance limitations etc.

Doing a small project and investing your time into this framework comes after all of these.

share|improve this answer
    
So in summary, you would say one should never start to use a framework for professional work before having a grasp of it? –  Shamim Hafiz Dec 6 '10 at 17:58
1  
@Shamim I would definitely recommend a feasibility study on the framework before playing around with it. It'd be a sheer waste of time to learn the hard way that the framework's great but not for the purpose you intended to use it for. –  Fanatic23 Dec 6 '10 at 18:02
add comment

I think you have to use a framework with non-trivial work in order to really understand it. Of course, this will mean you go outside the lines at some points and you may have some refactoring to do later. If you have a real project, and you know which framework you are planning to use - why wait?

share|improve this answer
    
If I know how to use the framework, I wont surely wait. But if I have never used it, should I go into the risk of doing real work using it? –  Shamim Hafiz Dec 6 '10 at 18:00
1  
Worst case, you lose some time with "real work". If you do "fake work" its all wasted time to begin with. Unless you feel you could actually learn better from some particular "fake work" then it doesn't make any sense. –  Jeremy Dec 6 '10 at 18:02
add comment

The most logical thing to do is to start using a framework when you feel the pain that the framework is supposed to reduce.

So if you want to do Java web programming, I would start with Servlets and JSP, and use straight JDBC to connect to the database.

It won't be long until you are tired of created repetitive Servlets, and then you know that you should learn Spring MVC or Struts 2. And when the JDBC is causing you pain, start using Hibernate.

You are right that it is easier to learn a framework than a language, but I think that it can be very demoralizing to try to learn a framework that solves problems that you have never experienced.

share|improve this answer
    
But by the time I start to feel the pain, is it safe to straight away jump into using framework without learning to use them in some demo work? –  Shamim Hafiz Dec 6 '10 at 17:57
    
That's going to be a matter of personal preference. I would go through a tutorial or two first. The ideal situation is to be working on a team with someone experienced in the framework. –  Eric Wilson Dec 6 '10 at 20:38
add comment

When one understands the need of a framework.

share|improve this answer
7  
Oooommmmmmmmmmm –  BlackICE Dec 6 '10 at 17:14
    
@David: Ha haaa, best laugh I've had today... :) –  Bjarke Freund-Hansen Dec 6 '10 at 17:17
1  
Maybe, I should have put grasshopper at the end of it. –  johnny Dec 6 '10 at 17:24
1  
The zen is strong with that one. –  Martijn Verburg Dec 6 '10 at 17:28
4  
When you can snatch this methodology from my hand, you will be ready. –  mu is too short Dec 6 '10 at 17:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.