Years ago, I used to suggest Visual Basic 6 to rank beginners as a way to learn what programming is. Key point: This was NOT for career training, but just as a primer to the basic concepts of programming. I subscribe to the KISS principle (many programmers do not) Detest Microsoft as we may, the instant graphical nature of VB6 really helped kickstart things for the rank beginner (GUI control methods/events vs, cmdline programming)
VB may have been a "toy", but it allowed real programming concepts to be applied. One could learn these UNIVERSAL topics in any language, including VB6:
- Datatypes, variables and constants
- Conditionals (If....Then....Else Blocks, Select Case)
- Random number generation / seeding
- Introduction to threads/timers
- Loops (while loop, for loop)
- Functions & procedures (and passing parameters)
- Using arrays
- GUI controls (properties, methods and events)
- GUI animation (manipulating top, left, visible properties)
- Creating and adding external modules
- Debugging (breakpoints, watches, debug window)
What environment or platform would you suggest to use today? Is Java/Eclipse making things too complex? To some extent, I think Java is overkill for this type of goal (OOP, etc). Would the path of least resistance be Visual Basic Express Edition 2012? or something else entirely like some sort of smartphone IDE? Or is that just too distracting, too complex, or too easy? And what do you lose compared to VB (Think how trivial it is to learn basic animation with the Timer and .top and .left) The KEY is to keep it EASY while not watering it down.
Again, suggesting some esoteric language just because it's more "elegant" misses the entire point. What would you tell your neighbor's 15 year old kid to use if he wanted to know what programming is? (He does not want to become a professional programmer, and is not a good independent learner)
Thank you.