There is something going on here that no one seems to be talking about: the collapse of markets.
Karl Marx made one chilling prediction: when the workers did not have the money to buy the goods they produced, markets would collapse and capitalism itself would collapse. Henry Ford beat Marx when he paid his workers an unheard of $5 a day, creating in a single stroke the blue collar middle class and a market for his own goods. And this made America an economic powerhouse, not just for it power to produce, but for its power to consume. Gaining entry into that market is sufficient to make other nations bend over backward. It is the main well of American soft power.
Until now.
With the growth of capital intensive, rather than labor intensive, manufacturing, the wealth from the manufacturing industry is concentrated in a few hands, and markets continue to shrink even as productive capacity grows. Marx has become relevant again. In the early 2000's, when I heard about the shenanigans in the banking industry, I pessimistically predicted that these idiots would make Marx relevant again. And they have. Now I'm afraid that our new aristocracy will make Lenin relevant again. And believe me, you don't want to make Lenin relevant.
So that means we are going to have to employ people, and pay them a decent wage. Yes, even those that are less than the best and brightest, because being less than bright, they will find stupid ways to make money, most of which will land them in jail. And we have a burgeoning prison industry that would love that, but the prison industry is bankrupting us. Where once we had employment for ditch diggers and farmhands, now those jobs are done by machines. So, yes, we need to find something that they can do, and pay them for it. And it would cost far less to employ the barely literate as street sweepers and park gardeners, with a decent wage, than to house them all in prisons.
If you think you are immune to this trend, please keep in mind that one of the main thrusts of high tech research now is AI. Medicine and law are already within the scope of work that can be partially automated by AI, but the goal is to produce systems that can produce code on demand. And then, we will all discover what the blue collar worker had been experiencing for decades.
But the one percent cannot support capitalism, certainly not when they're own markets are dying.
We need to figure this out. And soon.
Nuke the server from orbit. It's the only way to be sure.
Oh come on, you think your little niche is the whole world? A modern day "real programmer" wouldn't waste any time on a shitty 8bit processor.
I did my time in the 8bit 6502 days. I loved them. Those days are gone.
If you're not coding 64bit then you are stuck in the past. Tell yourself anything you want, but if you are still coding on a 8bit processor then you are horribly obsolete.
Now there's something I haven't heard about in a LONG time...
I'm no fan of Java-based curricula, for the same reason I'd be no fan of Fortran-based curricula. Computing isn't about one language. Each language and system shows you one hyperplane of a vast multidimensional space. The best programmers know lots of languages, and choose wisely among them — or even create new ones when appropriate.
In the production world, there are times where some C++ or Java code is appropriate
(Just last night, at a meetup, I was talking with two bright young physicists who reported that their universities don't do a good enough job of teaching Fortran, which is the language they actually need to do their job. Scientific computing still relies heavily on Fortran, Matlab, and other languages well removed from what's trendy in the CS department — no matter if that CS department is in the Java, Haskell, or Python camp. But if you want to learn to write good Fortran, you basically need a mentor in the physics department with time to teach you.)
And there are times when the right thing to do is to create a new language, whether a domain-specific language or a new approach on general-purpose computing. There's a good reason Rob Pike came up with Sawzall, a logs-analysis DSL that compiles to arbitrarily parallel mapreduces; and then Go, a C-like systems language with a rocket engine of concurrency built in.
(And there's a good reason a lot of people adopting Go have been coming not from the C++/Java camps that the Go developers expected, but from Python and Ruby: because Go gives you the raw speed of a concurrent and native-compiled language, plus libraries designed by actual engineers, without a lot of the verbose bullshit of C++ or Java. Would I recommend Go as a first language? I'm not so sure about that
What would an optimal computing curriculum look like? I have no freakin' clue. It would have to cover particular basics — variable binding, iteration, recursion, sequencing, data structures, libraries and APIs, concurrency — no matter what the language. But it can't leave its students thinking that one language is Intuitive and the other ones are Just Gratuitously Weird
There are two ways to write error-free programs; only the third one works.