Sixteen Years Later: GNU Still Needs An Extension Language
Fresh from the 2011 GNU Hackers Meeting, Andy Wingo has written a long piece on the status of Guile Scheme, the woefully underutilized official user extension language of GNU. Wingo argues that Guile is the best choice for extension in GNU given the ability of Scheme to adapt to change over time. Presented with using e.g. Javascript instead of Scheme for its popularity: 'We should also consider the costs of using hastily designed languages. JavaScript has some crazy bad stuff, like with, var hoisting, a poor numeric model, dynamic this scoping, lack of modularity regarding binding lookup ... Finally, we have the lifespan issue. If GNU had chosen Tcl because it was popular, we would have a mass of dead code' (it should be noted that Guile does partially support Javascript syntax). With the proliferation of Firefox extensions, Greasemonkey, etc. it is clear there is a large set of power users who want to modify the programs they use without spending years becoming skilled programmers. Perhaps after Emacs has been ported to Guile the philosophy of user extensibility will spread to other parts of the GNU system.
Here is an idea instead of adding Lua support, I don't know, USE LUA... Wow what a concept!
This is what gets me with the GNU team. Instead of actually reusing what other people develop they rather stick to their own little ivory tower and get very little done. I am being serious here.
I appreciate the work that the original GNU people did about two decades ago. It was needed. But for crying out loud these people remind of an older generation that does certain things because well that is how they did it two decades ago. And if it was good enough then, then gosh darn it, it's good enough today...
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
Not Invented Here Syndrome is why they didn't use Tcl either (which is still being actively developed).
Tcl being a joke of a language is why they didn't use Tcl; see Stallman's original explanation.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
It is only harder for you.
If you had 18 fingers, six on each of three hands, dividing by 3, 6 and 18 would be trivial for you.
As you have 10 fingers, five on each of two hands, dividing by 2, 5 and 10 is trivial for you.
It is not that dividing by 10 is any harder or easier than dividing by 18, but as an animal with 10 digits that evolved counting with those digits, you find a base 10 number system familiar and dividing by the base of that number system is easy for you.
Dividing by 10 is not just inherently easy, just easy for humans spending a lifetime working in decimal.
Reading LISP is hard for you because you have been trained in a different standard syntax common to most other programming languages. LISP was one of the first languages I learned and I find its syntax far more readable than that of "normal" languages.
(+ 1 2 3 4 5 6 7 8 9 10) is much more obvious to me than 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10.
I know I am adding, why do I need to show that operator 10 times when one operator will do?
</LISP RANT>