nickelflippr said:
I don't understand why anyone has to learn a particular language if their stated purpose is hobby use. The ultimate goal for many is to build interesting, sometimes useful, projects and having fun doing it.
You do not.
However if there is any chance that the hobby could turn into a profession, then it matters.
When people are told "learn Basic, it is easy". They do find it easy at first. In time they run into the complexities that exist in any usable language and say to themselves "Gosh, it is a good thing I only tried Basic. As tough as this easy language is I would have no chance of learning a hard language like C". Then they go off to work at McDonald's.
http://www.euclideanspace.com/software/language/basic/index.htm said:
However Basic does have some bad points, it is not very scalable, it can encourage bad programming practices and interpreted programs can run slower. There are modern dialects of Basic which get round these problems by making the language more like a modern structured language but then you loose the simplicity.
It is a trade-off. You either get a BASIC with the flaws. Or fix the flaws and end up with a language so much like any other procedural language that it should not be called basic.
For the most part I do not care what language people use. To each his own. Good code can be written in most any language by a good programmer.
If I were in it purely for fun I would use, teach, and preach forth. Forth is a very extensible language. In forth you can do things like write code to generate code and execute it.
Write a basic interpreter in forth. Forth allows for in-line assembly, but the assembler is also written in forth. blather...
However the interest of the student comes first, and to that end I need to use a language that will be recognised, maybe even helpful, when they hit collage. At the uC level that is currently C.
I doubt anyone reads this far!