If anything, it's a disadvantage IME: the implicit lessons of the iDevice are that the world is made of non-user-serviceable black boxes that cannot be recombined to make anything substantially different than what you started with, and if one does ever manage to peek under the hood (and why would one do that, any more than they do with their fridge or their TV?) one sees only immutable non-deconstructible complexity.
Contrast this with the 8-bit era: devices made of multiple clunky components large enough to manipulate and simple enough to fully comprehend, shipping with "user manuals" that look like today's programming textbooks or service/maintenance manuals (where those exist today at all), a readily available developer environment giving full access to the hardware, tinkering with hardware and software as a matter of course to get anything interesting done at all... The experience is very different indeed.
I totally agree with this. The mass produced handheld computers such as smartphones and tablets, which outnumber desktops and laptops in personal ownership worldwide, will absolutely not help the newer generations with learning how computers work.
When I was a tween I was building my own desktop, installing drivers, trouble shooting driver issues, trawling log files, and even dabbled in a little bit of python here or there when I had no idea what I was doing.
None of that is even a thing on the black box of of a touch screen device.
I am so glad that there are enough people around to support a healthy PC components market. I build 1 or 2 per year and I haven't felt the supply dwindle yet.
It is a shame that this is no longer the default option, but it can be done for people wanting to get an educational experience. I wonder how easy it would be to build a computer with a little kid?
My six-year-old nephew sat with rapt amazement as I assembled a standard PC in his living room while hanging out with the family. It was a very straightforward build- just motherboard, CPU & RAM, no addon cards, hard drive was already in the case. His mind boggled a little when he saw all the wires from the power supply, but as I pointed out how each group of wired to key into only certain ports, I could see the 'aha!' in his eyes.
(He also just about jumped for joy when he saw the color-changing LED fan I put on the case.)
Obviously at that age he doesn't quite have the manual dexterity to do the work himself, but I let him touch the RAM as I installed it so he could feel it click in to place, and showed him how to close & latch the CPU lever.
He appeared to really enjoy the experience. The next time one of the offices I work for retire some desktops, I may clean some up and partially disassemble them, so he can 'build' one himself. I really want to impress on him the fact that things that look complicated can be understood, if you just break down the task into bite-sized chunks.
You forget that Arduino and Raspberry Pi exist now and fill that void quite nicely. If anything, I think it is far, far easier to learn the intangible CS skills today than at any time in the past. The one problem I see is with kids' motivation to do so, not with access to information or materials.
I think the subtlety is the change in defaults. Having access isn't even half the battle. Speaking from experience my motivation came from spending hundreds of hours making the only computer in my family work.
Exactly. And the UI of a phone has become increasingly elementary and unsophisticated compared to even a keyboard and mouse. Being an end user of mobile games or Snapchat or Tinder (swipe-swipe-tap-swipe) simply doesn't prepare you for Emacs or vim.
My son is five and recently put together one of these: https://kano.me/
It's a great little system. It teaches the commandline and python programming and it lets kids do things like play minecraft then change the code to make it run differently.
Contrast this with the 8-bit era: devices made of multiple clunky components large enough to manipulate and simple enough to fully comprehend, shipping with "user manuals" that look like today's programming textbooks or service/maintenance manuals (where those exist today at all), a readily available developer environment giving full access to the hardware, tinkering with hardware and software as a matter of course to get anything interesting done at all... The experience is very different indeed.