after so many years, I think I cleared my vew on what is missing

Guile is missing a proper development experience

The only IDE available, based on Emacs, is so brutally hard to set up that very few people are actually able to set it up

And even with that set up, you still lack a bird eye view of what's in your namespace/module

Contrast that with Pharo/Smalltalk

(continues)

The assumption is that you acquired all the knowledge you need to hack a priori

You read the manual fully and you otherwise own all you need

A very mathematicy assumption, that doesn't hold in the real world

(continues)

and is in fact hostile to the uninitiated n tech and science

Again, take Smalltalk/Pharo

Or, thake this blog post about REPL driven programming

mikelevins.github.io/posts/202

Do you feel that the experience provided by Guile holds up to that definition of REPL driven programming ?

I don't

I have the hunch that this is a cultural heritage of Stallmann

The priority was to make a system that could be a drop in replacement of proprietary systems that were current, back then

sociology, psychology and anthropology considerations were taken as a given, there was no tme for that

And those assumptions came from the academic/corporate world that produced POSIX

It shows

Follow

this is what I called "cultural debt"

There's technical debt and there's cultural debt

I doubt the Guile community ever questioned themselves about who was the potential targed to become a Guile user

And a lot of assumptions ended up being embedded in Guile without having beng questioned ever

I understand that this may sound harsh to Guile people

I don't mean to be harsh

In fact Guile is a very generous effort and it's quite elegant in many ways

I just feel that this discussion should be made

This is not meant as a jaccuse

It's meant as a reflection

I'd be happy to be able to contribute something to the Guile/Guix community

I'd be happy to see Guile thrive, more than it does today (which is not much)

scheme is a very powerful way in understanding mathematics and how math is general

In fact I had never understood the relationship between the induction principle and the definition of functions commonly used in calculus, until I saw those functions defined in scheme as recursive/iterative functions

And then you get to use that for general purpose programming

That's powerful !

but I feel that the academic traits of the Guile community managed to squander that potential enlightning

Execution is hard !

so kudos to the Guile community for being so stubborn all these years

That is another stallmanism, maybe this one is better than the cluelessness about elitism

In fact, because of such stubborness, not only Gule is still here but it's being used for Guix, which is another very generous/ambition effort

how do we fix Guile's cultural debt ?

I don't know, it's not something you can fix with patches

The only thing that comes to my mind is we need to start talking about it

@abbienormal I think there are several reasons why guile exist:
1. Stallman and GNU project likes lisp-like languages (see Emacs Thesis)
2. There is no scripting language licensed under gnu gpl (most of them are licensed under bsd-like)
3. The main idea was to embed guile to make applications (like elisp in emacs), where you can redefine behavior, but as we can see this approach not often used.

@abbienormal I somewhat disagree with your assessment. While Scheme has its roots in academia, the most successful implementation, Racket, is also the most academic one in terms of papers written about it. Yet it has the most comprehensive documentation and an IDE. But that IDE does intentionally not behave like a Smalltalk or CL system, out of concerns that this may confuse beginners. So I don't believe academic qualities are inherently detrimental to success or usability.

So why is it that Racket still does better than Guile? I suspect it's the networking effects and project leadership that drew way more people towards it. A similar effect can be seen with Pharo. Both projects announce releases involving many people, whereas projects like Guile have far less people contributing to them at a slower rate.

Regarding your observation of Scheme implementations assuming you know everything you need beforehand, yes, that may be a consequence of minimalism. I don't recommend Scheme to beginners for that reason. It's the guiding principle for much of it and in combination with chronically understaffed projects, I don't see it changing any time soon.

That same minimalism makes it hard to provide that CL/Smalltalk experience. Even efforts like Geiser are inherently limited because portable socket access is not there.

@wasamasa

you're right, academia doesn't necessarily imply any of that

In fact, Smalltalk is rooted in academia

But Racket and Smalltalk are exceptions

Aren't they ?

So, ok, it's not the academia, it's _most_ of the academia

As for minimalism, I fell it's an excuse

Advancing on understaffing, they go for minimalism, that feeds a set of problems

But why do you take understaffing for granted ?

Why don't you look at exceptions ?

@wasamasa

maybe exceptions weren't there ?

Then why don't you envision anythng else, as Racket did ?

Because you take a set of axioms as a given you don't question

That's a cultural work and avoiding that is cultural debt, in my view

@abbienormal Looking at exceptions is misleading due to survivorship bias. Seeking to emulate them is another classic fallacy of confusing correlation with causation. Imitating the habits of millionaires doesn't make you rich, only miserable.

There are a few studies attempting to quantify the amount of solo projects compared to successful ones, here's one from 2013: redmonk.com/dberkholz/2013/04/. I expect the ratio to continue to grow beyond 80/20 because there is a lot less friction in jumping from a small to a popular project than the other way around.

There is only so much you can do as a single person and the balkanization of Scheme by design does not help. There is a lot less fragmentation in the Smalltalk world for several reasons. Today the Scheme world is into standardizing R7RS-large which will set the implementations interested into that even further back (5-10 years), whereas the Smalltalk world has one defacto VM to use and most of the community is working on improving Pharo.

Yes, there are cultural problems, but I don't believe the solution is investing effort in the 80% that are lacking, especially if what you envision to happen is at odds with the very design of these projects. Better invest the effort into a project that aligns with your goals.

@wasamasa

so, you think Guile is lost ?

There's nothing to do on it ?

You might be right 🤔

@abbienormal I don't know, I'm not knowledgeable about Guile specifically. I've adjusted my expectations and am happy to contribute to other implementations here and there. It's a gift-based economy and fits my recreational needs.

@wasamasa

so what you meant is "stop ranting, go somewhere else" ? 😉

Sign in to participate in the conversation
FLOSS.social

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).