RPi claims it will get kids interested in programming again, but in the end it's just a supercheap Linux box. I think you'll see more kids want to make their spaceship do something really cool and really efficiently on the virtual in-game CPU. The instruction set is small and tight and very easy to learn. I know everyone wants to build compilers for every language under the sun for DCPU, but just like in game programming the tighest code will win.
Just throwing that idea out there.
Something simpler and cheaper than Mindstorms, yet more open and easier to experiment with.
10 PRINT HELLO is slightly more obscure on a Linux desktop. This is where I see RPi falling down in the educational market and it turning into another hobbyist breadboard.
I credit this exposure to 8-bit low-level programming at a young age for my easy experience in computer architecture and operating systems classes later on.
Can you toggle in a new A/D converter? Can you toggle in a connection from your screen refresh to a CPU interrupt? Can you toggle in a switched memory bank so your hardware can handle more memory than the CPU was designed for? Obviously not.
These are the things you lost if you 'jump straight into writing "software" in asm or C or whatever.'
Sounds like a big success, then!
Isn't this what every high level programming language designer aimed for?
I remember the days of writing GEM apps in 68k assembly...
He's screwed, near as I can tell, unless he can find at least half a year to sit down and learn C / C++.
If he's a good programmer he shouldn't give up. If he's job hunting, tell him to spend a good two weeks learning C++ and build a couple of dummy programs, then start applying for roles and continue to work on his C++ in the background. It'll come.
And from time to time there comes another layer on top of everything else, and you wish you could forget the lowest layer you know, just to not start going insane. Or at least to slow it a bit :)
Though let me say that this is where I think good universities play a crucial role. A lot of my class mates had never written a line of assembler or C before university, and by the third year we had all built CPU's, compilers, operating systems and a few robots. Some of that is bound to stick and help you grow an intuition about the towering stack of complexity below the browser window.
Software is solving much more difficult problems than ever before thanks to this evolution to higher abstractions.
Case in point: I once had a co-worker show me a Java crash report from a crash that nobody could figure out. Every now and again, the server, Tomcat, JVM and all, would just die, spitting out a stack trace that went into native land.
One really nice thing on the crash report was a full register dump, stack address dump, and a dump of the memory around the PC. So I disassembled the memory, figured out that it was calling memcpy when it died, and lo-and-behold, one of the register operands was 0! A comparison of the stack addresses showed that it was dying in a library used for biometric fingerprint based authentication.
The vendor kept insisting that the problem was on our side (we had a JNI library of our own that called their library, but I desk checked it twice and concluded that it was fine), so I disassembled the whole library and traced what it was doing. It turns out that certain kinds of incomplete fingerprint scans wouldn't trigger a rejection at the high level, but would cause a rejection at the lower levels (almost... it would clear the pointer to the data but would then return TRUE instead of FALSE). The library would then carry on its merry way passing a null pointer lower and lower until it died in memcpy, taking the JVM with it.
Please prove that. :-)
Most of what I see is reskinned GUIs from the early 80s... first on Mac OS, then on Windows, then on OSX, then on Linux, then on the Web, then on handsets...
more pixels per inch != more essentially complex.
big data was being handled by bank mainframes in the 1970s (the original cloud computing. :o).
The list goes on and on and on. I can't imagine how anyone could seriously argue that we're not leagues ahead of where we were in the 70s.
I used to play Elite too and, while it had some unique qualities, it wouldn't compete with any of the better modern titles for my attention now.