I've actually thought for quite some time that programing might be taught best via shell scripting.
By starting off by learning shell, you'd get all the basics like iterators, functions, variables, etc... You can then extend the newbies knowledge with stuff like regular expressions, pipes (parameter passing) etc.. At the same time, however, you'd be teaching a new programmer an incredibly useful set of tools that they can build on.
It took me 3 semesters of Java before I could code non-trivial programs. In one semester of Unix shell scripting, I wrote a flat file database with a decent user interface. I learned more about programming in that one semester than I did in 3 semesters of Java.
I haven't willingly used Java since those classes, however.
I'm just saying that for the basic stuff, you can actually learn quite a bit just by learning how to write shell scripts. And the learning curve is quite a bit shorter than in Java before you can get something remotely useful done.
By starting off by learning shell, you'd get all the basics like iterators, functions, variables, etc... You can then extend the newbies knowledge with stuff like regular expressions, pipes (parameter passing) etc.. At the same time, however, you'd be teaching a new programmer an incredibly useful set of tools that they can build on.
It took me 3 semesters of Java before I could code non-trivial programs. In one semester of Unix shell scripting, I wrote a flat file database with a decent user interface. I learned more about programming in that one semester than I did in 3 semesters of Java.