It's really kinda funny, and I dont know if it's funny ha-ha or funny peculiar, but, if you look at the X-Windows (Unix) programming syntax, and then at the Microsoft Windows programming syntax, you'll find function names that are very similar indeed.
I started programming with the IBM 1130 in 1971. Fortran & Assembler. 8K of core, 512Kbytes on Hard disk, and the 1130 was as big as two Caddilacs with CPU, Card reader, Line Printer, Tape drive (and don't forget the card sorter). Fond memories of the infamous 1H1 loop.
I met computers before I found out about girls, and, I think the computers were (are) easier to deal with. Computers just say "that didn't work, try again", not "That didn't work STUPID!".
Microsoft is the 9000 lb gorilla. If they want your stuff they take it. Confidentiality agreements are meaningless. Just ask Symantec/Norton. How do you think they got "defrag"?
The driving force behind the developments in computational methods that preceeded the PC era were codebreaking algorithms and system designs to support ever faster processing. IBM, Amdahl, Cray all designed bigger, faster machines to support the NSA. Business was the benefactor of their efforts.
It's kinda ironic that since the PC era began, the primary motivation to make bigger faster PC's has been to support the PC game industry.
The true heroes of the computer age are for the most part unsung and unknown. They are the ones that first conceived the fundamental principles upon which today's modern operating systems are based. Multitasking, Multiprocessing, Virtual Memory, Cacheing, Disk storage, all started out as an engineer, scientist, or student (graduate student) with an idea. Most persons have no idea the "shoulders of giants" they are standing on when they turn on a PC.
It's a shame that many users feel frustrated and angry with the hassles of dealing with the PC. It's a complex animal. Sometimes it's a wonder that the damn thing even works at all, there are so many things that can screw up. The amount of things that are happening in the box just to open a web page are phenomenal. When it works it's great. When it doesn't it's frustrating and annoying.
I do real time systems design and programming, both in WinTel and Linux/Unix. If you wanna see some real hairy details check out
http://www.ece.utexas.edu/~valvano/index.html
for some interesting "real time" programming material. John Valvano is a real wizard.
When you sit down to your high speed internet connection or 56K baud dial up connection remember that all of the telemetry from the moonshots was communicated from all over the world to Johnson Space Center at 2400 baud (Bisync Comm).
BTW, there was a "heartwarming" little article that appeared in one of my trade magazines in the last year that is of interest to the analog/tube world. The article basically stated that the 2.4 gHz and up PC's may become junk after 3 years of use. Seems the vias (current carrying pathways etched into the silicon) are so tiny now that they're gonna suffer from electron erosion. Gonna be interesting to see if this comes true. Hang on to those old 800 mHz PC's after all.
Dekley S-10, Emmons SD-10, NV400