Re: FOSDEM 2019

2019-02-03 Thread Nala Ginrut
Thanks for all the words folks!

I confess the thoughts about "Guile is crap" is reasonable for some people,
especially when you compare Guile to Chez and Racket. We can't ignore the
quality of Chez and Racket.
People always have choices, some would choose performance, some choose
rapid development, some choose popularity. I choose to grow up with Guile.
Of course, I can choose to grow up with anything, but I choose Guile, and
I've learnt many things. When I came to Guile community 10 years ago, I
know nothing, I just want to start to learn. And many people here helped me
a lot, I mean, on many things about programming, not only the knowledge of
Guile. It's my great appreciation to this community, so that I keep
contributing to Guile. And I don't believe Guile is crap when there is such
a community around it.

Back to the reality.
We use Python in product, alghouth GIL fucked us a lot on performance.
Alright, we endure it, who doesn't nowadays? In 2019, DevOps department
told me many problems about Python, yes, it's in a critical year to upgrade
to Python3. We can upgrade our code, but there're lot of dependencies
choose to stay at Python2 at present, maybe they will change later, but we
are going to deliver soon. We can't wait.
All these issues are ignored by developers, because they just enjoy the
convenience from Python, they care less about deployment. DevOps people are
not happy. BTW, Guix may help on this issue, but it's still not mature
enough, I'm expecting use it someday with full of hope.
Fortunately Guile saved us, and we replace Python with Guile as scripting
language. Guile's FFI is easy to use compared to CPython, so that we can do
it rapidly without any pain. The machine learning part has to stay with
Python, but the situation is much better, although we have to introduce
complex IPC architecture. If someday we can use Guile for machine learning,
then it's perfect.

Someone once asked me how to hire Scheme people. Well, the answer is easy,
we don't do that. We hire Python people, C++ people, then train them with
SICP. They become usable Scheme developer within a month. Scheme is easy to
learn with so many classical books, and we take this benefit.

It seems Scheme wins here, but why not Chez or Racket? (I mention these 2
because they are mentioned in this thread)
I was planning to use Chez in the product, and I even prepared all things
to start. But I really need keywords which is not in RnRS. I've asked this
in Chez community, and to someone here may know this issue on GitHub, it's
strongly rejected by the author. I'm not here to complain or blame anyone,
everyone has choices. So Racket and Guile are left in my arsenal.
It's really hard to make a choice between them. Racket is good, and I have
several developers graduated from universities like Waterloo which teaches
Racket so that we can take it easily.

Finally we choose Guile because I have GNU Artanis for Restful WebAPI. It's
functionalities are rich so that we can save some time. No mention we may
have Lua or Python3 (4 maybe) on Guile later. My guile-lua-rebirth is
ready, but it's no hurry. Thanks for Guile's compiler tower, so that we may
add new languages and reuse existing Guile modules in other languages on
Guile.

Guile 2.9.0 with JIT is a surprise to me that it accelerates amazingly.
I've been learning how to implement high performance optimizing compiler
with CPS according to Andy Wingo's work. It's interesting. I'd like to make
a similar thing for embedded system. Good luck to me, if I made it finally,
I can use Scheme everywhere in our product.

Dear folks, with all these things above, do you still think Guile is crap?



Arne Babenhauserheide  于 2019年2月4日周一 07:14写道:

>
> Mikael Djurfeldt  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).
>
> > That is all good, unless it hurts the sense of meaning and joy in your
> > work.
>
> Thank you for these words!
>
> > I think it is prett

Re: FOSDEM 2019

2019-02-03 Thread Arne Babenhauserheide

Mikael Djurfeldt  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).

> That is all good, unless it hurts the sense of meaning and joy in your
> work.

Thank you for these words!

> I think it is pretty strong and impressive, and I wouldn't like to live
> without it. It's especially important to look at Guile as a good breeding
> ground for new amazing work.
>
> That said, we should steal and collaborate all we can!

+1!

Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


FOSDEM 2019

2019-02-03 Thread Mikael Djurfeldt
It was a great experience and joy for me to meet some of you at FOSDEM
2019. Thank you all!

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? Jim Blandy thinks that GNU should use
Python as its scripting language. Chris Webber (probably rightly) thinks
"look how much you can accomplish with Racket so quickly".

I've been there also. I have to confess that I have now and again regarded
Guile as crap since perhaps 1995 and there has been multiple occasions
where I have thought that basing the community effort on some other scheme
would make much more sense, and I have also always looked with envy on Chez
and mzscheme/Racket.

Yet, it is *amazing* to me how much progress Guile has made since I left.
I, for example, *love* the new language and compiler infrastructure.

But note now that Racket looks with envy on Chez and intends to base Racket
on Chez while Andy Wingo thinks that he can beat Chez performance.

My advice is this:

Idiots go around thinking that their own code is the best thing around.
Sensible people have a natural, and actually productive, tendency to be
critical about their own work. That is all good, unless it hurts the sense
of meaning and joy in your work.

Remember now first that we are all irrational creatures. We maybe *think*
sometimes that we are rational, because what we think looks rational in our
view. The problem is that the view is usually very limited, with, for
example, a limited set of presumptions.

For example: Guile is a piece of software, right? Wrong! It is a plant,
growing over time. Now, if we look over the fence into the other garden,
the plants there look much greener. But what will determine the ultimate
fate is not only the shape of it in the present moment, but also the genes
it carries, the quality of the soil, the amount of sunlight and the skills
of its gard[i]ners. We could have quit before we got GOOPS, or before we
got the native threading, or before the compiler tower, without which there
would be no chance to beat Chez.

If you look at one combination of some Guile features:

* easy embedding in applications
* support for multiple languages
* the compiler tower
* OO system with polymorphic dispatch and metaobject protocol
* nice, friendly and open community

I think it is pretty strong and impressive, and I wouldn't like to live
without it. It's especially important to look at Guile as a good breeding
ground for new amazing work.

That said, we should steal and collaborate all we can!

All the best,
Mikael


Re: Guile logo SVG

2019-02-03 Thread Ricardo Wurmus


Christopher Lemmer Webber  writes:

> I just realized that for whatever reason, you can't find the full Guile
> logo SVG on the website anywhere (which contains the logo in some
> convenient other forms), and that for whatever reason I had a copy of it
> that I think others didn't.  So I'm emailing it here so I'm not the only
> one.

Thank you.

Could this be added to the Guile repository?

-- 
Ricardo