Sometime when I see people around me in office, I really get curious and puzzled about their approach to problem and their behaviors. It might sound very specific to the environment which I'm in. may not be true for an environment where people have experienced this issues before and implemented a system where these problems are not so common.
I wrote my first computer program in year 1992. It was in GWBASIC and operating system was DOS. It was a very simple operating system and it was very easy to write/edit programs using simple editor called EDIT.After few years I started working on UNIX platform. When I came to UNIX world, I found that working in UNIX world is bit different and I need to get used to some awkward tools. One such awkward tool was VI editor. I found that learning and using this editor is bit difficult. But very soon realize that if i don’t know how to use this editor, I’m not a good programmer, I’m a junk guyJ. Strange reasoning!!!!
I was not that much sensible at that time the way I’m trying to sound today, So to prove myself, I put my effort and learned it, but frankly speaking, I never liked this editor J
There was no personal preference for not liking it. When I was trying to learn this editor, what I found is that I’m wasting my energy in wrong direction. I have a problem and I want to write code to solve this problem but learning this tool itself is becoming a bottleneck for executing things running in my mind. Then I asked a simple question to myself,” is learning this editor is my goal?” And answer was Big No. My goal is to solve a problem using computer program and I want to use a tool which is easy to use J
Later on I realized there is more to come. There are not just awkward tools but awkward people and awkward ways of working also.
C is really good programming language but each problem has his own requirement and it is not necessary that C fits for it. I love programming in C but I’m not fanatic about it. But I meet people who were anytime ready to argue how other languages are inferior to C.
Another funny thing was indentation of code in C. I like writing code with opening and closing bracket indented in same column on a new line. This keeps code readable and one can clearly identify different blocks in code. But there is some strange convention of putting opening bracket on same line rather than on newline. This is more to reduce number of lines of code, so that you can see more code at a glance. Each convention has some advantages and disadvantage but funny thing is, if you don’t follow the later convention you are not considered as a good and experienced programmer J!!!
There were people who are wizards of these awkward tools and awkward ways of working and there are people who are following and supporting these people. I was always curious and wanted to know what is running in these peoples mind, what they want, why they enforce this junk to everyone and why they behave like that.
I could figure out certain things, based on that what I have understood is there are few categories.
The real fighters:
The absence of a tool drove this people to invent it and they came up with a working but hard to use tool. But with time these tools have become their identity and way of their survival. Now they are the real fanatic force insisting use of these tools.
These are the people who are fascinated by the technology, tools and attitude of real fighters. They blindly follow them and there is no reasoning behind it. Even if they have some reasoning it is just to show off that they are one among the real fighters J
The Real user:
This is the poor guy who really wants to solve a problem and in need of a tool. But once he is stuck with one, he cannot go back because of many business and personal reasons J
We Are part of evolving world and with time we also need to evolve and same is true for the tools also. If a tool is so difficult to use and learn, our focus from actual problem is lost and we end up doing some other work!!!