

Perfect advanced programming language for the productive industrial developer - mmphosis
http://lambda-the-ultimate.org/node/3680

======
smcq
How often do people that need to write device drivers need to use a high level
language? Is there really a lot of demand for this sort of thing?

~~~
dkersten
Probably not, but it would be nice if there was one global language thats
suitable for all problems... I'm not sure that its realistic though.

~~~
baxter
I really don't like the idea of one language suitable for all problems. I
actually like that there are different languages that are better suited to
different domains.

~~~
dkersten
You're right. Its much easier to have domain specific languages specially
built for certain problems. The appeal of a single language, I guess, is that
you only need to learn one language and you can work on all problems. Then
again, if you have good support for macros and other such "niceties" then you
can remold the language to be domain specific anyway, so I think having a
single super language isn't so far fetched and is actually not a bad idea
really.

~~~
baxter
I can't help but think of Erlang. Erlang is by no means a DSL, but it is very
well suited (both in terms of language features and its Virtual Machine) to
writing distributed, concurrent applications. Why manipulate a hyopthetical
language so that it is functional, has message-passing, allows hot-swapping of
code, enforces single assignment etc. when a language with all those features
already exists? And once you have manipulated a language to that extent
haven't you created another language anyway, eliminating the possible benefits
of having a single, malleable language?

~~~
dkersten
Well, for this hypothetical scenario, its for the ability to write all your
code within the one language, but _tuning_ each code block or abstraction to
the particular problem being solved _at that precise time_.

In real life, you're right. It doesn't make sense to try and mash every
language together just because. Its also potentially not possible anyway,
since theres too many conflicting design decisions - though the ability to
mold a language, through powerful abstractions and macros, like Lisp does,
does indeed solve a lot of this.

