Sunday, December 9, 2012

You must be a programmer, not a person who knows a programming language

Hi there guys...

One of the things that many doesn't realize - at least i think so - is that there is a difference between knowing a programming language and knowing how to program. I suppose many would say they are one and the same, but that isn't the case. So what's the difference you might say? Well this is how to think about them:

Think for a while you are in the kitchen. You might know how to turn the oven on, how to use the knife, how to mince meat, etc, but that does not mean you can cook. Cooking need experience and knowledge about how to use the items in the kitchen, and how to mix them using the correct tools.

Same is true for a mechanic. You can hold a screw driver, a wrench, use a jack, etc. Does that mean you can repair a machine? Well probably not unless you have some knowledge.

What I am trying to say here is: Programming Language is a tool. You might know how to write an assignment statement, a for loop, an if statement, or a function. Does that qualify you to solve a  problem? The answer is NO. You must have an idea how to use these tools (statements). Knowing how to use a programming language to solve problems is what makes you a programmer. Knowing about the language alone does not.

To be a programmer you should first learn a programming language, then you should learn how to solve problems. Later on you will find that learning other programming languages is very easy. In many cases the concepts are the same, the syntax is different. You could say that the way to solve a problem is the same, but the tool is different.

The VB.NET tutorials I posted on the site previously here, help you to learn the language. It does not help you a lot to be a programmer. I realized this issue at a late stage, and for this reason I started a series of tutorials called programming principles. Although the series is not finished it tries to explain how to solve some simple problems. These solutions could be combined later on to solve more complex problems. The set of tutorials for developing a point of sale system also shows how to solve a given problem.

So how do you become a better programmer? The answer is practice & reading. Practice to solve simple problems first, and expand the problem little by little. Many try to solve very large problems, and they get discouraged after a while because they can't get things done, so make sure your problem isn't that hard to solve. Reading is also useful. By this I mean reading about algorithms. Algorithms tell you how to solve a problem.

One last advice to make you improve is helping out. Youtube questions and community emails made me go and try to figure out solutions for different kind of problems, and this in turn improved my programming skills alot. So in a way I am thankful for everyone who sent an email asking me.

Hope this post explains the difference well, and hope you will start trying to solve problems. Let me know guys what kind of problems you are trying to find a solution for.

yours sincerely



  1. hey! your idea about this topic is awesome... yeah great!!! i inspired to be a programmer someday like you... i watched your tutorial about programming principles and it helps me a lot as a student. your doing a great job! yeah the best tutorial ever... i also watched and follow your LMS tutorial and now i stacked in part12... hope you continue your LMS tutorial and keep doing a lot of different tutorials...
    thank you!!!

    1. Hi there...

      Thanks for the feed back. Wishing you best of luck learning programming. Hope I would have time in the future to get back and continue posting videos.

  2. Hi sir. Sorry if this comment is not about the topic above cause i really need a hand here. I watched your tutorial in youtube about database and textboxes and it's great but i have one question.If I click the save button why can't i see the changes in my database?Please answer I really need your help.Thanks a lot sir!

  3. superb idea man,...yes now i feel what i did last years knowing every programming languages(java,c++,php,,ruby...) and not doing programmer work. like your kitchen example. thank you for advice.