Archive for December 18th, 2011

In Coding–WHY does really matter December 18th, 2011

Vinod Kumar

This is a very simple tip to all programmers who are into this IT world. More and more I get to interact with developers and DBA’s I see this striking behavior that people memorize the syntax and the API’s more than understanding HOW these API’s really work. And there are so many of them who do neither but use their favorite search engine to give them almost any code block. Use intellisense with Visual Studio to help you rather than memorizing the API’s and methods available.

It is a little known fact that truth cannot be memorized. ~ Barry Long

Concepts matter

I have been part of this industry that changes so rapidly over the decade and I feel of loosing track of what all I learn. Even inside SQL Server, with every release passing – I am finding there are pockets of areas which are becoming tough to keep track off. But I have refrained from knowing everything that comes my way and concentrated on the basics of these concepts so that I will be able to have that conversation if it comes my way.

Learning is a journey and not a destination.

So don’t miss the opportunity to become a student and learn something new from someone next to you. You will be amazed about your own progress – trust me. I am still a student in many ways even today.

Learn about why things work the way they work and more importantly know the capabilities more than the nuances of these.

Going Search Engine way

I don’t think anyone out there has not used a search engine to help them in their times of problems :). So true the fact maybe, there is a problem associated with this method –

  1. We forget in what context that code was posted. This is so true in cases where I have seen people tryout something from the internet when their Database becomes corrupt. Now this is dangerous because you can cause permanent damage to the database that you may not be aware. So DONOT believe anything and everything out there on the internet.
  2. The context of the version is lost in such cases. For example, if you look at the API’s released for say – file IO API’s, Caching API’s, Encryption API’s inside .NET world. These are so different from .NET 1.1 to .NET 4.0. The irony of fact remains that the old style code will most likely work even on the latest version and hence can become a sub-optimal code. So be careful here too.

Next time you use a search engine, look at the code – look at the documentation if there is a different way to complete the task in hand using latest API’s. This is super critical from a code maintainability for the future.

Know your subject !!!

Long time back in a flight back from Sri Lanka to Chennai, I had the unique opportunity to spend some quality time with my friend and mentor – Dr. Nitin Paranjape. I am gifted to have known him for more than 7-8 years now, I keep learning so much from him even today.

So in this flight back we had an interesting conversation. This were the times way back in pre-Year 2005 days.

Nitin: Vinod, what is it that you love so much in computers.

Me: Nitin, I just love SQL Server like anything.

Nitin: Do you know each and every checkbox, dropdown and options available with SQL Server?

Me: Hmmmm … May not be all Nitin.

Nitin: Then you really don’t love it enough. When we go back, just give a glance through the documentation of SQL Server completely once. You must know what the capabilities of SQL Server is in-out to say you really love SQL Server. Once you got this between your head, then the implementation is just a matter of searching to the right index of documentation.

So true, from that very day this has been a constant struggle to get knowledge of “WHY it functions the way it functions” VS really looking at “HOW to make it function” for me. Even in my sessions I tend to move to the basics rather than talking about everything thing that I know. It is critical to understand the concept – “Why it was included” and the scenario’s it can be used with.


Hopefully, now you will think more towards the WHY rather than the HOW when you start coding. Do tell me your thoughts around this. Will love to hear your perspectives too.

Continue reading...