Thursday, March 13, 2008

C# and .Net

I have been a software developer for 10 years now. I started with VB5 spent a good amount of time in VB6 and eventually moved on to .Net. I have worked in multiple mixed language houses around Cobol and C++ developers and found some commonalities in the attitudes of these other programmers. Cobol guys tended to be just biding their time to retirement and just were just duct taping their apps long enough to be someone else's problem. The C++ guys all thought they were better and smarter than everyone else and especially the VB programmers. Granted VB6 had it's problems and wasn't always the right answer for the task you were working on, but to say it never had it's place is just crazy. Most of the time an app could be written in half the time in VB than in C++ because it did so much of the work for you. I know this also caused some of the problems with VB6 but it still got stuff done and done quickly which in the business world often is seen as better than right.

Then the .Net framework came along. This finally gave VB some real teeth. They fixed a lot of problems and made it really powerful. They also created C# which I think was a genius idea. C# allowed all the C and C++ guys to create .Net code without really needing to learn a new language syntax and still giving them a lot of the short cuts that .Net allowed you (memory management, easier error handling, ...). The funny thing was thought that the VB guys went flocking over to C#. Why? Why would you learn a new syntax and switch to a language that is more difficult to read, more difficult to code (case sensitive and those damn semi-colons), and compiles to the exact same thing because it's the exact same framework. My answer: Pride. I think VB programmers have had years of being treated like second hand devs by C++ guys that when C# came out they had a chance to toss off the bad VB name and move to something that had a little bit more "cred".

I'm now working in an entirely C# house who is entirely staffed by ex VB programmers. They funny thing is all of them miss VB they all stand around and talk about how much easier VB was to work in than C#. The only people who I find are ex VB guys who prefer C# are the same guys that have the too cool and better than everyone else attitudes that we all loved so much on the jocks in high school.

All this being said I wanted to learn C#. I wanted to get to a point where I was very comfortable in it. Not because I wanted to be a C# developer and stop being a VB dev but so I could expand my knowledge and be able to work in any environment. In the end they are all tools though. They get the job done. Does the carpenter who uses a nail gun look down on the guy who uses a hammer or vice versa? Probably not they are both tools they both get the job done and they both have their purposes. If C++ guys were so great and were worried about having the most efficient working code possible they would write in assembly instead but hey who wants that headache. So I say when it comes to programming pick the right tool for the job and stop letting your ego get in the way.

No comments: