[Info-vax] DCL's flaws (both scripting and UI)

Craig A. Berry craigberry at nospam.mac.com
Sun Jan 18 23:25:01 EST 2015


On 1/18/15 3:57 PM, Stephen Hoffman wrote:
> On 2015-01-18 21:19:35 +0000, Simon Clubley said:
>
>> I think it's time once again to build a list of DCL's flaws now that
>> VSI are around. Don't forget however that DCL is both a scripting
>> language and a UI. My initial list is below.
>>
>> Some of DCL's UI flaws:
>
> There's no...
>
> UTF-8
> asynchronous processing
> floating point
> unsigned integers
> 64-bit integers
> binary data
> objects
> dictionaries
> arrays
> functions that return values
> user-written lexical functions
> support for menu-based and graphical-based user interfaces
> JIT
> compilation
> embedding
> debugging
> DCL libraries
> More specific error trapping than ON; let me catch specific errors.
>
> etc...
>
> Simon's command completion and command editing and command history,
> certainly.
>
> Then there are parts of DCL which are seldom understood or easily
> misunderstood
> scoping
> quoting and double-quoting and the two-phase substitution processing
> f$getqui
>
>

These are mostly good things to add, but very few of them would require
incompatible changes. Quite a few nice-to-have features, such as
character set conversion facilities or regular expressions, just need
new lexicals.

DCL is usually good about throwing a syntax error if it doesn't
understand something, and anything that's a syntax error now is fertile
ground for new features or notations. For example, curly braces don't
really do anything now that I can recall, so that delimiter could be
used for object or hash notation.

New data types and automatic data conversions would be difficult to do
compatibly, but if the new types were all objects and there were a
distinct object notation, it might be possible to eliminate any ambiguities.

It would be a gigantic mistake to ditch DCL rather than enhancing it.
Microsoft had to start something entirely new with PowerShell because
there was no hope of making DOS into a real language. DCL is infinitely
superior to DOS, even if it has some warts. Also, Microsoft could afford
to invest a ton in PowerShell and if it hadn't worked out, they could
have spent another fortune having another team implement something else.
VSI can't do that.

I spend a lot of my free time keeping Perl running on VMS, and I do
think Perl, Python, and bash should be available on the base
distribution, but for all its shortcomings I think DCL is too good to
give up on.



More information about the Info-vax mailing list