I even mentioned libc. There is more to an operating system than a kernel.
In fact, this was an important part of my early computer education: when I was 12 (1994) I bought a copy of Slackware Linux because it had a free compiler (even Turbo Pascal was expensive for a 12 year-old).
At the beginning I just typed some small C snippets that I could find in books in the library. Then I started reading shell scripts and found out that a lot of the system is controlled through shell scripts and started writing my own. Then I started reading through the source code of libraries to find out how things were implemented.
At some point I got a Minix book (I was probably 16) at a discount at a book store. I started comparing the theory I read there and tried to find out how e.g. the Linux VMM differed from Minix.
Don't underestimate how important it is for a kid to have access to such information. Only a small subset dive deeply into the system, but they will be the hackers of the future. But you have to awaken the interest by making easy to dive in.
They will be using some app/language running on the OS. They don't need access to the OS source to do that.
I think you underestimate how important access to the OS (in the widest sense) has been to the success of everyone from Google, Dropbox, and Facebook to the newest of startups.
I do think the trend of iOS, Android and similar Windows environments is troubling. But if they ship Windows 10 on the RPi with something like QBasic and Visual Studio it's probably just as good a learning tool as Linux. Or even a better one considering the rest of the application ecosystem.
But then I don't think the Pi is really about teaching kids to code either.
The Pi Foundation has done a good job of persuading everyone otherwise, but I'm left with a nagging suspicion that a computer designed for kids from the ground up would look very different. It's just too damn complicated for most kids. The nerds get it, but expecting the average ten year old to learn Linux shell scripting or the fine points of Apache installation seems unrealistic to me.
Win 10 on the Pi is about two things. The first is about edging Linux out of the education market. Teachers will indeed prefer Win 10 to Linux, for reasons that others have mentioned - especially if it comes with a basic dev toolchain. Even if that toolchain is very easy to use.
The second is - I guess - selling Office 365 subscriptions on super-cheap hardware, and creating a whole new sub-PC market for Windows and Office.
If I'm right, it's a clever move. It will give Windows and Office access to many new markets worldwide.
Where MS hardware failed on price, the Pi version wins on price. It could be a very strong combination.
http://www.raspberrypi.org/about/ says that they designed it to enable kids to access a cheap platform on which it would be easy to code and that they considered the multimedia capabilities a good hook.
Price was clearly a major factor in making the RPi accessible to all [UK] kids. Their inspiration was in part the BBC Micro series - which were certainly not inexpensive.
RPi is cheaper than a second-hand Nintendo DS.
In short, as I understood it, the RPi was about removing the cost barrier to kids having their own system on which to code and hack both hardware and software.
I ran Linux for years and still use it today for my Pi only but I think the INITIAL learning curve to use a system is less steep with Windows than Linux, particularly if you are presented with a CLI Linux login. If you are presented with a GUI then it may be different for a 6 year old but I wouldn't say that the Linux vs Windows discussion really takes into account how easy it is to get into programming on the platforms.
(I know you can install gcc and get writing C/C++ really quickly but you can do the same with Visual Studio without understanding a package management system).
This is like complaining about how hard it is to get OS X up and running when installing on a Dell, but I see where you're coming from and realize this wasn't you whole point.
Anywho.. I would say it's easier to take skills learned from using Linux and apply them to the Windows OS than the other way around.
Admittedly, I did learn many skills with the command line but this DIDN'T translate to me being a wizard with the DOS prompt on Windows 98 back then - I didn't use the DOS prompt. Task manager didn't show a hierarchy of processes like pstree does now, and pstree didn't come (or even exist?) with RedHat 5.0 or 6.0. This was RedHat, not RHEL.
I got OSX up and running on my Acer Aspire :-)
You're right though, that was difficult.
I think the skills for the different OSes are only mainly applicable to their OS, despite how we think and how easily you and I can use the different platforms.
Using a keyboard and a mouse translates, but nothing else does really. Getting my wife to use OSX is frustrating for her, my brother gets angry using OSX too, my brother is lost under Linux, my mum gets lost under Windows (she's fine with iOS mostly now) and my dad is fine with Windows 7 and before but hates Windows 8. My wife gets lost under Android after using iOS for years.
Don't even think about programming for any of them on any of the platforms!
Jesus, Linux Circa 2000 is very very very different from linux 2015...
Seriously though, I use Linux every other day and my last job involved maintaining racks and racks of Linux servers. I also use a few Raspberry Pi s at home, and I appreciate that things change. The ditching of the normal windowing paradigm is the biggest recent change that made me use Linux less as a desktop OS. I didn't say that things don't change - where did you read that?
But it still stands that giving my mum a Raspberry Pi and an SD card, and she'll be none the wiser about runlevels, CLI, or the main point of the discussion, programming. She'll instead spend more time learning how to use Linux, surely?
Or are you saying that my mum will suddenly be able to start development or something?
Or are you just offended that I had some experiences in the past or something?
When you load this, the only thing that appears on the screen in a Cmd prompt, or powershell. If you think linux is hard to admin from the commend line, windows for people that do not know powershell is next to impossible
The average is not the only group that matters. If you have to spray the entire planet with RPis just to make sure you get one into the hands of the right ten year old, it would be worth it for the things they would be inspired to invent as they grew older.
Of course not. The target market is actually people like me, now in our late 30s/early 40s, who have a powerful nostalgia for the original "Model B".
But I think they missed the point of the Model B, a smart 10-year-old could grok the entire machine. You knew the memory map by heart, what went where, what happened in what order, and so on. The RPi has more in common with a PlayStation than it does with the Beeb. It would be like starting kids on calculus before they'd learnt addition. What we need is to re-start production of the real thing...
I think it's important we had a generation of instant-on machines that greeted a user with a command prompt and a programming environment. Even if you wanted to just play a game, you still found yourself LOADing, DIRing, SYSing, and maybe performing a soft-reset after a LOAD that triggered a system routine that now pointed somewhere else. There are things you'd learn after hours of playing and messing with games because, eventually, typing all this weird stuff at a command prompt made you wonder "how" or "what if". The metal and its registers and special calls were right there and you couldn't brick your machine in any way a cold boot couldn't fix, so next thing you know, your friend shows you if he POKEs this and then SYSes that, he could change the background color of the load screen. Cool. So now you need to one-up him so you spend a weekend messing around with NO TOOLS -- just a CLI -- and figure out if you POKE these other four places after LOADING and then SYS then you get unlimited lives. Of course the game crashing after a minute. And so it goes. But breaking things was encouraged because you'd instantly cold-boot and try again.
I think we owe a huge debt to instant-on machines with a command prompt and some environment (BASIC or a hex monitor or, today, bash with root on Linux and maybe Python or whatever). Any project that tries to put environments like that into kids hands again gets my vote. Windows... less so.
I think you mean commodore, or atari. Windows gaming came a long long time afterwards. It is more advanced in some ways but it does not beget OS programmers, like an open source OS does. If OS programmers die out, we're in very deep trouble.
It's not like OS programming is going away, but it has always been mostly a university thing.
And you could say we already are in big trouble. Since the ecosystem for multimedia weren't (and isn't) very good on Linux a lot of qualified user software exist on other platforms. Industrial, scientific, medical, music, film etc.
The same could be said for understanding why "the ecosystem for multimedia weren't (and isn't) very good on Linux" and various rounds of the DRM wars.
Microsoft shouldn't be blamed forever for deficits in free software and that's not an argument I'm trying to advance, but it would also be a mistake to overlook their historical influence on when and where certain barriers to tinkering emerged or persisted.
I think that's part of why this triggers a disgust response for some commenters.
Even when Apple practically gave the Linux distributions an opportunity with the neglect of the Mac Pro. Here you had people who didn't like Windows, disgruntled with Apple, liked unix, wanted a powerful operating system and was overpaying for hardware.
OpenGL isn't that much harder on Linux than on Windows, so where the push for great OpenGL developer tools on Linux? Google and Mozilla gets a lot of credit for supporting open source, so why are there no decent bindings from their respective new languages to their respective 2d libraries (Go/Skia, Rust/Mozilla2d)?
There's kind of a macho attitude in open source that things should be hard. If you can't or don't want to fix it yourself it your own fault. It's great for the people that are happy with that and are invested in it, not so much for the rest of us.
I believe Valve is working on that.
Not as tiny as the PC industry was at the same moment in history.
>Since the mid nineties people have learned graphics programming and reverse engineering primarily on Windows.
Because Windows won the desktop. Graphics programming and reverse engineering would have been learned on whatever OS was in that role.
You know, when you obviously have no idea what you are talking about, the wise decision is just not to answer. Both the Commodore and Atari scenes were way bigger than the PC's in the mid 80s till the early 90s. Ask any demoparty goer if you don't believe me.
Oh, and maybe you should read the site guidelines, second paragraph under "In Comments".
> The cracking scene, demoscene and games industry was almost exclusively built on Windows.
Which is blatantly false. Where do you think Team 17 come from ? A number of their members were recruited on the Amiga demo scene, and that was well before PC gaming was a thing.
And huh, the game industry existed way before PC Gaming. In 1985 the Amiga and the Atari could display animations on screens with 16 to 32 colors in relatively high resolutions, while PCs were stuck in monochrome (just like the first Apple). And oh yeah we had games. Tons of them. Are you trying to rewrite History ?
> Oh, and maybe you should read the site guidelines, second paragraph under "In Comments".
Nowhere did I call you names. I was merely saying you have no idea what you are talking about, it's OK, it happens to everyone. You know, I have been on HN for a while.
And yes I've also been on HN for a while, longer than you if that is your first username.
And that's where your problem lies, since the pre-90s era is far more important historically than the post-90s era (when the idea of a "demoscene" started to die entirely and game development shifted full-force toward massive companies - trends which have only recently begun to reverse beyond very tiny niches).
Audacity, Bitwig, QTractor and Ardour have made great strides - and that's merely stuff I know about. Userland software is quite beside the point I was making.
Closed-source single OS dominance without an open source alternative would mean much worse trouble than the trouble we are already in. To avoid this, you need OS programmers, many of whom never get to University.
That Microsoft is coercing people to use Windows is the favorite conspiracy among Linux evangelists. The reality is that Linux isn't and never was very approachable. You might not be able to dive into the source code of Windows, but at least your not stuck trying to understand yet another build system. At least there are decent learning material so you don't need read the source code or scavenge through mailings list trying to find something other than "why do you want to do that". Or a countless other examples like it.
I like Linux, I do. But you can't have your cake and it too. It's not as good as Windows if you want to have access to all areas of computing. Which is what you want when you teach computers to a wide verity of people.
Maybe you should be more concerned that most ARM devices doesn't have working graphics acceleration for Linux desktop systems.
Uhh, no they weren't. They were the focus of home computing during that time period. IBM-compatibles running DOS (or, previously, CP/M) were still the purview of businesses needing personal computers.
The reason why BASIC-oriented systems like those of Commodore and Atari are "nostalgic" is because they were ubiquitous in households during their heyday, and contributed heavily to the same memes and tropes of video game design that are being recycled to this day in big-budget games running on Windows 10 64-bat Supreme Home Edition Republic-of-Gamers PC-Master-Race monstrosities with Core i9 processors and NVodia GeFarce 96000000GTXXX 16TB 525600-CLUTA-core EXTREME-GRASS-RENDERING GPUs and all the other baloney that's dominated the thoughts of gamers nowadays.
> Since the mid nineties people have learned graphics programming and reverse engineering primarily on Windows.
By your logic, the concept of the automobile was invented by Toyota when they came out with the Prius.
There's a lot more to the history of video game development, demoscene, etc. than just the 90's; you're leaving out literally half of those subcultures' very nuanced histories chronologically-speaking - and, in fact, opting to leave out probably the most important half.
LOL on which planet did you live? The cracking and demoscene started way before MS DOS, with the C64, the Atari ST and the Amiga. Windows was super late to the game.
There was certainly a significant Windows (and DOS) demoscene, but to say it was exclusively built on Windows is about as far as the truth as one can get. Emphasis on Windows really only picked up in the late 90's; throughout the 70's, 80's, and early 90's, most of the demoscene, game development, etc. revolved around non-Windows platforms (particularly BASIC-running toasters in the 70's-80's, followed by Amigas and Macintoshes throughout the 80's and early 90's).
Windows 95 was the start of Windows becoming more popular for game development and multimedia production, but it took quite some time for Windows to displace the rest of the market (through Microsoft's monopolistic tactics, but that's another story). Until that point, there was DOS, but it was one of many contenders with relatively-equal footing only as far back as the late 80's at the earliest, before which DOS was more the purview of businesses buying IBM PCs alongside their IBM mainframes (in other words, about the most uncool computers one could possibly own). The reason DOS eventually caught on was very much because of how "open" (comparatively-speaking) it was compared to, say, Mac OS; the same subculture of BASIC programmers from the Commodore 64 days could make an easy transition to a similarly-minimalist environment requiring a lot of user intervention and therefore customization opportunity, much like how the world of GNU/Linux had been all the way up to the mainstream adoption of Android (and still is, though it's no longer an absolute necessity to be able to tinker with one's system like it was in the first half of the 2000's).
This isn't to mention that Windows didn't fully penetrate the educational market until well into the 2000's; most schools had a large quantity of Apple hardware still in use, thus influencing educational development. This was much stronger when the idea of a "demoscene" was still really relevant.
Now, the cracking world might have been different (I know DOS was a strong contender in the BBS subculture), but the latter two are very much not a product of Windows; far from it.
None of the home computers systems was open source.
We had computer magazines, and books to type stuff from.
This is what is important, to have information how a given system works.
I only jumped into GNU/Linux as a cheap way to have UNIX at home.
I think that today's youth will embrace technology at the level it appeals to them. If educators embrace Windows because that is what they know, it is better that there is some exposure than none. The kids that are inspired are going to take it further than most instructors will ever understand.
We then got Python up and drew a turn with Turtle, which she then extended to a rectangle.
We'll see what she learns and what I can teach her. But whatever she learns will be directly applicable to many other available environments. My Mac and her Mom's will have a terminal. At some point she can take this up to a Linode and play on the net. If her computer club uses Raspberry Pi, Linux will be there.
Maybe she could learn a lot with Windows 10 on a Pi. And much of it would be principled, and some of the basic emotional and mental disciplines needed to work with computers. But a great deal of it would be a particular interface, and one that is generally available only with costs or arrangements that exceed those of getting to a *nix interface.
Now why is it a good idea for her to invest in a sunk cost like that when she can invest in one with much greater and freer applicability?
Yet you decided to buy her a Chromebook, which is the most locked down laptop out there with heavy DRM with everything locked to Google's services and only Google code being allowed to run natively. Even Windows is much more open in comparison and doesn't wipe the hard disk when you try to install an alternate OS. Nor do you have to "root" it.
I also told him that he has to type some magic incantations to get them installed: "sudo apt-get install froogle" and he kind of loves it (and then forgets it right away... or do I know)...
But really for a $179 (that's how I got it) device I don't mind. He actually "blew" it once, by pressing SPACE at the booting screen and reseting the whole device (unlocked chromebooks are like that, there is a way to disable that, but haven't done it yet). I told him that minecraft is now gone because of that, but we can install it again, though his maps are not saved. He's not doing it anymore, and surely he'll be more careful than me in the future (he opened the chromebook without asking me)
In a thread about the value of open platforms, how is questioning the decision to buy a chromebook not useful or relevant?
I think you're also missing the parent commenter's point: that even on ChromeOS (via Crouton), his daughter's newly-learned skills will be much more universally-applicable, since she's working directly with free development tools available universally and on virtually all modern platforms (plus Windows) instead of working with toolchains specific to only one not-really-all-that-modern platform.
The "windows way" involves a UI specific to one OS, the *nix way can usually be applied to any UNIX like OS, of which there are far more of than Windows.
Not only that but once you learn to program on UNIX all you have to learn is an intuitive GUI to move your skills to windows.
1. The Unix era, back in the 70s, back when it was all university stuff. Free software was unheard of but the code was always widely distributed. 2. The Mac era, in the 80s, where there were a ton of different computers and they were all so primitive and simple you could easily hack on them yourself or with effort make your own kernels. DRM was too expensive to fathom so it was still modestly open. 3. The Windows era, starting with DOS but lasting through XP, where users grew up on a completely black box experience where you bought an emachine at Best Buy and browsed cat pictures online. No developer tools or command line presence at all after a while, so in my high school years (2005 - 2009) an extreme few of my peers even knew what programming was (I'm talking less than 5%).
The phone era is even worse than the Windows era because the form factor does not lend itself to productivity and the ecosystems are locked down (though I think a lot about Android and AOSP makes it much easier to break out of the theme park and see the wider world than in the Windows era).
I'm not saying making everyone use a command line OS or having to install Archlinux themselves would make them more enlightened, but I can convincingly say we probably lost a huge amount of potential developers in these last twenty years to the tivoization and tonka toy Windows experience where the barrier from going from software consumer to software creator was so insanely high.
On Windows, you have to first realize you can develop software. Huge barrier there. Once you know that, you are immediately in the giant cancerous mess of .net and Windows developer tools from MS, which is not something a, say, ten year old is going to be much interested in.
On Linux or any free software OS, you always have Python right on your system. You open up this terminal thing, type in python, read the website a bit, or maybe do Codecademy, and you can drop right out of the browser into the developer tool right at the ready. Maybe you want to get a bit more sophisticated and start using Gedit or Kate or Geary or Ninja as a Python IDE, in which case you just one click install this stuff to your desktop after reading about it on a Python forum.
My point is the process of "getting into" development or just giving a damn about computers is a hell of a lot more fun and reasonable on free software OSes or just one that distributes the developer tools out of the box, in the same way the 80s kids who now represent a huge chunk of the developer workforce came to be.
It's not necessarily that I could look at the source of the kernel (I didn't), it's far more the philosophy of the OS as a whole meaning that I could tinker with whatever I wanted, pull apart components and see how it broke, dive as deep as I wanted into any area of the system.
A Linux system is far more openly composed even when you're not at the source level, Windows is comparatively a black box. A value of Linux is teaching people how computer systems are put together and function, it is unequivocally better at this than Windows.
I don't hate Windows either, but I do think that Linux aligns itself far better with the RPi's mission statement.
Not most of them and not to begin with, but "educating themselves" means having a platform where their curiosity can run amok, and some kids with RPis absolutely will find the Eudyptula Challenge or some other source of inspiration and make it to tinkering with the kernel.
RPi is absolutely the perfect platform for this. Break your OS? Just throw in another SD card. Somehow damage the hardware? Whatever, it's only $35.
I'm not the only person on here who taught himself Z80 assembly language in school because it let me dig deeper into our TI calculators; if we'd been using RPis for programming assignments I would have been all over that. I think it's a little surprising that it even needs to be said on a site called "Hacker News", but let's not underestimate what curious kids with a bunch of free time will accomplish.
It's especially interesting when you're building an embedded system (typically with a RPi). Start with the minimal Arch Linux install, think about what you need and add just that.
There is a lot to learn about how operating system work when you configure Linux without having to recompile your kernel (something that nobody do any longer anyway).
Maybe, but Linux just seems more convenient. I mean, can you install gcc, golang, nodejs, python, ruby, ghc, lua (...) on windows with a single command? And all the other tools you might want to use, like editors, databases?
And you will never know if they want to do kernel-level coding if they don't have access to the kernel.
Yes! Just install chocolaty and type
cinst git
cinst mingw
cinst vim
(and so on)
Prior to Windows 10 it is a third party tool and not officially supported by windows. However starting with Windows 10 windows will ship with a version of this command called OneGet and it will be be officially part of windows.A simple example is this ConEmuConfig package, which will install ConEmu if it's not already installed due to the dependency chain: https://chocolatey.org/packages/EthanBrown.ConEmuConfig
Many Chocolatey packages I use have dependency chains, and I know some developers that build metapackages so installing one Chocolatey package installs and configures all the software on a new dev box or server.
Either way, while it is inferior to apt-get in many ways, it does fill the original posters brief in that it will let you install python,node,gcc,ghc,postgres etc. with a simple CLI command
Windows actually has pretty phenomenal support for kernel driver development (https://msdn.microsoft.com/en-us/library/windows/hardware/ff...).
I don't see a comeback for linux. http://www.google.com/trends/explore#q=linux
http://www.google.com/trends/explore#q=linux%2C OS X&cmpt=q&tz=
Anyway, Ubuntu works fine on most laptops. We can safely say it works across more hardware than OS X. We can also buy an Ubuntu certified laptop/desktop and have excellent support.
I wish Windows fan boys would stop pretending as if they never run into issues using Windows. I have to fix my dads computer once a week with windows. Windows 8.1 refused to wake from sleep on a brand new laptop that it came installed on and the wifi kept cutting in and out.
I find my self having a more pleasant experience more and more on Linux and less and less on Windows.
The most frustrating thing is the mystery about what causes it, since I haven't been able to find errors that explain it in the system logs.
Gaben is closing that gap for us.
Also, Minecraft runs fine on Linux. If GP poster had trouble, it's probably down to a video driver issue (which aren't unique to Linux, but are arguably more painful), or a new-environment-learning-curve thing.
The big studios might not care too much (though even this isn't really universal, since there are plenty of big studios that do target Linux/SteamOS), but there's a lot of activity from indie developers, many of whom are targeting SteamOS before they even target OS X (though there still aren't any SteamOS exclusives that I know of).
I've seen and helped people that hit these brick walls everywhere, whether it's installing the OS itself, a compiler, accessing a thumb drive, or whatever other task they want to accomplish.
These are things that may be incredibly trivial for us that's comfortable in this environment, but a brick wall for others.
I consider myself a technical person and while I think it's fun to use Linux, it's certainly not productive.
Should read: "...I'm certainly not productive."
Just because you struggled with the Linux paradigm, it doesn't mean that it's an unproductive platform.
You and your nephew must be doing something very wrong.
Then I get a dozen calls in the next six months about how completely broken something in 7 or 8 is, but they never consider switching back.
I don't know how to fix that. They get it in their heads that Windows is right and everything else is wrong and the first sign of contention drives them to panic right back to the MS camp, where every day is contention with the viruses and spyware.
Just an example, I had setup a small store with Ubuntu terminals. Six months later they wanted me to switch it all to Windows 8. For those six months the only service calls I got were software updates and general inqueries like "how do I download X?" or "how do I get flash?". Linking a one click Ubuntu install for Flash is insanely easy.
But now its been over six months again since the Windows 8 switch back, and I'm in about once a month to remove systemic viruses and spyware from all the computers because they all get horribly infected and I make them change their passwords every time. They even had the store owners credit card info stolen once, but they would never fathom using anything else again.
And they switched back because Office 2013 in Wine (because they could not stand LibreOffice) didn't interopt between each part properly - IE, trying to open an Access database as a form fill in Word never worked, and they didn't want me to just give them network disabled XP VMs to run Office in using all their old license keys because when they tried that the employees kept trying to use IE6 in the VM and complained it had no Internet connectivity.
It's depressing to read stories like these. I to do not know how to neutralize the peer pressure that seems to make people want to be constantly abused by their malware-infested Windows machines just because their friends are...
One thing may help: interesting metaphors.
When my mom once asked about viruses, I made her picture her computer as an SR-71 cruising at Mach 3.6, high above anti-aircraft fire directed towards Windows machines. Sticky images like this may help, but they may need occasional reinforcement.
Every once and then she also forwards me a chain letter warning about the dangers of such-and-such e-mail scam that tricks people into download malware. I tell her to relax because the malware most likely will not be able run on her computer, much less compromise it.
If you go the unofficial way you can use chocolatey (https://chocolatey.org/). I am very happy with it ( so does it my 9 years old son)
> And you will never know if they want to do kernel-level coding if they don't have access to the kernel.
That depends on the personal curiosity of each person. In my case I have never have that itch and I have been using Linux since 97 when you had to partition your disk by hand.
Not all distributions have apt-get.
sbopkg -i "node google-go-lang ghc ..."
Granted, you have to install sbopkg, but it's still not that hard. And most of those tools (GCC, Ruby, etc., even Emacs!) already ship with Slackware anyway, so it's arguably easier than most GNU/Linux distros.It's hard enough to get a school to teach kids anything beyond using Office. I'd be happy to make things as easy as possible on the teacher who are willing to go the extra mile to teach with a Pi, without making them go another 10 miles learning a new OS to do it.
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.
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.
BTW it seems interest in Windows is also halving every ~10 years (though not as fast as 'linux'):
Citation needed.
It's that last bit that seems to suggest a "who cares what the OS is, kids don't care" idea. In my view, though, it really doesn't. Kids aren't known to have a higher order of executive function. They'll generally just use whatever the trusted adults in their lives use.
Those trusted adults should be exposing kids to all the options, so that the kids are better prepared to make decisions when their executive function skills catch up.
Only kidding. I went to PC World the other day and attempted to use one of the Windows PCs and quickly became angry with Windows 8.1. Seems I have been using Macs for too long (and I used to use Windows daily, now I do but in a VM and it pains me).
It doesn't matter what system it is, teachers are best at teaching what they already know.
There are plenty of teachers throughout the United States who are effective at teaching creationism to their students. I think we can all agree that doing so is not healthy for those students.
All of them, if they want any hope of having a programming or system administration job (i.e. the non-executive IT jobs that pay pretty darn well) in the foreseeable future. Linux is what powers the vast majority of web servers nowadays, regardless of whether they're being run by plucky startups or long-tenured industry incumbents. Windows in the server world has effectively been relegated to legacy systems and a smattering of government websites (some of which in and of themselves also count as "legacy systems"), and that market is continuously shrinking as businesses modernize in methodology and technology.
That nearly put me off writing code!
Thanks to the BBC B and floppy disks!
The majority of users are actually running XBMC on the Pi, and they don't care if it's linux or windows. But the early adopters do care, and they are all Linux people.
Of course there are, but I was taking issue with Windows being unsuitable for a classroom - is it realistic to claim that teachers are getting children to modify and compile the Linux kernel in the classroom? No, that's silly.
Why not? Do you hod the opinion that kernel code is something impossible to mess with? If so, why?
"Windows is closed as ever"
Are these kids hacking on the Linux kernel or something? Of course not. They will be using some app/language running on the OS. They don't need access to the OS source to do that. Seems to me Windows is a perfectly open enough OS to act as a platform for tinkering and learning about computers.