Geert Bevin gets an A+ for trying, no doubt about that. In an attempt to hold the fort for Java as the troops are deserting left and right, Geert went away for a few months to contemplate and implement Bla-bla List. A more or less functional clone of Ta-da List done in Laszlo and RIFE (a Java web framework).
With the introduction of Bla-bla, Geert was even so kind as to point out a few security and usability issues with Ta-da, which was promptly resolved. Even kinder, he has put up a Subversion repository with the full source.
I gave it a glance and decided to share a few snippets from Ta-da (which unlike Bla-bla is not open source) to show the difference in how the two implementations deal with the core action: checking off todo items.
While no comparison between two different implementations is going to be perfect, this is as close as it gets. What surprised me the most was the lack of a real domain model. Apparently, the model in Blabla is just a bunch of data containers while the logic is in a service/controller layer. Ouch. I sure don’t hope that procedural excuse for an object-oriented system is par for course with RIFE.
Regardless, this was surely good fun. Geert put a lot of effort into it and a pat on the back for that. Whether this implementation is going to lure any of the deserters back into the camp is more doubtful, though.
P.S.: Geert’s posting includes a doomsday warning that data will be lost on Ta-da if your session expires. That was true for about half an hour, but has since been resolved.