Seriously. To do any serious task requires state, and the problem with a minimal shell is that it can't remember much. The major scripting languages where all written to solve this problem, as well as integrate with embedded code in C. I'm a fan of Tcl myself, but virtually any scripting engine would be an improvement to a network enabled Pseudo-BASH with a whitespace delimited language.
You know a craftsman by his work. Programmers, real programmers, are always fiddling, and love to show off. Imagine if you were hiring a mad scientist, and he came to the interview with zero crazy schemes for world domination and had never grafted a deadly weapon to a deadlier life form. Would you take her seriously? Would you hire an astronomer who never looked through a telescope beyond school hours? No. Would you hire a ballplayer who just majored in the sport, and had never played a single game?
There are doers and couch warmers. Doers know doers. Couch warmers know couches,
...to the first interview without having developed something? I got into programming because I loved programming. I was writhing games in BASIC at 10. By 16 I had picked up C. My freshman year of college I was running servers on my machine in the dorm. By my junior year I was coding professionally. (Never did end up graduating come to think of it...)
When employers want to hear about hobbies, they want to hear about hobbies like mine. Writing web registration apps for large non-profits. Building IPhone apps. Programming micro controllers.
Coding is a lifestyle, it's not a major.
For $600 you could have gotten an iPhone with all of that. In 2007. Today, you could pick up 6 late model, or two high end, or one gold plated latest model with the extended warranty, tinted windows, and curb feelers.
What was the argument for the Android again?
No actually, I would argue that it's better to simply start with the basic concepts of C and then get more complicated. Sorta-teaching kids a half dozen languages is meaningless, if our stated goal is to turn out competent IT people.
It's not exactly like C::Java as Integral Calculus::Algebra
Java is a complex monster all it's own, and half the complexity is because it tries to get cute with pass by references, garbage collection, and all manner of things that would only take a week of class time to teach a sufficiently curious individual.
With C, most of the complexity is in dealing with the limitations of the computer itself. It can only do one thing at a time. Memory is finite. If you allocated it, you have to free it.
(When you start getting into object systems, my argument is to ditch compiled options and layer on a scripting language like Python or TclOO that can better handle the Kama-Sutra like transformations abstract objects need to perform.)
Well, if you don't understand memory addressing... how do you understand programming to start with? It's so simple "I want a block of memory" is malloc(). I'm done with a block of memory is free(). A pointer points to a block of memory that was malloc()'ed.
I was 16 years old, reading a xerox copy of K&R's "The C Programming Language", and my only prior experience was BASIC. (Where the looping construct was "GOTO")
The problem is, kids aren't learning programming languages because they are fun. They are learning them in class, and under the gun. It takes years of playing with these concepts before they make sense. And we don't have the kinds of curriculum that stress "this is a multi-year discipline in which what you learn in year 1 forms the basis for year 2." Instead, we reward kids one correct answer at a time, and never mind that the 9 questions they got right were useless, and the one question they got wrong betrays a complete misunderstanding of the subject, it's an "A".
The problem isn't an engineering education. The problem is a complete an total lack of humanities while undertaking said education. Well, not total lack, but a general consideration that it's a pain in the ass and not required to get your job done.
I nary saw a history class, and the only "humanities" we were offered were labeled such. (I.E. a premade minimal class just to say were had it.)
You also have the problem in that Engineering degrees are so in demand, our engineering schools have become diploma mills. Self-contained enclaves. There was no effort on the part of my school to connect what we were learning to anything else. If anything the attitude was "Engineers were special", and everything (including basic math) had a "For engineers" in the title.
In 2001 we had several companies that wanted to donate System 36's to be museum displays. We ended up telling them that we already had 2 of our own!