Byron Foster wrote:
What's with the tone? Are you angry about something?

Well, of course. Obviously.

I just realized something. This is the first time I recall anybody asking me *why* I can't stand the Velocity community. Others, like Geir Magnusson, Nathan Bubna and Will Glass-Hussain, for example, never asked me why it is that I can't stand the Velocity project. (And, by extension, cannot stand them.) And I tend to take things on face value. I guess it's because they basically know why, and you (and some other guy who asked me in private) are asking me because you don't understand.

Suppose you went to the local shopping mall and I mean now, in 2009, some store there, that many people considered a really respectable retailer, they were selling a 300 Mhz Pentium II computer with 64 Mb of RAM and a 500 Mb hard disk. Not in a bargain bin, like for 50 bucks you can take it away, but selling it as if it was a current article.

Suppose further that little old ladies who didn't know any better were buying these computers because they don't know any better. Wouldn't you at least want to scream at these people: "Don't buy this! It's not a state of the art computer! You're being ripped off!"

I mean, there's a state of the art in a space. You can't be selling something that is 200/2001 technology as if it was current, right?

So what is going on in this discussion? For the nth time, somebody brings up this feature, macros with body content, and for the nth time, people who are supposedly the project managers in this project show that they do not even understand the feature. Something that has been in FreeMarker for 6 years.

It's not like the obsolete computer insofar as people aren't shelling out money, but time is money, and you're wasting people's time. If you show up and announce some programmer's editor that doesn't have basic features like syntax highlighting or regular expression based search/replace, you would deserve to be sneered at. In particular, when you answer people who ask about these features and demonstrate that you don't even know what those features are.

Look, guys, you really ought to step back and think about why you are involved in an open source project, involved in open source generally. It cannot (or at least should not) be *solely* as a self-promotion mechanism. It has to be (IMHO) because the work is genuinely useful. To have a product that is so unambiguously inferior to the state of the art in its space that *everybody* would be better off using something else and to be going around announcing it in the major places, as if it was a state of the art tool... this is pathetic, masturbatory behavior.

There is war and famine in this world, issues that are much more worthy of your anger then template syntax.


True, there are bigger issues in the world, but that's a big non-sequitir. People are asking me why I can't stand them and so I answer you straight-up. Look at the position we are in (by we, I mean the FreeMarker community.) You're supposedly our main competitor. Not only do you not have anything remotely competitive to versions of our tool from 6 years ago, but, as you see here, the principal people don't even bother to understand what the feature set of a modern template engine is.

From my POV, it's utterly exasperating. That, combined with all this "Apache Way" BS and the utter unwillingness of the echosphere out there to point out that the emperor is wearing no clothes....

Sheesh...

Yeah, that's what I say.


I don't see why #if($cond $content) has an advantage over #if($cond)$content#end. If your implication is that $content should be passed to a macros as a parameter, well then yes, we are discussing the mechanism for doing this.

A little friendlier next time please...

Well, frankly, you guys would have to stop being such insufferable wankers first. As I have said elsewhere, respect is not something you are owed as a matter of course. In the open source world, respect is earned. Do something to earn my respect and things might be different. Until then, it's like the old proverb. You reap what you sow.

Jonathan Revusky
--
lead developer, FreeMarker project, http://freemarker.org/
FreeCC Parser Generator, http://code.google.com/p/freecc


FreeMarker vs. Velocity, 5 years of practical experience
http://freemarker.blogspot.com/2007/12/velocity-of-freemarker-looking-at-5.html









On Jan 15, 2009, at 19:48 , Jonathan Revusky wrote:

How can you guys be supposedly working in the template engine space and not understand the motivation for basic features that have existed in competing tools for the past 5 years at least? That's such a long time. Sheesh.

I am going to throw you a bone, try to give you a hint. Here goes:

Why don't you ask yourself now why built-in directives like #if and #foreach can have nested content? Wouldn't it be simpler to just allow instead:

#if ($condition $content)

or:

#foreach ($listOrIterator $content)

You see, the issue, geniuses, is essentially the same as with the built-in directives: macros with body content can be nested one within the other to any arbitrary depth.

Anyway, why are you talking about this in a complete vacuum? You can look at how it works in FreeMarker -- or JSP even. A description of the feature and how it works in FreeMarker is here:

http://freemarker.org/docs/dgui_misc_userdefdir.html

Towards the bottom of the page, the heading is "Nested Content".

You'll also see that another aspect of this is that the #nested directive can be invoked with parameters, IOW the macro can pass back parameters to the nested content block.

But the whole notion that this feature is some little thing that is unnecessary is 180 degrees away from the truth. There are all kinds of templating patterns that are essentially impossible without this feature. It's a basic feature in any modern templating tool.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to