Re: Perhaps developers should work offline
I see posters here suggesting that complex projects demand "team" development when the reality is that it is just cheaper to get in a few people who know what they are doing and a lot of amateurs who need to be told.
That would still be what is commonly defined as a "team".
The sad truth is that there are programmers who can code without allowing any errors in the final product and then there is the majority who have been programmed to believe it doesn't matter.
When I did data-entry work (for a short time between other jobs, was a terrible desperate time!), a typing rate of 90% accuracy was considered very good, and I think you were employed if you could top 70%. At 90% that means you average 1 error in every 10 characters! Now, my typing accuracy is much better than that - I've touch-typed this paragraph with the first error being the "U" in "touch" being missed. That was 326 characters without error (I also missed the 2nd C in "characters", both cases not hitting the key quite hard enough). So at this point 3 errors (next was hitting "p" instead of "o" in "So", 612 characters with 3 errors.
To type a tiny program with 1000 lines of code, averaging 100 characters per line, is 100,000 characters. The odds of any human doing that without a number of typos is 0. No matter what you claim your typing is not that good, there is no one who can type at a reasonable speed and get it right.
Some of the errors will be quickly picked up by the compiler, eg if you have a variable named "mycodeisshite" and in one case you type "mycodeisshit" the compiler should get that. But a lot won't be, say you mean to type "13565236734727" and you type "13565237634727" instead, in a constant, neither your compiler nor your eye will pick that up until you're having real problems and very closely look at the code.
So by this point I've already proven that either your code makes a "hello world" program look complex, or your code has bugs. You may get most of them before shipping, but unless your code is very trivial you're stuffed.
My last program was 603 lines of Pascal, including comments. It was a simple console .exe to clean up a minor failure in a customer's system, seeking a string in certain file names and removing that string. From what I know the "shipped" version was bug-free, however it was only executed 3 times once complete - a test run by me on sample data, the actual run on that customer's machine, and another run on another machine with the same issue. I designed it in an hour, and built it in a weekend with a few bugfixes in the process. By most standards this really is a very trivial program. I have no idea how many lines of code a graphics driver has, or the kernel of an OS, but it is far beyond what one person can do.
Add in development tools that are themselves insecure and management who value only getting the product out the door.
True there are issues with the build tools (as I mentioned, another reason why your code cannot be perfect). And also true there are managers who want products shipped as soon as possible, however repeat business comes from having a product that's good enough - if your customers really hate what you're doing then you're not getting them back.
It used to be that if you wanted a computer based solution, you went to a guy who built the hardware, software basically everything from scratch, if he had to get help then clearly he was the wrong guy. Now we roll out "qualified" developers who could not build the hardware, have no clue how to write an OS and need a existing development package to write even just an office suit. How can anyone doubt that trusting these guys is a bad idea.
And here we need that steaming pile of bovine excrement icon. Even Turing had a team helping him out, and before them - before he was born even - a lot of work went into stuff that he learned and built from. If Turing hadn't had his team then his machine would never have worked, certainly not in time to crack Enigma anyway. It was someone else who gave him the idea to look for the common element (the weather report IIRC, though "heil hitler" also springs to mind).
If you're referring to "building the hardware" as actually from raw components (rather than building a PC consisting of already-assembled mobo, already built CPU etc etc) then there is NOT ONE PERSON in this world who could do that. One person can build a CPU, true, it has been done not long back. However, that CPU is very large and does not have the power of even the least of the smart phones.
I'd love to see a citation of where one person could do the lot, build the hardware and write the software. Even in the Vic20 days that would've been difficult, if not impossible for one person to do. Maybe back with some of the more simple kitset computers that blinked a few lights.
You could blame the education system, the employers the users or you could just accept that unless you are that guy then you are an imposter, you are the reason for the "bugs" and vulnerabilities, simply because you do not know better. Better to have given matches to children.
Actually no, I think the few people out there like you are the problem. Really, you can, on your own, code an entire OS, plus application suite, plus build the computer - and all of this non-trivial and secure and bug-free?
Absolute rubbish. But I'll call you on it and give you a chance to prove yourself - what code have you released that is not trivial and bug-free? What OS have you written? Afraid you'll have to kill your AC and provide verifiable links (I'll accept you passing the info to staff at El Reg (since they can tell who you are anyway) and have them check your claims and simply come back with a "Yes, AC has actually done this" or "No, AC is telling porkies")
Icon --> Always looks to me like a homeless guy sniffing a tube of some sort of glue. Brain-damaging drug use seems appropriate here.