Dynamic languages (see Wikipedia if you’ve been living under a rock for the past decade or so) such as Python offer some substantial advantages over static languages such as C. I’m not going to belabor the pros and cons – folks like Jon Udell have done that for me (smartly) and some others have done so less wisely.
I’m interested in a very specific scenario in which dynamic languages could help: novices.
OK, OK, I realize that dynamic languages aren’t going to satisfy the purists who want all CS students to learn about typing and there are those who’ve argued that dynamic languages are breeding grounds for bad coding practices.
But for someone who’s not a CS-track programmer – who’s just interested in coding for fun – the ability to have a more interactive programming style. I don’t necessarily mean interactive programming in the dictionary definition sense. I’m talking about a kind of cause-and-effect programming where the actions you take in code have a very tight and immediate effect on the application.
So: good, evil, or do I just not get it?