Lucee looks to be heading for the rocks at full speed

Author: Steven Neiland
Published:

Warning: This blog entry was written two or more years ago. Therefore, it may contain broken links, out-dated or misleading content, or information that is just plain wrong. Please read on with caution.

Can someone please tell me what the hell is going on with Lucee right now? I mean really, who is steering the boat?

Now I have been a huge fan of Railo for years and I thought that Lucee was going to be the best thing since sliced bread when I heard the announcement. But all I have seen so far has been an absolute bloody mess.

Poor to non existant documentation, questionable naming conventions, broken features due to broken tests and the worst kind of public(developer) relations since adobe.

In fact I really dont think the current release of Lucee should be called a beta, what I have seen looks to be of alpha release quality.

Documentation has to exist and be right

If you are releasing new features and your documentation is wrong then its not the users fault when they(the developer) cant make it work and blog that its broken...because it is broken. You have created a tool and labeled it "cut" but wired it to "drill". Yes it works as you the developer designed, but not the way you have told the end user how to use it.

And why is it that the documention is wrong? Well from the outside looking in, it seems that nothing was written down in terms of a specification. Just one developer deciding to go off and build something and come back to document it later.

Questionable choices

It would be easy to forgive the poor documentation knowing that it will come eventually, but its this lack of detailed planning that is leading to the worst (in my mind) problem with Lucee, the questionable decision making process.

On one hand I love that we have static functions and variables now, but making it a scope and not having it as a modifier keyword?

Or the new createComponent() function, sorry loadComponent(), no initComponent() no.... whever it is being called. And then Micha announces off the cuff that not only is there this new function but that createObject is going to be deprecated? Im sorry but WHAT!

Who discussed this decision. Was any thought given to how much work it will involve for us poor developers who use it every day? This is not the same as deprecating cfform or cfgrid, this is a core function of cfml. You dont going making these kinds of design changes ligthly without buyin from the community, but that is exactly what is happening here.

Poor testing and poor community relations

And lets not forget that we are now seeing poor testing and even worse community relations.

I get that the migration of the codebase from railo caused some tests to be missed but I find it inexcusable the response I have seen to Adam Camerons comments and blog posts from some members of the Lucee team.

Fact AC can be abrasive sometimes. Many times I find myself wanting to disagree with him just because of how he comes off...but he's not wrong in what he is saying. And lets not forget that AC has no dependency on cfml anymore and is still taking his personal time to test the new code according to the limited documentation.

The lucee team should be thanking him for helping them out by testing and blogging, not making snarky comments and ignoring the valid points he is making.

Result a failing project

Look lucee5 has the potential to be really great. osgi support, final, static abstract etc etc etc. These are all things that show how much potential it has, but all that potential is being screwed up by the ham handed way the project is being handled and presented. I am rapidly losing hope that Lucee will be successful, right now it looks to me to be headed straight for the rocks unless it changes course.

How it could be turned around

It is not too late to fix this situation, but only if the lucee team get down off their high horses and change their attitudes.

  1. Delay the release of Lucee 5
  2. Document all the new features, changes in it and why they were made.
  3. Form a language advisory group and openly invite people with known language design knowledge(any language) and or proven experience with cfml to join it. (Sean Corfield, Adam Cameron, Luis Majano etc etc)
  4. Go through the documented design changes with a fine tooth comb and evaluate each one and where necessary revise those decisions.
  5. Document those changes and only then go and implement them.
  6. Do a proper beta release and when comments are made (be they good, bad or indifferent) listen and respond without the snark.

I would much rather see a delayed release while this issues are addressed than what I am currently seeing. Right now I have no intention of being an early adopter of Lucee 5 and if things keep going down this path I may never adopt it.

Reader Comments

Adam Cameron's Gravatar
Adam Cameron
Saturday, April 18, 2015 at 5:17:12 PM Coordinated Universal Time

Thanks for being a second voice on this topic, Steven. I'll not comment on the content beyond that.

What I wanted to say is that I'm trying to take onboard that I am unnecessarily abrasive when articulating my points, and this helps no-one. I'm trying to - basically - [take a deep breath] before I write stuff. I'm hoping to find a middle ground between "being a bit of a prick" (now), and "I don't agree with [this], and here's why".

I imagine it'll be a long road. And *my* intended destination will still probably have a lot of ppl thinking I'm a disagreeable so-and-so. But that's OK I reckon ;-)

Again, thanks for this blog post. Not because of the solidarity that you're echoing my sentiments, but it validates that my concerns aren't just my own ones.

--
Adam

Steven Neiland's Gravatar
Steven Neiland
Saturday, April 18, 2015 at 5:32:26 PM Coordinated Universal Time

Adam,
Nobody is perfect, what matters is your intentions and on that note nobody can fault you.

Jim Priest's Gravatar
Jim Priest
Saturday, April 18, 2015 at 8:42:32 PM Coordinated Universal Time

Well said! Was considering writing something like this myself but you said it perfectly.

Russ Michaels's Gravatar
Russ Michaels
Saturday, April 18, 2015 at 9:06:39 PM Coordinated Universal Time

I rather felt the same about the future of this project, it feels like it is going down the same road as OpenBlueDragon.
I don't think I will switching anything from Railo to lucee just yet.

Steven Neiland's Gravatar
Steven Neiland
Saturday, April 18, 2015 at 11:34:50 PM Coordinated Universal Time

I was feeling frustrated with what I saw happening with Lucee when I wrote this. Now having spent a night watching the antics on the mailing list I have to seen enough.

Tomorrow I start learning something other than cfml. Ruby is looking good right now, or maybe node. I don't know ye, but whatever way I go will be a better direction than either ColdFusion or Lucee.

I am done.

Andrew Myers's Gravatar
Andrew Myers
Sunday, April 19, 2015 at 10:20:00 AM Coordinated Universal Time

@sneiland don't rule out Groovy / Grails. I think Groovy is a really good fit for CFML developers...

Steven Neiland's Gravatar
Steven Neiland
Sunday, April 19, 2015 at 10:28:26 PM Coordinated Universal Time

@Andrew,
I have looked into Groovy, but I think I saw recently that the Groovy project was having it own shakeup so until I have time to look into that I dont think it will make my short list.

Steven Neiland's Gravatar
Steven Neiland
Sunday, April 19, 2015 at 10:31:32 PM Coordinated Universal Time

I got some news today that gives me hope that the ship may be turned around, but I still believe that I need to take on learning another server-side language as a priority.

Choop's Gravatar
Choop
Monday, April 20, 2015 at 9:30:14 AM Coordinated Universal Time

Sometimes the most valuable role a person can play is the thorn in the lion's paw: it can save a mouse's life. I respect anyone willing to thorn up a lion, if the mouse is worth considering. Lucee is such a mouse, Micha is the lion, and Adam is acting as the thorn. I'm happy he's here doing what he's doing, **especially** since he's not even professionally developing with CFML right now.

marlo's Gravatar
marlo
Sunday, June 28, 2015 at 12:46:28 AM Coordinated Universal Time

Nobody is perfect, what matters is your intentions and on that note nobody can fault you.

Sean's Gravatar
Sean
Wednesday, October 7, 2015 at 10:13:09 AM Coordinated Universal Time

Been trying to keep an open mind with Lucee, but so much is different from versions of CF I know and have been using. At this point I would say it bears little relation to CF and is its own thing. Being its own thing I have no interest in it because frankly CF seems to just work, where the other engines are a grind have have so much breakage and suffering docs.

Dawesi's Gravatar
Dawesi
Sunday, July 1, 2018 at 3:07:33 AM Coordinated Universal Time

All these years later in 2018 proved that being impatient and ranting doesn't pay... then or now. Not only where your predictions completely wrong, not only where you far too impatient and self-centred, but you also proved that every community has a raving crazy person, and we have two (you and adam) This post is so egotistical and self-centred it is scary, pretending you are important - turns out like everyone else here you are ONE voice, not more important than the thousands who are patient and kind and positive. Great to see you were wrong in so many ways, just like Adam is when he rants.

Steven Neiland's Gravatar
Steven Neiland
Saturday, February 2, 2019 at 12:30:55 AM Coordinated Universal Time

Dawesi, You are free to have your opinions, but I stand by everything I said back then. Yes Lucee has come a long way, but I hold to the opinion that if you are not willing to call out the bad as well as the good then all you are is a fanboi. You obviously ignored all the positives I said about lucee and focused only on the negatives. In the end I think the Lucee project actually took note of these points and did better, or maybe they didnt but at least we can agree that years later the Lucee project is stronger than ever which is all that really counts. p.s. As for me being self-centered and pretending im important. Well dude you can think what you want it doesn't change a single thing, in fact you can just fuck off.

  • Please keep comments on-topic.
  • Please do not post unrelated questions or large chunks of code.
  • Please do not engage in flaming/abusive behaviour.
  • Comments that contain advertisments or appear to be created for the purpose of link building, will not be published.

Archives Blog Listing