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)



Reply via email to