I received the following comment:
My interest is in understanding the utility of such a proposal in
enterprise context viz: say in Banking
Can Domain driven DSL provide a plausible power user interface for
Banking apps driven primarily by UI screens and backend processes.
MathsDomain specially may have an appeal in that direction.
I responded:
My concept of Domaintalk is that it would not be limited to one
particular platform, but used on a wide range of platforms; in you
example both for the PC, tablet, workstation and mainframe or server,
maybe even phones. Its use would be open ended, limited only by the
users' imagination. A simple example should suffice to convey my
meaning, while not a domain per se, Digitalk's Smalltalk/V used a global
dictionary to open up the OS2 and Windows APIs to the programmer, even
allowing the user to extend the APIs made available; moreover, all of
the OS specific attributes, like handles, were made available. Something
that was not available in ObjectWorks and I am not sure is available int
Pharo. If domains were added to Pharo, then I am sure someone working on
the Pharo internals (VM) could make the OS APIs available and provide a
means to add new ones. Such a domain would not even require exposure of
the OS attributes of the window because the programmer could simply
create their own windows. A word of caution, this would mean that use of
that OS specific domain would limit the application to that specific
platform; however, that is something that I am willing to live with, in
fact, it is something I desire, then I could give the application user
the UI that they expect, the one that matches their platform.
I can see where a banking application could benefit from the SQL Domain
and the Math Domain decimal class and methods, I recall the heavy use of
the decimal data and instructions in the IBM mainframes.
I can even envision a domain that wrapped the windowing API that made it
more usable, so that someone could create another domain that used that
domain to add a language that would make window creation easier, either
a graphical window builder (similar to the WindowBuilder application of
Smalltalk/V) or a scripting type language.
The term banking congers up many things to me, of course there is the
standard banking account transaction processing, but there also the
investment side of the business and other backroom analytical functions.
I believe that application for all those diverse requirement could
benefit from Domaintalk.
For about thirteen year I was the head of computer departments with
multimillion dollar IBM MVS mainframes. One thing that I could count on
was that when I took over a new department I would find a staff that
though that programs always had bugs the they would need to fix. I
always seemed that 40% of my programming resources was spend fixing
bugs. (Just like the ObamaCare web site.) I established the policy that
programmers created bugs, not programs, and implemented step to
eliminate all bugs, including having the heads of projects that had bugs
meet with me each morning for a very uncomfortable meeting. I took about
six months to get the level of bugs down to an acceptable level, about
5%, and mostly in programs scheduled for replacement. So I am well aware
of what is required for an enterprise quality application. One reason I
want Domaintalk is that, I have observed that, code that is not readable
lends itself to errors. Another observation is that when the syntax of a
language is stretched beyond its intended use, it become unreadable.
I apologize for the lengthy response and I look forward to your
response, and answer to the DSL question.
BW