Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

When one understands the need of a framework.

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.

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?

Licensed under: CC-BY-SA with attribution
scroll top