I'm delighted by the way that TCL-like languages and Perl-like languages grew towards one another.
The experience that motivates TCL: you'll be working on your compiled codebase and think, "damn - it should be easier to glue blocks of this together."
For perl - you'll be working in shell, and then move to awk, and find yourself using the function structures and ignoring the pattern matching. And you'll think, "damn, I wish this had more powerful programming structures in it".
In the middle you get ruby and lua, which are very similar, but came from opposites.
In an earlier draft of this post I wrote python and lua above, but then I checked some history. Interesting - it's kind of an accident that python evolution to challenge the shell/awk/perl scripting space. ABC was created from academic motivations. Python 1 didn't quite know what it wanted to be. If you joined python at 1.4 and stayed through the release of 2.0, it's easy to imagine that it would have evolved with a more functional emphasis than it did. By 2.2 (new classes) it had solidified as a objecty response to perl5.
The experience that motivates TCL: you'll be working on your compiled codebase and think, "damn - it should be easier to glue blocks of this together."
For perl - you'll be working in shell, and then move to awk, and find yourself using the function structures and ignoring the pattern matching. And you'll think, "damn, I wish this had more powerful programming structures in it".
In the middle you get ruby and lua, which are very similar, but came from opposites.
In an earlier draft of this post I wrote python and lua above, but then I checked some history. Interesting - it's kind of an accident that python evolution to challenge the shell/awk/perl scripting space. ABC was created from academic motivations. Python 1 didn't quite know what it wanted to be. If you joined python at 1.4 and stayed through the release of 2.0, it's easy to imagine that it would have evolved with a more functional emphasis than it did. By 2.2 (new classes) it had solidified as a objecty response to perl5.