Super-dee-duper D features

janderson askme at me.com
Mon Feb 12 01:18:07 PST 2007


k
> 
> Agreed. But the issue is not about how badly they're flawed. Instead, 
> it's the non-standard "language" problem. The MyDSL problem :)

What do u mean by MyDSL (I must have missed the discussion there). 
I'll take a stab.  One issue DSL causes is that it can code 
un-standardized.  You come across a DSL you haven't seen before, and now 
you've got to scan though all the crazy template code to figure out what 
its doing.  Am I close?

At least in my line of work, developing new DSL is part of the job.  I 
probably use in 5 of them a day (XML sub-languages, file binaries, 
shader languages, makefiles, lua, scripting languages, network 
subscriptions, gui-loading, data-base communication ect...).  I probably 
create a new one about every month.  These are not compile into the 
language, but they might as well be so.  Design, art and even myself 
cannot let the complexity of C++ get in the way of these repetitive tasks.

Even C++ code is written in certain ways which I consider DSL's (albit 
much duplication and increased likelihood for errors).  Actually I'm 
considering making an intermediate language and a tool so design/art can 
write some of this themselves.  Then hand it to us for integration -> 
one less communication bottleneck.

If fact if you've ever created your own binary file or loaded an XML, 
that's a DSL.  Whether its in compiled-code or run-time code, the cost 
doesn't change as long as its just as easy to write either way.

Note: I'm not arguing that meta-programming should be higher priority 
then say reflection.  I'm just arguing that its just an extension to 
what programmers do on a day-to-day basis.

I also think it will be a while before we will realize the full 
potential of DSL.  Like anything else they should be used with care.

-Joel



More information about the Digitalmars-d mailing list