I obviously didn't make my position clear. I have no problem with standards; they are wonderful things (look how many of them there are). But I think it is unrealistic in a fast-paced industry to expect every new device to fit in with existing standards, particularly if you are going to go to the level of standard ports and commands. It just wouldn't work.
A single standardized processor with a fixed instruction set would make life a lot easier for programmers; but would it be a good thing? As I love tinkering with 6809, 68000, PPC, ARM, and other devices as well as the de facto standard x86 I would say no.
To take a software example, it is a good thing that we have a standard character code (old-time IBMers, look the other way), but I wouldn't like to see a standard font implemented even though it would make life easier for software publishers. A standard OS would be an equally "good" thing from the point of view of those writing userland programs. But it's not my cup of tea; that's why I come to this site. I see little point in reimplementing the wheel.
Generalized standards are fine, but not when you get down to the port level, or a similar micro-level. Horses for courses (and - to UK readers - not that sort of course).
most challenging thing?
Re: most challenging thing?
I think abstraction was spot on. There is an infinite number of ways you can design your layers and finding the most intuitive one is difficult. Especially in an operating system.
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
http://github.com/Jezze/fudge/
Re: most challenging thing?
Once again, I'm going to disagree with iansjack. The point of the OP's post was what's challenging/difficult about the electronics/computer industry -- or conversely, what (if changed) would make working in the industry simpler and easier. It is precisely the complexity and chaos and difficulty that makes tinkering fun. And makes life difficult for everyone else.
Yes, imagine what it would be like to have a standardized (good) instruction set on all CPUs. On a standardized (good) motherboard, with a standardized (good) hardware interface to the busses, with standardized (good) busses, each with a standadized (good) protocol. Running a standardized (good) OS, with a standardized (good) API and GDI, with standardized fonts. All the tinkerers would be crying? Too bad. It would certainly make working in the industry simpler and easier. Peripheral designers wouldn't be able to implement their wildest ideas? Tough. They get to wait 25 years for the next implementation of the standards.
Yes, imagine what it would be like to have a standardized (good) instruction set on all CPUs. On a standardized (good) motherboard, with a standardized (good) hardware interface to the busses, with standardized (good) busses, each with a standadized (good) protocol. Running a standardized (good) OS, with a standardized (good) API and GDI, with standardized fonts. All the tinkerers would be crying? Too bad. It would certainly make working in the industry simpler and easier. Peripheral designers wouldn't be able to implement their wildest ideas? Tough. They get to wait 25 years for the next implementation of the standards.
Re: most challenging thing?
25 years before you can implement new technology? Right. Only another five years, or so, and we'll be able to build USB 1.0 ports into our new computers. We'll have to wait a bit longer for 64-bit processors.
I think I'll stick with chaos, thank you very much.
I think I'll stick with chaos, thank you very much.