[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: |
Sun, 5 Mar 2017 00:41:29 +0100 |
If I may add my two cents as a Scheme layman: the question is not so much about
making Guile more popular, but about making Scheme itself more popular.
One big reason for Python’s popularity is something I haven’t seen mentioned in
this thread so far: if you know pseudocode you basically know Python already.
Of course this is hyperbolic, there are a lot of finer details to Python, but
the superficial simplicity of Python makes you think you already know the
language and that you can get started right away. By the time you encounter the
more arcane aspects of Python you have already invested enough time into it
that you will put up with learning something new.
Scheme on the other hand is weird; weird in a good way, but still weird. For me
the reason for picking up Scheme was working my way through SICP, but even
before that I had heard of the Lisp family. Every time I tried to find out what
the fuss was about Lisp all I could find was nebulous concepts like “it’s a
programmable programming language” without explaining what that even meant and
why I would ever want to use it.
Of course once I got over the weird parentheses and I understood why they are
actually a beneficial aspect I liked it. Yet, even after getting into Scheme
there are problems. The r5rs standard is pretty limited, and so every
implementation does its own thing. There was not even a standard module system
until r6rs. Unfortunately r6rs never got fully adopted by any of the major
implementations, so we are back to where we were with r5rs more or less.
r7rs-small looks like it could finally fill in the most glaring gaps, and
r7rs-large is still nowhere done.
All this is very frustrating, and getting into a new language is a long-term
commitment to learn something new. When faced with Python, Ruby, JavaScript,
Lua and Scheme, it’s easy to go with the flow and just use what everyone else
is using.
I think someone here mentioned the lack of a proper Scheme IDE, other than Dr.
Racket for Racket. I don’t use IDEs anymore, but I can see how that can be a
problem for other people who only want to do intermediate scripting rather than
write entire applications. Writing a full IDE would be quite a lot of work, so
perhaps integrating with existing IDEs would be better. Think something like
Geiser for programs other than Emacs. There is the “language server protocol"
by Microsoft, the idea is to have a standardised protocol that can be supported
by a language server and an editor application.
https://github.com/Microsoft/language-server-protocol
I know it’s Microsoft, but this is just a specification. With this protocol one
would write a Scheme server that receives instructions form the editor via RPC
and sends the result back to the server via RPC as well. This would allow using
the same Scheme server regardless of the editor (Emacs, Vim, Neovim, Eclipse,
…). I had wanted to write something like this for Neovim myself, but I don’t
know enough of Scheme yet.
I hope these ramblings of mine offer something useful from an outsider
perspective to you guys.
- Re: Lilypond speed (was Re: How to make GNU Guile more successful), (continued)
- Re: How to make GNU Guile more successful, Matt Wette, 2017/03/03
- Re: How to make GNU Guile more successful, Amirouche, 2017/03/03
- Re: How to make GNU Guile more successful, Amirouche, 2017/03/03
- Re: How to make GNU Guile more successful, Mike Gran, 2017/03/03
- Re: How to make GNU Guile more successful, Matt Wette, 2017/03/03
- Re: How to make GNU Guile more successful, Matt Wette, 2017/03/03
Re: How to make GNU Guile more successful,
Alejandro Sanchez <=
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, 2017/03/05
Re: How to make GNU Guile more successful, Arne Babenhauserheide, 2017/03/06