Ok, this topic has bubbled up a few times here and there and there’s apparently been various opinions between moderators and some other contributors on how this should be brought up.
Let’s talk about the (missing) Lucee Language spec.
It’s clear there’s an interest in the Lucee dialect/language (whatever people would prefer naming it). What is missing is an actual Language specs defining the goals of what Lucee should achieve and solve.
What currently seems to happen publicly is that individuals from LAS and the wider community comment on chosen topic threads in this forum — by chosen I mean they seem to be either driven by @micstriit asking for feedback or other community members making enhancement suggestions from the left field; some of them being very good, some others I would rather strongly disagree with (I’m trying to be polite here - what I’m really referring to is on the spectrum from “meh, not a good idea” to “absolutely lunatic”). And frankly, ideas of the type: “Hey, we should do this!” followed by a quick implementation without further reflection very often turn out to be the worst things for a long-lasting language design.
I’m sure there’s more happening behind the scenes and I’d truly hope that the LAS members have all the knowledge of what Lucee is gonna be and how it’s specced etc… and if it’s the purpose and intention of this process to keep it closed — then fine. Personally, I’d strongly disagree with it, but it’s up to the members how they want to run their project.
Now, here’s the constructive part:
What I’d rather want and suggest instead is: an open, transparent process designing the Lucee language. Lead by a group of people who have the theoretical and/or practical experience of working on language specs and/or have a deep understanding of both CFML and other modern languages and paradigms.
I’ve said multiple times to a wide variety of people that Lucee needs a language steering group, but that doesn’t seem to be happening (at least it’s not communicated to the public).
The outcome of this process should be a language spec with decisions made by actually putting a group effort into solving questions like: Why or why not would Lucee need a “:” namespace? Which tags are clearly not needed anymore? Which paradigms do we want to support in which way: Closures/Lambdas/more functional features etc.? Even a fundamental question like: “What problem does Lucee solve?” should be answered properly by coming up with a mission statement.
After all that’s been done (or partly in parallel) implementation starts. And the Lucee language then gets released when it’s ready for an alpha/beta etc and not to necessarily make it into Lucee 5.
I know a lot of people in the inner circle of LAS have an issue with what (and maybe how) @adam_cameron and Sean Corfield are saying re the new Lucee language; but let me tell you that both of them have very valid points and ignoring those voices is the absolutely wrong way forward for LAS.
Personally I’ve got no whatsoever monetary and commercial interests in the success or the failure of Lucee & the LAS and am not associated with any product that members of the LAS might or might not develop on top of LAS; I like Lucee and CFML as an idea and I just hang out here and contribute bits and pieces for personal fun and try to make it better at this stage. But even to me it’s easy to understand how the current loose approach can lead to a lot of frustration and people not joining or leaving a community due to uncertainty and no one really knowing what’s going on with the new Lucee language.
In a wider sense this topic comes back to general communication issues the LAS has and has to work on. And to be fair, LAS has done a really good job with putting @modius in charge of that and providing explanation and communication around the fork, the legal aspects and all what’s hooked into that. I’d just like for someone in LAS (and maybe it should be @modius again because he’s clearly a very calm and patient voice of reason) to take charge of the Language spec for the Lucee language and open up the process.