Programming For Terrified Adults?
makeitreal writes "My mom is getting bored with learning the basics of email and has mastered Solitaire. She asked me what I do on my computer and I told her that I was teaching myself programming in Scheme. She expressed an interest in learning what I was doing, but I tried to teach it to her with the HtDP and we didn't even get past the introductory chapter. Everything I've looked at so far seems too complicated (Scheme, Python, VB) or too childish (Logo, Squeak, Lego Mindstorms). Is there anything in the middle that is also cheap/free and suitable for adults? Or should I give up the whole idea?"
My mom is getting bored with learning the basics of email and has mastered Solitaire. She asked me what I do on my computer and I told her that I was teaching myself programming in Scheme. She expressed an interest in learning what I was doing
I can tell you right now, that is a very bad idea. All you are doing is giving her something else that (very) complicated, which will do nothing be make you recieve 10x more call with her saying "my computer is broke!" Comile errors will be then next form of computer not workingness. You will quickly see that most people are not capable of programming (or at least not learning it on their own), and should just not attempt it.
Those who can, do. Those who can't, teach. This seems to apply just as well to people and teachers as to real languages and teaching languages. There is simply no point in teaching a language that will never be really used. And certainly no point in creating yet another teaching language because no one is using any of the other ones that have been created. Even Pascal was useless until Borland extended it so much that it hardly resembles the original p-system versions. The basic concepts of programming stay the same; one might as well focus their effort on a language that will really be used like C or even Basic rather than so called teaching languages that represent one or two people's do it my way religious views on programming. Of couse, I would stay away from object oriented languages like C++ for a beginner. But there is simply no good reason to have anyone learn a useless language and then learn C rather than just learn a simple language like C directly.
I'm an American. I love this country and the freedoms that we used to have.
I am sorry if this sounds rude, but dude, get your facts straight. No offense, really.
[from the Jargon File]
Try to take a look at this and you will get the point.
Warning, only click if you are over 18 and yada yada yada.
Will work for bandwidth!
For all the talk of QBasic here, there is already a version of Basic that is powerful, easy to learn and has a killer IDE. It's VBA and the chances are great that his Mom already has it, seeing how it's embedded into all the Microsoft Office apps starting with version 97. When teaching someone to program (and I used to do it professionally before I started coding for banks), I always found it helpful for them to see results in the environment they're comfortable with and use everyday. Everyone knows what Word looks like, and it's easy to write one line programs that actually manipulate visible objects on the screen. Once a person is comfortable with that, it's easy to start teaching why loops are important. From there it's a short step to Sub's and Functions, which begets classes and so on...
:-)
VBA allows for nearly all of the advanced features of Visual Basic, including forms, classes, file manipulation, use of COM objects, etc... The IDE allows for easy browsing of object libraries, so new users don't have to memorize long strings of object properties. The help system is extensive and the user base (www.deja.com) is phenomenal.
I find VBA to be one of the most underappreciated languages even though it is at the core of manipulating the most widely used desktop software in the world. The banks I have worked for trust it with billion dollar operations for a reason. Not only does it lend itself to RAD development, but it's simple enough to learn that the bankers and traders who use the applications won't be intimidated by it. Most of the apps I've rolled out have seen tremendous improvements by amateur programmers hungry to pore over the VBA code. While they might not be able to optimize my tree search algorithm, they can certainly pick up on most of the basics. Basics...hmmm, that sounds like a good name for a language.