You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@velocity.apache.org by Elmar Juergens <ju...@in.tum.de> on 2006/02/03 18:12:11 UTC

Background material on Template Engines?

Hi,


I am using Velocity on a project for my Master thesis in Computer Science, 
and it works like a charm.
However, for the thesis itself, I would like to write some background 
paragraphs on template engines, on topics like:

- how did template engines evolve?
- how do they relate to other text generation techniques (like macro 
processors)?

Any comments, explanations or pointers to additional material very much 
apprechiated!


Best greetings,
Elmar Juergens
 


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Background material on Template Engines?

Posted by Will Glass-Husain <wg...@forio.com>.
Ah,

Here's the article I was looking for
   http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf


referenced on the Velocity mailing list here:

http://article.gmane.org/gmane.comp.jakarta.velocity.user/5469/match=theory

Incidentally, the author is the creator of the ANTLR parser generator and a 
professor at University of San Francisco.

WILL

----- Original Message ----- 
From: "Will Glass-Husain" <wg...@forio.com>
To: "Velocity Users List" <ve...@jakarta.apache.org>; "Daniel 
Dekany" <dd...@freemail.hu>
Sent: Friday, February 03, 2006 9:47 AM
Subject: Re: Background material on Template Engines?


> Elmar,
>
> There was a paper that was noted on this list a couple years ago that hit 
> some of the theoretical issues involved.  I'll see if I can find the 
> reference.
>
> If you're looking for other examples for comparison see:
>
> JSP 2.0 (not an exact match, but can be used for templating)
> WebMacro (Java)
> FreeMarker (Java)
> Smarty (PHP)
> Template Toolkit (Perl)
>
> WILL
>
> ----- Original Message ----- 
> From: "Daniel Dekany" <dd...@freemail.hu>
> To: "Velocity Users List" <ve...@jakarta.apache.org>
> Sent: Friday, February 03, 2006 9:22 AM
> Subject: Re: Background material on Template Engines?
>
>
>> Friday, February 3, 2006, 6:12:11 PM, Elmar Juergens wrote:
>>
>>
>>> Hi,
>>>
>>>
>>> I am using Velocity on a project for my Master thesis in Computer 
>>> Science,
>>> and it works like a charm.
>>> However, for the thesis itself, I would like to write some background
>>> paragraphs on template engines, on topics like:
>>>
>>> - how did template engines evolve?
>>
>> Like, for example, Velocity was a me-too project after WebMacro due
>> licensing issues with WebMacro. (So it's maybe a good idea to put this
>> question on the list of some other template engines too, where the
>> template engine was made because of technical reasons, rather than from
>> political reasons.)
>>
>>> - how do they relate to other text generation techniques (like macro
>>> processors)?
>>
>> I think the important thing is to define first what a template engine
>> is. In my opinion, a template engine is a template language
>> implementation plus some closely related stuff like a caching and
>> template loading mechanism. And, a template language is a special
>> programming language whose rules are chosen so that the program
>> resembles to the output that it generates. (Since programming languages
>> are text, template languages that I know about, are all text template
>> languages, i.e. they output text.)
>>
>>> Any comments, explanations or pointers to additional material very much
>>> apprechiated!
>>>
>>>
>>> Best greetings,
>>> Elmar Juergens
>>
>> -- 
>> Best regards,
>> Daniel Dekany
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Background material on Template Engines?

Posted by Will Glass-Husain <wg...@forio.com>.
Almost forgot... nvelocity, a port of Velocity to .NET.

WILL

----- Original Message ----- 
From: "Will Glass-Husain" <wg...@forio.com>
To: "Velocity Users List" <ve...@jakarta.apache.org>; "Daniel 
Dekany" <dd...@freemail.hu>
Sent: Friday, February 03, 2006 9:47 AM
Subject: Re: Background material on Template Engines?


> Elmar,
>
> There was a paper that was noted on this list a couple years ago that hit 
> some of the theoretical issues involved.  I'll see if I can find the 
> reference.
>
> If you're looking for other examples for comparison see:
>
> JSP 2.0 (not an exact match, but can be used for templating)
> WebMacro (Java)
> FreeMarker (Java)
> Smarty (PHP)
> Template Toolkit (Perl)
>
> WILL
>
> ----- Original Message ----- 
> From: "Daniel Dekany" <dd...@freemail.hu>
> To: "Velocity Users List" <ve...@jakarta.apache.org>
> Sent: Friday, February 03, 2006 9:22 AM
> Subject: Re: Background material on Template Engines?
>
>
>> Friday, February 3, 2006, 6:12:11 PM, Elmar Juergens wrote:
>>
>>
>>> Hi,
>>>
>>>
>>> I am using Velocity on a project for my Master thesis in Computer 
>>> Science,
>>> and it works like a charm.
>>> However, for the thesis itself, I would like to write some background
>>> paragraphs on template engines, on topics like:
>>>
>>> - how did template engines evolve?
>>
>> Like, for example, Velocity was a me-too project after WebMacro due
>> licensing issues with WebMacro. (So it's maybe a good idea to put this
>> question on the list of some other template engines too, where the
>> template engine was made because of technical reasons, rather than from
>> political reasons.)
>>
>>> - how do they relate to other text generation techniques (like macro
>>> processors)?
>>
>> I think the important thing is to define first what a template engine
>> is. In my opinion, a template engine is a template language
>> implementation plus some closely related stuff like a caching and
>> template loading mechanism. And, a template language is a special
>> programming language whose rules are chosen so that the program
>> resembles to the output that it generates. (Since programming languages
>> are text, template languages that I know about, are all text template
>> languages, i.e. they output text.)
>>
>>> Any comments, explanations or pointers to additional material very much
>>> apprechiated!
>>>
>>>
>>> Best greetings,
>>> Elmar Juergens
>>
>> -- 
>> Best regards,
>> Daniel Dekany
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Background material on Template Engines?

Posted by Will Glass-Husain <wg...@forio.com>.
Elmar,

There was a paper that was noted on this list a couple years ago that hit 
some of the theoretical issues involved.  I'll see if I can find the 
reference.

If you're looking for other examples for comparison see:

JSP 2.0 (not an exact match, but can be used for templating)
WebMacro (Java)
FreeMarker (Java)
Smarty (PHP)
Template Toolkit (Perl)

WILL

----- Original Message ----- 
From: "Daniel Dekany" <dd...@freemail.hu>
To: "Velocity Users List" <ve...@jakarta.apache.org>
Sent: Friday, February 03, 2006 9:22 AM
Subject: Re: Background material on Template Engines?


> Friday, February 3, 2006, 6:12:11 PM, Elmar Juergens wrote:
>
>
>> Hi,
>>
>>
>> I am using Velocity on a project for my Master thesis in Computer 
>> Science,
>> and it works like a charm.
>> However, for the thesis itself, I would like to write some background
>> paragraphs on template engines, on topics like:
>>
>> - how did template engines evolve?
>
> Like, for example, Velocity was a me-too project after WebMacro due
> licensing issues with WebMacro. (So it's maybe a good idea to put this
> question on the list of some other template engines too, where the
> template engine was made because of technical reasons, rather than from
> political reasons.)
>
>> - how do they relate to other text generation techniques (like macro
>> processors)?
>
> I think the important thing is to define first what a template engine
> is. In my opinion, a template engine is a template language
> implementation plus some closely related stuff like a caching and
> template loading mechanism. And, a template language is a special
> programming language whose rules are chosen so that the program
> resembles to the output that it generates. (Since programming languages
> are text, template languages that I know about, are all text template
> languages, i.e. they output text.)
>
>> Any comments, explanations or pointers to additional material very much
>> apprechiated!
>>
>>
>> Best greetings,
>> Elmar Juergens
>
> -- 
> Best regards,
> Daniel Dekany
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Background material on Template Engines?

Posted by Mike Kienenberger <mk...@gmail.com>.
Friday, February 3, 2006, 6:12:11 PM, Elmar Juergens wrote:
> However, for the thesis itself, I would like to write some background
> paragraphs on template engines, on topics like:
>
> - how did template engines evolve?

On 2/3/06, Daniel Dekany <dd...@freemail.hu> wrote:
> Like, for example, Velocity was a me-too project after WebMacro due
> licensing issues with WebMacro. (So it's maybe a good idea to put this
> question on the list of some other template engines too, where the
> template engine was made because of technical reasons, rather than from
> political reasons.)

For what it's worth, here's an early template engine (wow, 10 years
old now!) I originally used.   When I switched from ObjC to Java, I
converted my templates to velocity fairly painlessly.

http://www.misckit.com/Documentation/IntroMiscMergeKit.htmld/index.html

Here's what appears to be current contact info for Don, although I
haven't talked with him in a few years :)  I'm pretty sure he'd be
happy to discuss template engine evolution, at least from his own
standpoint.

http://www.yacktman.org/don/

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Background material on Template Engines?

Posted by Daniel Dekany <dd...@freemail.hu>.
Friday, February 3, 2006, 6:12:11 PM, Elmar Juergens wrote:


> Hi,
>
>
> I am using Velocity on a project for my Master thesis in Computer Science,
> and it works like a charm.
> However, for the thesis itself, I would like to write some background 
> paragraphs on template engines, on topics like:
>
> - how did template engines evolve?

Like, for example, Velocity was a me-too project after WebMacro due
licensing issues with WebMacro. (So it's maybe a good idea to put this
question on the list of some other template engines too, where the
template engine was made because of technical reasons, rather than from
political reasons.)

> - how do they relate to other text generation techniques (like macro 
> processors)?

I think the important thing is to define first what a template engine
is. In my opinion, a template engine is a template language
implementation plus some closely related stuff like a caching and
template loading mechanism. And, a template language is a special
programming language whose rules are chosen so that the program
resembles to the output that it generates. (Since programming languages
are text, template languages that I know about, are all text template
languages, i.e. they output text.)

> Any comments, explanations or pointers to additional material very much 
> apprechiated!
>
>
> Best greetings,
> Elmar Juergens

-- 
Best regards,
 Daniel Dekany


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org