[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to make GNU Guile more successful
From: |
Alejandro Sanchez |
Subject: |
Re: How to make GNU Guile more successful |
Date: |
Mon, 6 Mar 2017 00:46:48 +0100 |
Thank you for you responses, I will try to respond to them all in one email.
> About Emacs + Geiser as the default development environment
Emacs is a power tool. Giving someone Emacs to write a simple script is like
handing someone a jackhammer to nail plywood together. OK, maybe I’m stretching
the analogy a bit, but when I think IDE I imagine something that handholds
people, for the better or worse. Sure, you could offer some sort of
pre-configured Emacs setup, but what’s the point of that?
This is why I had brought up the Language Server protocol, integrating Scheme
with an existing IDE allows people to jump right in with whatever tool they are
familiar with. It should also be less work to write a server or modify Geiser
to follow the Language Server protocol than to maintain a separate distribution
of Emacs.
> About the lack of a standard implementation
As Arne Babenhauserheide pointed out, there is no standard implementation of C
or C++ either, and yet those languages manage just fine. The difference is in
*what* is undefined. Undefined in C/C++ usually means “do not rely on this,
demons might fly out of your nose” and you are not supposed to touch it unless
you really know what your compiler will do. Most of the undefined parts of
C/C++ can be avoided in a portable way.
Undefined in Scheme before r6rs basically meant “we couldn’t all agree on one
thing, so whatever”. So you have to pick one implementation and roll with it.
My understanding is that’s how PLT-Scheme turned into Racket and became its own
thing. This makes my code completely dependent on the implementation’s
lifespan, and that’s a commitment that’s hard to sell.
From what I understand, with r6rs and r7rs the voting has been changed from
unanimous to majory-vote, so this should become less of an issue over time.
> About the syntax
I know about wisp, but that looks like an awkward cross-breed between Python
and Lisp. Lisp syntax is simply something one needs to get over. For me it
really clicked when I understood that Lisp syntax is not really a syntax, it’s
the AST (sort of). Wisp reminds me of those people who use the arrow keys Vim
and never leave insert-mode, in the end they just have a convoluted Nano. Maybe
Wisp will help people, I don’t know, but it didn’t do anything for me.
> Closing remark
The question for someone shopping around for languages is: what is the selling
point for Guile (or Scheme)? Being a programmable programming language sounds
cool, but what does it let me do? Nothing on Guile's website tells me “look at
how easy this is to solve in Guile, you cannot do this in other languages”.
What would that be? I don’t know, I’m just a layman. The topic of the thread is
“how to make Guile more successful”, and I most of those are technical points,
so I’m afraid that discussing popularity is all I can contribute.
- Re: How to make GNU Guile more successful, (continued)
- Re: How to make GNU Guile more successful, Alejandro Sanchez, 2017/03/04
- Re: How to make GNU Guile more successful, Erik Edrosa, 2017/03/04
- Re: How to make GNU Guile more successful, Arne Babenhauserheide, 2017/03/05
- Re: How to make GNU Guile more successful, Nala Ginrut, 2017/03/05
- Re: How to make GNU Guile more successful,
Alejandro Sanchez <=
- Re: How to make GNU Guile more successful, Arne Babenhauserheide, 2017/03/06
- Re: How to make GNU Guile more successful, Matt Wette, 2017/03/05
- Re: How to make GNU Guile more successful, Erik Edrosa, 2017/03/06
Re: How to make GNU Guile more successful, David Kastrup, 2017/03/05
Re: How to make GNU Guile more successful, Vítor De Araújo, 2017/03/09