|
Basically I'm hearing two arguments here:
1. End users don't care about things like fragmentation and memory leaks.
2. Programmers don't control their projects, business people do, which means that code is rushed out before going through any QA.
Neither of these points even come close to addressing the real issue here.
#1 is the Ostrich Argument; just because end users don't care about the issues doesn't mean the issues don't exist. This is why in the IT world (all facets of it, not just coding), "user" means "idiot". They may not care about fragmentation, but they will care about piss-poor performance coming out of their brand new PC. And they may not care about page faults, but they're going to care when one of them causes an illegal operation and the program decides to go bye-bye. And they may not care about threads, but they're going to care when some of those horribly-written threads start to deadlock and their computer locks up. Users may not care about the technical DETAILS, but they sure as hell care about the EFFECTS - and if users knew a little more about the details, there's no way they'd stand for these jokes they call "software".
#2 is both irrelevant AND false! In effect, all you are saying is that the business people are stupid and have no concept of a real software timeframe (sort of like the Dilbert boss - "If I don't understand it, it means it's easy"). But this also implies that it's standard sensible business practice, and it's not, because (a) the support calls will cost the company a lot more than they save on development time, and (b) unless it's a company with monopoly power like Microsoft, users aren't going to want upgrades.
But that ignores the much larger issue which is that as nice as it is to blame the management, it is NOT always the management's fault. The real problem is that there are THOUSANDS of IT/CompSci grads out there who call themselves programmers and can't do shit, they get hired by companies to write professional high-end software, and what they produce in 3 weeks of lead time looks and functions much like the "test programs" I hack out in 3 hours. I'm sorry if it sounds like I'm tooting my own horn, that's not the intent and I know there are probably hundreds of programmers out there better than I am, but there are also thousands of worthless wastes of skin out there who can't understand basic concepts like a Linked List or a Hash Table.
It's only about 50% the fault of management. Yes, it's true, they sometimes give unfair deadlines, but good programming teams can usually come up with at least half-decent code in that time by following simple OOP rules - that way they end up with maintainable, reusable, debuggable code.
So I'm sorry but these arguments don't fly. Many of you will remember that I defended Microsoft in the whole silly anti-trust thread, and I stand by that, but that does not mean there's any excuse for such a big company to be cranking out worthless, unreliable and insecure crap like Internet Explorer.
Open Source is the way of the future. Maybe you don't realize this Malek, but a lot of Open Source contributors aren't little kids who have yet to grow up and get a real job - rather, they DO have jobs, often IT-related jobs, and their contributions are somewhat of a hobby (I say "somewhat" because the end result is something they can actually use, and not a stamp collection or a model airplane). Open Source also forces developers to tighten up security because any idiot could wade through the code and find the gaping holes. Security By Obscurity (Microsoft's well-known model) does not work and is known not to work!
___________________
My party schedule:
2009-02-21 - DJ Attention @ I'm So Popular
2009-06-18 - DJ Annoying @ People Need To Know Where I'll Be
2012-11-32 - DJ Insufferable ɸ Or At Least the Stalkers I Complain About
2048-06-66 - Spastic & Whocares ¶ Although I'm Actually Flattered
9999-45-81 - Tweaker Gimp ☼ I Probably Won't Even Go To This But I Have To Make Sure I Fill Up All The Available Space Here
|