Dynamic Languages for Tots

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.

I also realize that there are probably some folks out there thinking that Python isn’t exactly the first language you think of when you think of novices. But there are a whole lot of people – people who don’t consider themselves programmers – who’ve gotten very comfortable with a host of dynamic languages. Think PHP. Think Javascript. Think VBScript. Think Perl.

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?