As most of you agree, there are incredible wrongs in software industry. Programs crash, injurious tools, uninformed programers, and decrepit education system. Over the years of my computing industry experience since 1995, i have recently gradually come to realize the cause and plan a solution. I wanted to write a cohesive account of my thoughts one day. Here's a quick beginning:
• Most agree that computing industry has lots of problems, including: extremely poor software quality, poorly qualified programers, and a strayed education system. One final metric is the quality of today's software, and consumer's experience with computers.
• In pretty much free market system of America, we can say that software quality (or software related things) being the way it is is out of natural selection. In other words: “driven by economy”, or, a result that evolved naturally from competition.
• This naturally evolved result, does not mean it is the “best” outcome. Simply put: “outcome” does not mean “desired outcome”. Think of it this way: the solutions from genetic algorithms aren't best solutions, but best outcome from a given set of criterions and gene pool and the coupling environment.
• We can see now that the state of software or industry is not determined by idiotic and simplistic expectations such as quality of design or intelligence of programers. How things come to be in society do not have simplistic explanations, but sensible understanding is not impossible. In a commercial software world, software's popularity or trend is determined by the choices consumer makes. How consumer ends up purchasing a software has a myriad of factors among them awareness, but most responsible being the price/performance ratio, or just price. Also, the majority of consumers are morons with respect to evaluating software for their own good. This is why, the inept and FREE unixes and Perl and C are everywhere. It is also why, the f���ing incompetent unixes though free but has little place to stand in comparison to a charging Microsoft when performance also enters the equation. This also explains, the exorbitantly priced fashion-statement Apple software/hardware combo are no more populous than those affluent. (not because some f���ing fashionable chant about how good-things-are-always-unpopular f���ing f��� chant loved by vain above-it geeks.)
• The reason f���ing languages like C and family mask technically superior ones like lisp are in large part due to the unix phenomenon as explained above. C + Unix, incompetence + irresponsibility bootstrapping each other freely. The unix things teach programers to unthink. With their greed-based speed-based freely-distributable popularity-based iconoclastic irresponsibilities spreading like corruption do.
Solution: Understand and spread the word that writing bug-free software is not difficult at all, and quality software can be as intuitive as extra hands. When good programers understand this and catch on, good software with responsible licenses will emerge. Eventually software vendors will compete for more responsible software, one's that offer to be penalized for every bug or crash or misfeature. In turn, this will eliminate all f���ing fashions and idiots in the software industry such as the Design Patterns and eXtreme Programing or the TIMTOWTDI Perl f��� or the OOP fad or the f���ing “Universal Modeling Language” f���.
Do you want software/industry to improve? Everyone want to be millionaire when asked, but when they have to pay to be a millionaire, they reconsider.