Quoting Ray Cromwell ([EMAIL PROTECTED]):
> > > * If I need to hire a developer and I key "WebMacro" and "JSP" keywords
> > > into a resume web site, how many hits am I going to get on each?
> >
> > If you hire a developer who can't figure out how to use WebMacro in a day,
> > then either you hired the wrong person, or I'm doing something wrong. I
>
> Well, he might be able to learn it in a day, but would he neccessarily
> use it in the best way without experience? Would he use #parse
> directives effectively, or cut-and-paste? Would he rely on $Request
> too much, or delegate to the servlet?
Here is the entire set of WebMacro directives:
if, foreach, include, param, parse, set, use
Each of these is dead simple. Once you've learned them, you know everything.
It's true I'm planning to add two more: macro and filter; but I am also
planning to drop one (param is redundant with set).
On top of the directives, you have properties you can drop in your page:
$foo // an objet in yoru context
$foo.Name // the Name property on foo
$foo.find("red") // in case the method isn't bean-like you can do this
Finally when you write a term you can specify it as a word, an int, a list,
or a quoted string:
#set $list = [ word, 7, "some string" ]
And that's basically the entire language. I was exaggerating a lot when
I said it would take a day.
Now what takes longer than a day is figuring out how to put the whole
thing together in a sensible design. How do you use WebMacro effectively
in your servlet? What kinds of objects should you have available to you
in your context? What kinds of tools do you want to make generally
available in your context?
These are tougher design questions, but they're not the sort of thing you
would expect your new hire to figure out.
I expect, and WebMacro expects, you to have an experienced person who works
out the overall design (such as what objects there will be in the context)
and hands the implementation work to someone more junior ("Here, implement
such and such and put it in the context").
Oh yeah, putting something in the context is really hard:
context.put("foo", new FooImlementation()); // in your servlet
Given the simiplicty of the above template implementation you might wonder
how you can create complex applications and pages in WebMacro. The answer
is you put the complexity into ordinary Java code, and you stick the
resulting objects in the WM context. Alternately, you can create some
intelligent tools and make them available in the context by registering
them in your config file.
All of that is Java programming work using ordinary Java against a pretty
typical looking Java API. So we're talking about how good of a Java
programmer you found here, and there are LOTS of those.
JSP is *much* more complex than WebMacro templates. The complexity in WM
is all on the Java side--and that's the *Java* side, you only need a
good Java programmer. WM experience will not be so important.
> There's a big difference between "book learnin'" and actual real
> experience.
Definately. Your senior programmer will probably want to spend a week or
so playing around with WM to familiarize themselves with the design. Your
junior people can get going on day one.
Or so I claim.
I admit in 0.89.1 the documentation is not so good, but I have a thriving
mailing list full of helpful people, and the documentation is about to
improve.
> > It's things like JSP where you might have to worry whether your hire
> > has previous experience or not, because it builds a new architecture
> > that limits the value of ordinary Java experience. WebMacro doesn't
> > do that.
>
> Oh please. JSP's are servlets.
Plus tag libraries, special codes, methods of invocation, property inspect,
and a lot of other junk that is not nearly as simple as WM. Jason's article
is a pretty good overview of the difference in complexity between WM and JSP.
I agree that with JSP previous experience is going to be an important
factor when you hire someone. I can see why you would look for it on
the resume.
> They are not a "new architecture" If
> anything, the Servlet<->WebMacro MVC is a new architecture which most
> PhP/Perl hack's are unfamilar with. The idea that WebMacro is going to
> be written by graphic artists is preposterous.
I think WM script is accessible to anyone who has ever edited even the
simplest JavaScript. It's much simpler than JavaScript.
As for the new way of thinking--you are totally right. I would expect you
to have a senior engineer around capable of understanding such things, and
your new hire would get instructions from that person on what class to
write next.
That's how I operate anyway. If you hand over design decisions to junior
new hires, then maybe WM isn't right for you.
> If anything, with JSP, I could hire ASP programmers who are familar
> with the syntax. Or XML developers who are familar with XML syntax.
You're right about ASP. That's the big advantage of JSP--I don't believe
it is a good use of the Java language, however it is definately a good
way to start weening people off of ASP and Perl. Absolutely.
There is, however, no such thing as an XML developer. At least not in
my vocabulary. I also don't talk about "HTML programmers".
Knowing XML syntax entitles you to understand
<document><title>hello</title>...
it does not entitle you to understand how to iterate through a loop in
JSP, or quickly understand that, if you have no previous programming
or scripting experience.
If you have any previous scripting experience, I maintain WM script will
come easier. Try it and see if you agree.
> The prospects of hiring experienced developers who can use JSP
> effectively are much higher than WebMacro, especially since JSP is
> going to be taught at internet training companies around the country,
> whereas WebMacro isn't.
> When JavaOne or <insert conference here> offers a WebMacro track, call me.
OK, I will. What's your number, I'll be needing it later :-)
Certainly there are going to be more books, etc., written on JSP. However,
you talk as though it is equally difficult to learn WM, and it is
significantly easier. So much easier I'm not sure all these books are
going to be needed in the case of WM. A single chapter would do.
Maybe Jason will oblige me in v2 of his book :-)
Justin
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
FAQs on JSP can be found at:
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html