In my case, I wanted *one* mechanism for moving data between nodes. Less code to maintain, less variance in the operation between any given set of nodes, etc.
E.g., I can implement a time synchronization protocol over ethernet and *all* nodes benefit from it; I don't also have to implement a similar -- but different -- protocol over CAN to ensure the CAN-based nodes are in sync with the rest of the system.
(you would like to avoid writing a 32 bit math library *and* a 40 bit version of the same library!)
Most of the world's "programmers" are probably writing Javascript WEB PAGES!
Don't underestimate the number of *different* embedded applications that exist and are created each year. You should be able to find at least 100 such applications among your own possessions!
Sitting here, I know my mouse has a bit (tiny) of code in it. As does the keyboard. If either of them were cordless, there'd be a bit more (in terms of count and complexity).
The DVD drive has at least one processor in it. As do the BT earpiece and the digital camera sitting on the desk. Ditto for the "spare" disk drive I was preparing to format -- and the "learning remote" (for the TV).
The PDA sitting in its charger has one -- with several "apps" on it. As does the laserjet printer crammed under the desk. (and, I haven't ventured from my seat, yet!)
The furnace has a processor in it. As does the swamp cooler. As did the "old" thermostat -- and the old "controller" for the swamp cooler. Dishwasher, stove/oven, washing machine, dryer, refrigerator, microwave oven, garage door opener, toaster, toaster oven.
No idea how many processors are in the TV. *Each* of the TV's! Or, the little "bookshelf stereo". Or, the tuner, amplifier, CD player, tape deck, etc. And, each of their "remotes".
The DVD player and cordless phone (base plus each handset) have processors (and "programs" running on them). As does the electronic clock hanging on the wall.
The "base" for the iPod has a processor. As well as each of the iPods. And the Zune. And, the numerous "off brand" media players scattered around the house.
I have a collection of older smart phones (that I use as wireless terminals) -- each with resident firmware *plus* "apps". The PSP's and PS2's each have a processor (and each "game" is a resource constrained app).
Each LCD monitor has a processor. Each LCD projector (doesn't EVERYONE have a couple of these? :> ). Each external/USB disk drive. The NTSC digitizers. The DTV-IP media pumps.
The Phaser, color laser, color inkjet, photoprinter. The duplexed LaserJet. The A/legal-size scanner, the B size scanner and the "film" scanner. The pen plotter.
Each of the UPS's. Each tape transport, tape library and external "media drive" (various size MO's and other "off-beat" formats like ORB, etc.). The managed network switch. The firewall appliance. The reading machine (KRM).
The four (different) NAS boxes. The one-port terminal server. The SpaceBall, joystick and the NewLooq. The digitizing tablet.
The BIOS in each of the dozen or more *different* "computers" and servers, here (i.e., servers often have MCU's that do things like sequence the power to the hot-swap backplane, control fans, etc.). Plus laptops and tablets.
And, I haven't touched any of my *automation*, yet!
Nor any of the test equipment (freq synth, digitally programmable power supplies, 'scope, logic analyzers, etc.)
*Or*, ventured into my "toy boxes" (kit that I am not currently using) -- "gyro mouse", anyone?What about the cars? Or, the stuff my *neighbors* have? Or, the odds and ends at the convenience store up the corner (security cameras, electronic gas pumps, refrigeration controllers, etc.)? Aircraft? Spacecraft? Military weaponry?
[Apparently, some of the ancient processors are still employed in "modern" weapons. E.g., 6502 experience is often sought in that industry]Or, the scads of computerized products that are sold at local department stores and electronics stores?
Sorry for the lengthy list but you would be amazed if you actually started tabulating how many "different" pieces of software you are surrounded by that aren't designed with the desktop in mind.
*And*, that are created with economic pressures on their designs!Shirley you don't think "comparatively few people" programmed all these different devices from different vendors in different industries?
How big do you think the *teams* that develop desktop apps are? And they don't have to design any hardware...
There will always be mice, toasters, microwave ovens, refrigerators, etc. Why are people still buying/using PICs??