Robby, I'm still not certain we all have a shared understanding of some of the concerns and where we all stand, so please let me try to get at that some of that:

As for adopting-new-syntax vs backwards-compatibility, does it help if I were to tell you 
that anything new will always be "opt in", in the sense that existing programs 
will continue to work completely unchanged with no special annotations or anything else 
like that required?

I suspect, to many industry software engineers, this phrasing sounds like "deprecated", which is something we understand.  It's not something anyone likes to hear, unless we've already moved away from it, and we think that deprecating that is a positive sign.

There are piles of lecture notes (in the form of slide presentations written in 
Racket) from the late 90s (so not in any continuous integration system 
anywhere, as far as I know) that still run fine in today's Racket for example.

I think this argument doesn't address the concerns of software engineers who know the history of Racket (and of countless possible parallels elsewhere).

For one example, from Racket specifically, how the change to pair mutability was done meant that some of those modules in "compatibility" dialects no longer interoperate well with modern modules.  That's a big one.

For a lesser example, which nevertheless was a problem in real-world practice: one of the changes to C extensions meant being locked to the old, non-default GC (missing out on enhancements, and concern it was more likely to break in the future, since most people had been pushed along to using the new thing, until that scary C extension code could be disturbed again).

Another example was people who were using PLaneT's multiple-installed-package versions and SemVer-like updating, when that was deprecated and the functionality lost.

From an engineering perspective, over the last couple decades, Racket has done a good job, overall.  And an outstanding job, as academic-led projects go.  But, at this point, I think software engineers should want a clear understanding of top-level requirements for Racket, so they have an idea of what to expect.

Some degree of trust factors into assessments of whether adopting or staying with such-and-such tech makes sense, and I'd think that arguing "some old CS101 lecture slides probably still work" is going to increase concern rather than reduce it. :)

Some people (here, and in other venues) are skittish or turned off by various recent commotion.  At this point I could allay some of their concerns by mentioning multiple mitigation/transition options to them, but I'd prefer to keep all the value of the community we've built around Racket.

Moving forward... Software engineers have learned to expect modern platform pitchers to often be disingenuous, or at least over-enthusiastic.  If core states, utterly unambiguously, and speaking as one, the top-level requirements that will guide Racket, and everything else clearly follows from those requirements, then I think that will increase confidence.  (Even if some of the articulated priorities are not ideal for our needs, we know what to plan with, with some confidence.)

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/35d7b52a-abd7-e593-bcec-7f25ecde8f8d%40neilvandyke.org.

Reply via email to