I think this is a hard problem for us.
Sun effectively controls Java. Microsoft's history makes many free software developers wary of anything they "give away," including C#, and in my opinion, rightly so. But I realize others feel differently, and I fully expect that someone will correct me by pointing out that Microsoft doesn't really control C#. That's a debate for another time.
Being language-agnostic is a wonderful goal, and I'm an active follower of Parrot's development, but despite its power, there's still a relatively small number of useful languages supported. In the meantime, it means that we're just stuck with putting SWIG wrappers around each required C library, for each language, and then eventually rewriting stuff that's commonly used in C and adding more bindings. Being able to call Perl libraries from Ruby or Python just isn't possible until we have good implementations of each on Parrot.
Choosing one of Perl, Python, Ruby, OCaml, Lisp, Standard ML, Modula-3, Forth, Postscript, or anyone else's favorite scripting language leads us down another path: we choose favorites. But honestly, I've come to have several favorite languages, and would be disappointed if I couldn't use whatever I'm happiest with at that moment on my weekend project to make a better recipe manager.
So here we are. I don't want my software dependent on libraries or tools controlled by Sun or Microsoft. I'm sure many of us don't want to spend our time scratching our heads at some obtuse bit of Perl from CPAN if it made up part of a core library we had to call in to. I'm sure we also grit our teeth and wish Python were more like Ruby, or the other way around. And others can't get past the parentheses of Lisp.
And we all want more libraries, and desktop systems, to have support for our favorite language.
It's a hard problem. I just to emphasize the point that we don't force ourselves down paths we can't backtrack from. I want us all to think about what it would really mean to say, "For this desktop environment, your development language is really just $LANG. The others will kinda sorta work, but they're not supported anywhere near as well."
Our strength comes with and partly because of a diversity of ideologies related to programming languages. Let's not be so quick to throw that away.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds