Andy Wardley writes:
> I like the sound of it, but I should warn you that I have a personal 
> crusade against inappropriate use of the phrase "MVC" in relation to 
> web development.  

So how about a panel discussion.  I would gladly represent the MVC
camp. :-)  (see http://www.bivio.biz/hm/why-bOP for my position.)

I am thinking about giving a talk about subject matter oriented
programming (SMOP).  SMOP separates the programming concerns to allow
you to concentrate on the subject matter with minimal distractions.
If you are familiar with patterns, it's the interpreter pattern taken
to the extreme.

The example would be to compare Sun's Pet Store with our own
http://petshop.bivio.biz.  The 3 major SMOP languages in bOP's PetShop
allow you to focus on the subject matter in the models, views, and
controllers without getting bogged down in syntax and unnecessary
repetition.

This is not a SMOP from J2EE's Pet Store[1]:

  <tr>
   <td class="petstore_form" align="right">
    <b>First Name</b>
   </td> 
   <td align="left" colspan="2">
    <waf:input cssClass="petstore_form"
                             name="given_name_a"
                              type="text"
                               size="30"
                    maxlength="30"
                      validation="validation">
     <waf:value><c:out value="${customer.account.contactInfo.givenName}"/></waf:value>
    </waf:input>
   </td>
  </tr>
  <tr>
   <td class="petstore_form" align="right">
    <b>Last Name</b>
   </td> 
   <td align="left" colspan="2">
    <waf:input cssClass="petstore_form"
                              type="text"
                             name="family_name_a"
                               size="30"
                    maxlength="30">
     <waf:value><c:out value="${customer.account.contactInfo.familyName}"/></waf:value>
    </waf:input>
   </td>
  </tr>
  
And, this is a SMOP in bOP[2]:

    [
        vs_form_field('UserAccountForm.User.first_name'),
    ], [
        vs_form_field('UserAccountForm.User.last_name'),
    ],

The intent is to demonstrate the power of Perl to distill the essence
of the subject matter.

Interest?

Rob

[1] http://java.sun.com/blueprints/code/index.html#java_pet_store_demo
[2] http://petshop.bivio.biz/src?s=View.account


Reply via email to