Is this really necessary for most kids? My view might be skewed because I grew up in the 80s, but everything I learned back then were things like Basic, COBOL, Fortran and Pascal. One of my high school classes did some assembly language on the Apple II, but I'm not sure most of the people in my class wanted to get down to the nuts and bolts.
If a kid is really into the nuts and bolts, they'll likely discover Linux organically. I learned most of my computing skills outside of class by doing my own research. And back then, there was no such thing as Google, just magazines at the newsstand and books in bookstores and the library.
I would say the majority of kids would probably be content enough learning how to make a web app, which can be easily done on Windows without needing knowledge of the stack that makes a computer a computer.
I just switched back to Windows from OSX, and the only reason why I have Visual Studio on my machine is so that I can compile some of my node libraries. I hardly think using Windows will breed a generation of .net developers at all.
Think about what you had back then, though. At best, you had Mac OS (which was as abstracted away from actual computer internals as Windows is today). All the other options - whether it was Commodores or Ataris or DOS-based IBM-compatibles - involved working very close to the hardware. You were manually dealing with interrupts and memory access and other very-low-level components.
Basically, the reason why you didn't have to delve very far into the underlying system was because there wasn't an underlying system in the first place for you to delve into. COBOL and Pascal were pretty high-level, but BASIC and Fortran are along the same lines as C (especially back then): very low-level, very directly-wired-to-hardware, very thin abstractions over raw assembly. You were already delving into way more than students today would ever be able to delve into on a Windows-NT-based operating system (where you don't even have DOS internals to muck around with, unlike on Windows 3.x and 9x - which is what I personally grew up on).
Yeah, students might be able to get by on a bit of HTML and Javascript and maybe Ruby or Python, but I would be lying if I claimed that such an education would be as in-depth and worthwhile as what your or I experienced pre-2000.
The best my high schools had were the Apple II family and PDP mini computers -- my first high school course in BASIC (I already knew Basic from my home computers) -- we were marking up Hollerith cards with Sharpies. You don't know painful debugging until you have to manually scour a deck of optical cards looking for an errant black mark.
We did not deal with interrupts, memory access or low level components. What we learned was more about logic -- not much different than what I do today.
The closest I ever got to memory access in BASIC were the occasional peeks and pokes, and even then, you didn't need them to write a useful program. Being able to build something even as rudimentary as a CMS today on (insert language of choice here) is more broadly useful than anything I came out of high school with.
Also, remember that nothing was really cross platform back then. Most languages were procedural, and free databases (relational or not) -- forget about it. I was on Mac at the tail end of high school, and if you wanted a tool like Lightspeed C or Lightspeed Pascal - those were way out of the budget of a high school student.
"What you were doing was effectively operating system programming" is a _major_ stretch.
The sorts of programming you were doing was barely higher-level than the sorts of programming involved with an OSDev-style "Hello, world!" kernel[0]. My remark is not a stretch at all. At most you had a few thin conveniences (like having some graphics-related features already available to you, since Woz had prioritized that when he designed the Apple II's BASIC interpreter); beyond that, it was direct access to everything from RAM to tapes (unless you were running Apple DOS, but that was not at all required for BASIC programming on an Apple II, and the Apple II didn't ship with it).
BASIC for all intents and purposes, was considered a high level language when I learned it.
From what I remember, BASIC kinda had a similar reputation as PHP does today (probably unfair) in that it wasn't generally taken very seriously as a programming language. You didn't use BASIC to make real programs on an Apple ][. For that, you'd do it in assembly or machine language. That bias is still stuck in my head even after 3 decades.
I know fair few .net developers, and they've all had linux years, and tried various languages.
I think they should widen out.
It leaves a huge gap in the childs education on computing that is one the major reasons so many people today do not even know Windows is not the only OS out there. And of course if they learn on Windows they are going to stay on Windows a huge majority of the time and it just breeds another generation of .net developers who would have a panic attack if a line didn't end in a semicolon.