From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alejandro Sanchez Newsgroups: gmane.lisp.guile.user Subject: Re: How to make GNU Guile more successful Date: Sun, 5 Mar 2017 00:41:29 +0100 Message-ID: <9386102A-AA6C-4CC1-82EE-7758106A435C@openmailbox.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1488670950 466 195.159.176.226 (4 Mar 2017 23:42:30 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 4 Mar 2017 23:42:30 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Mar 05 00:42:25 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckJJd-0007P5-9C for guile-user@m.gmane.org; Sun, 05 Mar 2017 00:42:21 +0100 Original-Received: from localhost ([::1]:37012 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckJJh-0002G6-GK for guile-user@m.gmane.org; Sat, 04 Mar 2017 18:42:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45836) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckJJJ-0002Fp-Ou for guile-user@gnu.org; Sat, 04 Mar 2017 18:42:03 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ckJJG-00028Q-Mn for guile-user@gnu.org; Sat, 04 Mar 2017 18:42:01 -0500 Original-Received: from lb1.openmailbox.org ([5.79.108.160]:58385 helo=mail.openmailbox.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ckJJG-00022B-EI for guile-user@gnu.org; Sat, 04 Mar 2017 18:41:58 -0500 Original-Received: by mail.openmailbox.org (Postfix, from userid 20002) id 42688509873; Sun, 5 Mar 2017 00:41:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1488670906; bh=l+hOEOzXEXHT+qI/DM9ffvVvWqU3Fd6nl43Tz0neYgY=; h=From:Subject:Date:To:From; b=ylkHXlq4UL+pjdQZo+gDFzpYSldCo/n1gTGY12N/S8NDr6w2G8WJzRI0FY7mCVdOJ Fp7r1iu/FsEDaSVCCuAqXXDjfv6QQs8EWoTNxcav2BVv5hOtmdOj+XEZu33q12soKC iAkA53IiOF3fKK/oisKtCqdVOvk/+B5fPiGA5XwA= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1488670904; bh=l+hOEOzXEXHT+qI/DM9ffvVvWqU3Fd6nl43Tz0neYgY=; h=From:Subject:Date:To:From; b=y1tyYy43s84nKa1mDBjs6diGN0IobZRF+IFvaXxHUx+uKaa3Y8zpAB3jxINeDMaMX seBcnA4UsUcS0tPepxeHDo3jBfQCuTDe/tcnHgPW5f2mMITMjQTcD29gvuzhQXQvnw 5tenGDPm0kyWfaL11Rx2zDdhsMoTVK2vTThLyf+M= X-Mailer: Apple Mail (2.3124) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 5.79.108.160 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13398 Archived-At: 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=E2=80=99s popularity is something I haven=E2=80=99= 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 =E2=80=9Cit=E2=80=99s a programmable programming = language=E2=80=9D 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=E2=80=99s 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=E2=80=99t 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 =E2=80=9Clanguage 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=E2=80=99s 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, =E2=80=A6). I had wanted to write = something like this for Neovim myself, but I don=E2=80=99t know enough = of Scheme yet. I hope these ramblings of mine offer something useful from an outsider = perspective to you guys.=