JHP is quite cute. I'm impressed with how much work has been done on
it. But at the same time, I must wonder deeply.

This is because J is about clearly seeing what problem one is solving.

I assert that dynamic html generation, be it for CGI or whatever, is
best perceived as tree rewriting. In this case, we have a processor (a
J program) operating at meta-level to the processed entity, an HTML
tree.

In contrast to my meta-level paradigm for HTML-generation, JHP puts
the J programming language at object-level, inter-meshed with the
HTML. This is similar to 99% of the dynamic html techniques across
100% of all languages - PHP, JSP, ASP, HTML::Mason, etc all fall into
this trap.

There are only a few push-style systems out there - my own
HTML::Seamstress (perl), meld3 (python) , XMLC (java) and
StringTemplate (java and python).

Dynamic html generation in the JHP style is known as "pull-style"
templating. What this means is two things:

1 - the HTML is treated as a program
2 - the HTML is treated at its lowest level as a string instead of a tree.

Terence Parr has proven
  http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf
that pull-style templating is the most degenerate (not trying to be
insulting or derogatory here) case of push-style dynamic html
generation. That is to say, push-style is a more powerful style of
development and at its lowest level is found to be pull-style.

Push-style is more sound from a software engineering point of view for
the reasons I list here:
    
http://www.livingcosmos.org/Members/sundevil/software/push-style-dynamic-text-html-generation/rationale?portal_status_message=Changes%20saved.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to