Hacker News new | ask | show | jobs
by munificent 245 days ago
> Given these deep divisions over the essential nature of the Scheme language, does it even make sense that we still keep making a Scheme report?

> ‘No’ is an entirely possible answer to this question. Already in the R6RS and R7RS small days, people were arguing that Scheme standardization should stop.

> If we went this way then, just like Racket in its default mode no longer claims to be a Scheme report implementation, Schemes would slowly diverge into different languages. Guile Scheme would one day simply be Guile; Chicken Scheme would be Chicken, and so on. Like the many descendants of Algol 60 and 68, and the many dialects of those descendants, each of these languages would have a strongly recognizable common ancestor, but each would still be distinct and, ultimately, likely incompatible.

This would doom all of those variants to irrelevance even more than they already are.

To the degree that people want Scheme to be a useful language for writing programs that solve real-world problems, it needs an ecosystem. And in order to compete with other languages, that ecosystem needs to commensurate with the scale that those other languages have. Otherwise, it doesn't matter how elegant the syntax is or how powerful the macro system is. If user needs to talk to a database and there isn't a good database library, they aren't going to pick the language.

The Scheme ecosystem is already tiny when you lump all languages and their packages into one. Fragment that, and you're probably below viability for all of them.

Now, it is fine if the goal of Scheme is not writing programs to solve real-world problems. It may be just a teaching language. But the evidence seems to be that it's hard to motivate programming students to learn a language that they ultimately won't end up using.