On 8 Jan 2008, at 06:11, Steve Jones wrote:
But its true that it is sometimes required to have a few languages
where that makes sense but what concerns me is that people appear to
be heading towards creating lots of languages and starting from a
default position of "many languages good" when the mindset should
really be "why _won't_ this language work".
<politician_mode>
That depends on the definition of "work."
</politician_mode>
A good DSL can significantly decrease the number of lines of code
required to express a concept, thereby increasing the
understandability of the code and decreasing the maintenance cost. It
helps if the DSL can be easily built in the primary language;
unfortunately the current crop of popular languages aren't that
extensible.
In support (where skills are not normally as high as in development)
having multiple languages, especially "optimal" and esoteric DSLs
doesn't reduce costs. The key is to have a limited set of
languages, so Java (for example) for basic app development, BPEL for
process, SQL for databases etc. Having Ruby & Java & PHP & C(where
is the sharp key on a mac?)
Alt-3
& VB & Ada & PSQL & Perl & JavaScript etc etc for the application !
development is a right pain in the arse,
I agree, but these aren't DSLs (no, not even SQL). DSLs reflect the
important concepts in the problem domain. One of the best examples is
Emacs' elisp, a DSL focused on text manipulation. Providing the same
level of abstraction to financial services applications or
telecommunications systems would be a huge win both in terms of
development productivity and maintenance costs.
Regards,
Patrick
----
[EMAIL PROTECTED]
S P Engineering, Inc.
Large scale, mission-critical, distributed OO systems design and
implementation.
(C++, Java, Common Lisp, Jini, middleware, SOA)