I have a dream: A modern scripting language everywhere

Warren Young wyml@etr-usa.com
Mon Dec 8 23:00:00 GMT 2014

It’s sad that we still can’t count on stronger scripting languages than POSIX shell and Awk in 2014.  We have many better languages, but none are part of POSIX, so we can’t count on having them everywhere.

Perl and Python are probably too big for The Open Group to make one of them a requirement for receiving the right to use the Unix trademark.  I don’t see another organization that could move all *ix-likes to adopt such a language.

If the standards groups won’t do it, that leaves us with de facto standards. Red Hat and Google are trying to push Python for this, but I don’t think either has enough power to move competing organizations on this.  And again, Python is too big to be part of a “small parts, loosely joined” OS definition.

Lua is small and liberally-licensed, but a bit too impoverished in its stock form to be an effective improvement on the current state.

FSF failed to push Scheme/Guile into this role, for which I give thanks.

That’s part of the problem, of course: getting a bunch of fractious geeks to agree on a syntax.  Awk and Ksh got into POSIX when AT&T + Sun had the combined might to force them through the process.  The *ix world is too diffuse now for that.

I love the Javascript dialect (!) of Scheme.  Say what you want against JS; it could be better, but those who say it’s the worst language on the planet are either ignorant or being hyperbolic.

But, fan though I am, I’ll quickly acknowledge that Javascript isn’t going to solve this problem any time soon, either.  The universality of the web has pushed a JS interpreter onto pretty much every computing device big enough to have a keyboard, but the only hope for turning it into an effective Unix scripting language is coming via node.js, and they’re years away from adding enough library support to JS to make it fit for such a battle.

I think only Ruby is powerful enough, small enough, and non-controversial enough to solve this.  It’s Perlish and Pythonic and Scheme-like enough to have wide appeal and applicability.  I’m not a Ruby fan.  I came up via Perl, and Ruby never struck me as different enough to be worth switching.  But, if I could count on Ruby everywhere, that would change things.

Swift would be a nice solution, but it’ll never really escape the confines of the Apple world.  The same goes for any of the .NET languages, even with all this new openness.

Anyone else see a path out of this situation?

More information about the Cygwin-talk mailing list