Re: Heresy? Re: DSSSL WWW Enhancements

Subject: Re: Heresy? Re: DSSSL WWW Enhancements
From: Earl Hood <ehood@xxxxxxxxxxxxxxxxx>
Date: Mon, 19 May 1997 10:51:11 -0700
> > I don't see how you will be able to fit all of the Scheme functional style
> > into "some other syntax".  
> That's easy. There are several functional languages with infix syntax. The
> three most popular are Haskell, ML and Dylan. Note that in the early days,
> Lisp had two syntaxes, parenthesized and more traditional.
> >It would seem to me that the goal for any
> > DSSSL-oriented developer for the mass market should be a good front-end.
> I don't think we'll get to that point unless it catches on with the Dirty
> Perl Hackers.

I being one of those "Dirty Perl Hackers", I cannot agree with this
statement.  I think James was more accurate in stating that issue is in
the way of thinking.  Many programmers are not experienced in thinking
in a functional, side-effect free way.

> Anyhow, there is a very large constituency between GUI-centric
> end users and open-minded "connoisseurs" of functional languages. Most 
> ordinary programmers and webmasters fall into that large middle ground. I
> am not content to cede them to incompatible technologies, nor to try to 
> convert them. The Lisp-people have been trying to persuade them with superior
> technology for *decades*.

The irony here is that Lisp is the 2nd (some may argue the first) oldest
programming language.

> > Technically, I don't see what we gain by changing the syntax.  A complex
> > style-sheet or transformation will not cease to be complex.  Hence, what is
> > the point?
> Nothing technically. That's why I said that it is a good choice for the
> core constituency of DSSSL, dedicated SGML-philes who are already used to
> using "different" technologies (otherwise why aren't we using HTML and TeX
> like everyone else). But to move the DSSSL model into the mainstream, we
> may have to provide an alternative DSSSL syntax.

This is not good.  When you state that there may be the need of an
alternate syntax, you still are not changing how DSSSL works (ie.
functional, side-effect free).  Any good programmer realizes that
syntax is just a formality.  The best way to learn a new programming
language it to understand what it was designed for and how it fulfills
that design.  The syntax you pick up along the way (and understand
the choice of syntax for the language).

The danger you have in providing an alternative syntax is that the
alternative syntax will be prone to evolve into something different
from DSSSL and possibly replace it.  For example, if someone builds a
Perl like alternative syntax, the first thing users will demand is
side-effects and more of the features they are familiar with in the
programming language.  Eventually, the alternative syntax will lose its
DSSSL roots and become a different style language.

> > The fact that perl succeed with a rather cryptic language syntax suggests t
> hat
> > it is not the syntax but what the language can do that makes something
> > succeed.  
> Perl's syntax uses idioms familiar to Unix hackers. It is only cryptic to the
> uninformed. If I were Perl's core audience you can bet it would be 
> substantially less popular. The syntax and semantics are both gross!
> But to Unix hackers, Perl is just like coming home. =)

These statements can be said about most programming languages.  The
unfamiliar always looks cryptic and gross.  To many, Scheme/Lisp looks
cryptic.  However, once you understand the language, you understand the
choice of syntax.  The same can be said for Perl.

> Another way to think of it, though, is the DSSSL vs. Scheme conundrum. DSSSL
> is not Scheme with SGML facilities. It is a declarative stylesheet language
> that has a Scheme-like expression language for programmatic extension. The
> syntax emphasizes the former which scares off people who really don't want
> any more functionality than CSS. 
> Let me repeat that until the day I die I will use fully-parenthesized Lisp-
> style DSSSL. I believe this to be the best syntax for those who are open-
> minded enough to try it. I just want the DSSSL model, the flow objects,
> the construction rules, modes, areas, ..., to be adopted beyond that 
> (unfortunately small) audience.

The real problem is people's fears of the unknown.  I think what would
help more than anything else is good tutorials and examples of using
DSSSL.  Since good learning material on DSSSL is still scarce, people
will be less likely to adopt it.

I am an avid fan of Perl, and I have no problem with the syntactical
choices of DSSSL.


 DSSSList info and archive:

Current Thread