Navigation

RSS 2.0 New Entries Syndication Feed Atom 0.3 New Entries Syndication Feed

Show blog menu v

 

General

Use it

Documentation

Support

Sibling projects

RIFE powered

Valid XHTML 1.0 Transitional

Valid CSS!

Blogs : Archives

avatar
< (April fool) RIFE re-implemented in Ruby to boost productivity   OpenLaszlo 3.0b2, two weeks later >
Bla-bla List criticisms (and Java rules, yes I love it, doh!)

During the recent Rails slashdot post that refers to a blog post that once again manages to compare totally different application stacks and draw conclusions out of it, someone referenced the out-of-context micro code comparison that was done about Bla-bla List and casted once more a collection of unbacked criticisms.

I tried to clarify a few points and guess what, someone else (I guess Matt McRay, but he wasn't man enough to use a real name) just nicely summarized all the criticisms that I got about Bla-bla List from Rails users. Somehow they seem to feel hurt by the fact that I tried to show Java developers that Java can be concise too without lots of setup and configuration files.

This is the post with my in-lined answers. Since it'll probably get lost on slashdot and I want Java people to read them, I repeat it here. I love Java and the recent Rails buzz blows a lot of things totally out of proportion, I just want to blow back a bit:

They saw it, Geert. And they were dully impressed, but you didn't really do what you said you'd do.

Yes I did exactly what I said I'd do and a lot more. I keep having to explain things over and over again to you Rails activists, but you seem to be unable to understand anything that is only just slightly different from the concepts that you use.

1. You used Lazlo. Your templates are 10x bigger than Tada lists. You may not count this, and that's great for you, but it's still code you have to maintain. If you were to add Tada's templates in with the count, the code count wouldn't go up nearly as much as Bla-Bla's would.

So you're saying that you actually manage to look elsewhere than the src/templates directory? You look in the web directory instead and call .lzx Laszlo files, templates. Even though they have nothing to do with templates? They are a SEPARATE application, and everything in Bla-bla List can be done without it. Oh, and btw, Ta-da Lists's template line count was not taken into account into the 600 lines, so stop whining. Rails' templates contain logic and loops, RIFE's not. I actually included those loops in the line-count instead of leaving them out.

2. You didn't implement Ta-da list. You implemented something kinda like Ta-da list optimized for RIFE. Were Ta-da list to be rewritten as a standalone app leveraging the current Rails (instead of being ripped out of Basecamp and used as a marketing tool for it)? 340 lines. Don't believe me? Check out taskTHIS! (and source*).

You guys continue to amaze me, so you write an even more simple to-do list with Rails that does some Ajax eye-candy and only does account management and list editing. Let's take a look about what's missing, will ya:

  • no public sharing,
  • no private sharing,
  • no RSS,
  • no item reordering,
  • no list reordering,
  • no different presentation of done lists,
  • no 'nice shrinking/growing' icon,
  • no list emailing,
  • no automatic installation,
  • ....

and you still manage to let it be a hefty 340 lines in your awesome concise framework? You just confirmed that you never take the time to check ANY of your statements and just troll on senselessly in the direction of whoever is leading you. SAD! Btw, I'd wouldn't call Bla-bla a RIFE-optimised application at all. Quite the contrary in fact, almost nothing is used of the important features of RIFE. The application is so simple that you never get to leverage any of the benefits since there's never any data flowing around. They are all single actions. I'd rather call Ta-da optimized for Rails since you have your List Act which does all the list handling automatically in the framework. We don't consider CRUD operations a core feature, but will soon release RIFE/crud as a separate package that addresses this without any code generation. Bla-bla List doesn't use any of that btw.

3. You have to maintain your configuration, but you fail to mention that massive size as well. In rails there is almost none.

Which configuration? This is what you call configuration? I hate to bring it to you, but that is not configuration. It's separation and declaration of the application's logic and data flow which brings an enormous collection of features that you wouldn't even understand since you marvel at your pityful one-dimensional controllers. Once more, you seem to be totally deluded since I DID COUNT the lines of that file in the final line count. I checked before with my friend Brian McCallister, who knows Rails quite well, to see if I should include it. I'm still not that sure I should have since the features it gives you are completely impossible to do with Rails. If you're interested in that, start using a real name, be a man and we'll have some extensive chat about that elsewhere.

[*]Please don't make too many comments about the quality of that code, it's a demonstration. It is not as perfect as it could be, and that works for and against it. It probably could be smaller, it probably could be more bug free.

Oh, don't worry, I don't comment on your code with micro comparisons as Rails activists seem to love to do. I do comment on the fact that you only implemented 15% of the application and did none of the complicated stuff. /golfclap you just made a total jerk out of yourself.

So yeah, Geert. You won a contest you yourself made, set the rules for, and gamed appropriately. You are now eliagable for a cookie.

Last time I checked, I didn't win the contest (since I came out 300 lines more). More even, I never did a contest since Ta-da's code is nowhere to be seen. All I did was show Java developers that Java can be concise and doesn't have to be totally convoluted.

Which rules did I set?

  • I faithfully cloned Ta-da List even though the 'Edit list' part is very stupid and I'll probably re-do it in-line in the GUI.
  • I used Laszlo to build a separated application which has nothing to do with the server-side and merely interfaces with the REST API and interpretes the results that are sent back. It's sad that you don't seem to understand that these results are just one way of presenting the data, in this case as XML instead of HTML + Javascript. If you can't make the mental switch that what you see in the Laszlo GUI is not what is generated by the view layer of the server-side application, then there's a painful future ahead of you with Ajax.
  • I fixed a couple of issues with the application that I found important.
  • I added a number of features that were missing according to me.

Please stop wasting my and other people's time with accusations that are totally unfounded and unresearched.

posted by Geert Bevin in RIFE on Apr 5, 2005 8:50 AM : 9 comments [permalink]
 

Comments

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Geert, this thing never ends.

I laugh at Slashdot people who got nothing better to do. If Rails is a hype, so be it. If J2EE is too complex, so be it.

Life goes on.

Your life would be better ignoring Rails. Do what you love, ignore what other people said.

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Holy cow! I hadn't seen that XML file : https://svn.rifers.org/blablalist/trunk/src/sites/blablalist.xml

Congratulations, this is one of the worst piece of declarative repeat-yourself XML programming I ever saw… it mixes generic terms like "element" with gory technical details like "cookieout", now that's a new kind of "abstraction"...

Is this serious? Are you guys completely insane? The purpose and the content of this file is just… scary!

Btw, is all the logic described in this messy thing checked at application deployment time? Or does the whole thing behave like it was written in a toy language? ;)

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Hey pisser anonymous, very constructive again. How about saying something useful for a change?
Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
I would like to add my three words i looked up at webopedia about xml, but they got lost in a copy paste accident where my ctrl key b0rked
Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
I'll comment on the actual content of the flame though. Please tell me how to 'abstract' away a cookie, it's not a data input since it's much richer and stored on the client-side, outside the URL. The site structure describes the flows of a web engine, not an generic not-web related structure. It defines URLs too. We could have made a cookie a special kind of input or slap another name on it, but there wasn't really much sense in doing that since 'cookie' describes a cookie best.

Oh and yeah, everything is reloaded during development without restart, even the Java implementations. You shouldn't call scripting languages toy languages, since they aren't.

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Here's my take (as if I matter since I'm a no name). First, I'd like to say that I like the look of RIFE. Never used it, but it seems like one of the better Java frameworks out there. So that's where I'm coming from.

That said, I'd recommend not getting so worked up over people's comments. It's better to be polite when responding to criticism.

Overall, I like the points made by Bla-Bla List. I would recommend counting GUI code, though. I understand the REST point. Just that if Ta-Da List has a GUI, you should also count code for at least one GUI. Maybe a smaller GUI than the Lazlo one?

Of course having a GUI and REST would again put you over the feature set of Ta-Da List. But unless you count a GUI (some comparable GUI), you are under their feature set in at least one dimension.

Meanwhile, keep up the good work. And I hope the Rails group does, too.

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Hi Tom, if you read the comments that were posted on the previous entries I think you'll get some perspective on why I react like this if someone comes flaming on my personal blog and doesn't even have the decency to identify himself.

The reason why the GUI code isn't counted is that they didn't count it for Ta-da either, just read the comments here: http://weblog.rubyonrails.com/archives/2005/01/19/make-your-ta-da-list-today/

Actually I count more than Ta-da List since they put loops and conditionals in the template code and RIFE can't have any logic inside templates, so I included the loops in the line count.

I do have a second GUI, one that outputs as XML ;) There are also some public html pages in there, but anyway only the logic is counted according to the rules that Ta-da set.

Thanks for the rest of the comments!

Best regards,

Geert

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Thanks for the clarification on the GUI thing. I had missed that they too had left it out on line counts. I think I'd have to agree that your comparison sounds like a valid way of counting things.

Since Rails supposedly makes HTML UIs easy and somewhat automated (Does this hold as the UI gets more sophisticated?), I'd love to see a UI-included comparison from both sides. But I guess that could be saved for another day. (Since the current UIs on both sides are definitely apples and oranges.)

Re: Bla-bla List criticisms (and Java rules, yes I love it, doh!)
Hi Tom,

that's not really an option since we think GUI (html) code shouldn't be automated (well as little as possible). It's not the role of a generic web application framework, though another project might build on it that provides CRUD automation for instance. I think that comparing this would be very difficult unless people are actually willing to read and understand all code (which very little seem to actually do before drawing conclusions).

Best regards,

Geert

Add a new comment

Comments on this blog entry have been closed.

< (April fool) RIFE re-implemented in Ruby to boost productivity   OpenLaszlo 3.0b2, two weeks later >
 
 
 
Google
rifers.org web