Software is ubiquitous and yet it sucks. Linux and Windows crash every time the temperature fluctuates above or below some unknown range or if you just look at the screen the wrong way.
Some segment of the programmer population thinks the way to make it suck less is more types, more logic, more math, more discipline, and more whatever you think there should be more of. Another segment prefers shuffling bits and bytes because sometimes performance and deadlines are what matter and the only thing you are familiar with that gets the job done is C. Extending the deadline to deliver better software is the right thing to do but as the byte slinger you don’t really give a shit or want to invest 3 more months to learn another shiny new thing. Your personal productivity and business needs trump everything else. The well-being of your fellow human beings is probably one of the last things you’re concerned about. So what if a few people get an extra dose of fatal radiation?
No rant post is complete without of course identifying which side of the imaginary line I fall on. I don’t really have any horses in this race. I enjoy solving problems and software seems to be the one place where I can do that and get paid for it. Many other programmers feel the same way. I don’t think I’m unique in that regard. I would have stuck with math if it had paid any better or if the general economics of professorship made any sense but it didn’t and here I am. So what side am I on? I agree with whatever segment of the programmer population is on the side of the imaginary line I fall on at any given time.
When I’m on the other side of the imaginary line trying to write something without any race conditions it takes a lot of energy to not throw the keyboard at the wall. I start to wonder why can’t we throw out this entire mess and start from scratch? Maybe more types is the answer.
But at the end of the day whatever segment of the programmer population you identify with there is no escaping the fact that everyone is just a little bit too selfish. Sensibilities and values change based on whatever is most convenient at the time. It’s not a technical problem. It’s a purely human problem and all the cool kids are coming at it from the wrong angle. No amount of technology can save programmers from themselves. I have to give props to my boy Anders Heljsberg though. I think the only person in this entire business approaching the problem from the right angle is him.
As humans we just don’t have much empathy for our fellow human beings unless of course you’re Anders Heljsberg in which case you should already have sainthood. As for the rest, if we gathered them all into one room and gave them the Voight-Kampff test they would all fail even if they were allowed to help each other cheat
davidk01:understanding-tail davidk01$ cc abc
clang: error: no such file or directory: 'abc'
clang: error: no input files
Thanks clang. That was very helpful. I can take it from here. Someone tell Deckard we need him.