Drupal, PHP, JQuery, Java Script, LIFT, SCALA

And the list goes on. It is mind blowing to notice how many open source tools for web development and content management are out there. For a beginner it is hard to know where to start and what to choose. What is the best tool for developing a specific type of website? How long does it take for me to learn this new scripting language? These type of questions are perhaps the dilemma that many web developers deal with.

As a technical person myself who works on coding stuff here and there, I have a recommendation to anyone who wants to learn computer programing the right way. If you have never coded before or you have little knowledge of coding you need to start from somewhere. First you need to learn the very structure of computer and how it works, after that you need to start to learn the basic principles of computer programing. There are many books and courses that you can find online that can give you an idea. But, the very fundamental concepts that you need to learn is Object Oriented Programming. This should be your learning milestone. Pretty much whatever else that you want to learn depends on your understanding of OOP. The concepts of OOP are the core foundation of modern programming languages or even scripting languages. Your coding skills very much depends on your deep understanding of OOP and its architecture, doesn’t matter if it is Objective C or Java Script.

Interestingly, LIST, SCALA and JQuery all are derivatives of Java, and Java is all about OOP. If you want to learn those languages, I recommend you to start learning a little bit of Java. Learn OOP from Java and then move to Python. After mastering Python you can move forward to common scripting languages, and by this time you have a clear understanding of what you are doing or how things get done. One thing to remember is that new programming/scripting languages arrive everyday, but one thing doesn’t change and that is the fundamentals.  Programming languages are getting simpler and user friendlier everyday, but to unleash their real power you need to know the concepts, and the main concept at this time is OOP. So, first learn Java, then Python and then move to the scripting language that you need for your project. If you spend some quality time, you can do all of this in 6 months to one year.