guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FOSDEM 2019


From: Christopher Lemmer Webber
Subject: Re: FOSDEM 2019
Date: Tue, 05 Feb 2019 16:25:17 -0500
User-agent: mu4e 1.0; emacs 26.1

Arne Babenhauserheide writes:

> Mikael Djurfeldt <address@hidden> writes:
>
>> It was a great experience and joy for me to meet some of you at FOSDEM
>> 2019. Thank you all!
>
> Thank you, too!
>
>> Now a piece of advice.
>>
>> Everyone who works with Guile knows that it's crap and look with envy at
>> projects like Chez and Racket, right?
>
> I’ll ignore for a moment that this is a rhethoric method and answer
> directly: No, I don’t think that Guile is crap. It is actually really
> good, and while there are missing parts, I enjoy working in Guile more
> than I enjoy working in Python. Even when I use parentheses :-)
>
> The talk by Christopher Webber basically described the importance of
> shiny — all the bits other people already polished. A similar argument
> cuts for using Python, and even Java.
>
> This does not make it invalid: Chris is right that shiny is important;
> but it is not all-important, especially not in the long run. And
> different from many other projects, Guile takes the long run seriously.
>
> And seeing my scripts finish within 60ms is impressive. It’s not yet
> perl-level startup-time, but it already beats Python (by a narrow margin).

I regret that I didn't convey the right energy at the end of my talk.
I actually think Guile is in a better space than it's ever been as far
as I've been looking at it and I see an amazing future ahead for it.

I do stand by that there are a bunch of cases where catching up to
Racket appears hard, but one thing we didn't catch on camera
unfortunately is the great conversation we had in the cafeteria on
Sunday about Guile and Racket and where their strenths are and how to
learn from and collaborate with each other more.  So allow me to provide
an addendum to my talk, based on the conversations we had:

 - Guile and Racket may sometimes have some different domains where
   they're excelling, and that's okay and good

 - I do think it's true that Guile doesn't have as good of a story as
   Racket in terms of getting people new to lispy languages in the door.
   But!  We actually had a really nice discussion about how to maybe do
   the right thing to improve things for Guile.  Part of that
   conversation was "Oh hey, what if we took Spacemacs as inspiration?
   What if we had an emacs distribution that came that was preconfigured
   for people familiar with classic IDEs and which is set up and easy to
   use Guile with?"  This would also allow those users to "grow into"
   Emacs as an editor.  (I've jokingly called the idea GuileJr in the
   past but it badly needs a less diminuitive name. ;))

 - Wingo put forward that Mes and Guix are examples of projects that are
   already pushing Guile's community in the right direction.  And it's
   clear that Guile is growing a lot.

 - Janneke mentioned the new guile build system in guix for simpler
   guile packages and I think that's pretty great.  Likewise there was
   some mention of some sort of you-don't-have-to-use-autotools build
   system and I don't remember what it's name was.  (BTW, I continue to
   believe that "Guix is and should be Guile's package mangager".)

There's a lot of reason for optimism.  I'm sorry if I applied too much
"stop energy", that's not what I meant to do.  If you watched or will
watch my talk, rather than consider it a "Guile is over, Racket is the
future" type talk, I'd prefer it to be interpreted as "here are some
experiences from an external community that might help us think how
Guile could improve itself and think about where its most useful role
is".

But BTW, I do agree with Janneke's interpretation of my talk about
"shiny matters".  Plenty of sources of glossy finishes we can apply
to our work, so that too is an opportunity for improvement to excite
newcomers more than anything else.

 - Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]