Friday, May 7, 2010

Old Programming Habits and Productivity

I remember the good old dayz of of running javac TestApp.java at the cmdline. It was fun actually. For me then, the joy of having my programs run far out way the knowledge of IDEs. Never actually knew there was anything like that. The only IDE i knew was Integrated Device Electronics i learnt while studying for A+. I can remember how excited i was solving some java programming exercises in comprehensive java (i hope i got the title correct). Having spent some hours trying to figure out why my program wasn’t running correctly, i decided to take some time out, putting the daemon threads of my subconscious mind to work, while i tried taking a nap. In between the nap, came a revelation of the solution to the problem i was trying to solve. I felt like i had discovered the cure to a chronic disease. Actually, not exactly, but i was pretty excited about the solution. As time passed, IDEs, frameworks, toolkits and what have you came to my awareness. I spent more time with JDeveloper initially, never really liked it. But was certainly way better than running cmdline. I later discovered Sun forte 1 IDE. I kinda liked it, because it looked different and i guess because it was from Sun. Sad thing was that it was kinda resource intensive, didn’t just run smoothly on my dev machine. I guess my machine wasn’t up to it. I later jumped on Netbeans. I loved it until i discovered what Eclipsed my love for NetBeans. I tried IntelliJ , as much as some folks think it was the best in Java world, i never really liked it. It was the first Java IDE i used and i just felt i needed a tutorial to get around it.

Above is just my personal experience in the world of Java programming. But my point has to do with some unproductive habits i was just too use to. I was aware of the fact that most of the IDEs i had/was using had support for debugging, but, since my early days started with “System.out.print("Val of : "+paper.getName())” , i just felt i was better off doing this than having my program run in debug mode. I was too use to it to spend a little bit of time to understand the benefits and how much productivity boost i would get by just having my program run in debug mode when there were issues to be fixed. I can only assume there are folks like me out there, who would rather terminate a program, type out your "System.out.println()" and run again. Having to do this in web projects certainly doesn’t help and same applies to Standone/Desktop apps. While ones code quality might have of a truth improved, some of these old habits just wouldn’t allow us experience a better life. As it is pretty had for me to go back to programming at the cmdline, it has been the same with debugging apps. It's just way better than exit->type-> rerun cycle. Setting break points at runtime is just too fantastic than the boring code I had to type. Now, think about some tiny improvements in your platform of choice that you have blindly not investigated, but would rather keep to the good old ways. Programming could certainly be better by acquiring more knowledge and this could be in form of version control systems, build tools, applying best practices etc. Have you got any programming habit(s) you got so use to, only to figure out there was a better life?