DSSSL for software engineering?

Subject: DSSSL for software engineering?
From: Paul Prescod <papresco@xxxxxxxxxxxxxxxx>
Date: Thu, 25 Sep 1997 11:44:22 -0400
> Consider the following quotation:
> <extract source=anonymous>
> This sounds like the whole "no-side-effect" religion embraced by DSSSL
> that makes it nearly useless to me in a large conversion project. For
> large sets of conversion operations which are linearly tied by complex
> dependencies, and for other practical software engineering needs, side
> effects are necessary. As with goto's, any mechanism can be abused, but
> that doesn't mean we should never use them (heck, all C++ exceptions
> are just glorified goto's). A recursive decent scoped model for software
> engineering is certainly the way to go, *BUT* too many people equate this 
> with no side effects allowed.
> </extract>
> My programming expertise is insufficient to judge the validity of the
> statement above.

He thinks that DSSSL is for "software engineering". It is not. It is a
*stylesheet language* which was so well designed and extensible that
some people want to use it as a general purpose SGML-centric programming
language. But that is no what it is. 

BTW, C++ exceptions may be implemented as "gotos" at some level, but so
are for, if, else, while and almost every other flow construct in most
modern programming languages. The fact that he singles out C++
exceptions (which are much more constrained than goto) indicates that he
or she does not understand this, nor understand that building structured
abstractions is not the same as using the features that the abstractions
are built upon.

> Has anyone ever used DSSSL for large-scale conversion (1000s of pages) --
> doubtful -- and if so, did the prohibition of side effects get in the way? 
> Why or why not?

The size of the conversion is irrelevant. The question is how complex is
the conversion? I have found the proscription of side effects to be a
problem in some very complex conversions to HTML but have not had any
problems with conversion to print. Since DSSSL Style is about conversion
to print, I don't consider my problems abusing it to output HTML to be
indicative of problems in DSSSL. 

But instead of criticizing DSSSL for not being something it was not
intended to be, I prefer to use the correct tool for the correct job, or
else extend Jade myself to implement the features I want. Of course my
stylesheet based on Jade extensions is no longer portable "DSSSL", but
then I am inherently doing things DSSSL wasn't designed for. I haven't
yet found DSSSL to be limited when I was trying to use it as it was
designed to be used, which is not for any old SGML transformation.

 Paul Prescod

 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist

Current Thread