"Stop Designing Languages. Write Libraries Instead."
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Thu May 9 09:30:39 UTC 2019
On Thursday, 2 May 2019 at 20:08:01 UTC, H. S. Teoh wrote:
> Stumbled upon an interesting read today:
>
> http://lbstanza.org/purpose_of_programming_languages.html
>
> Note: read to the end before jumping to conclusions about what
> the article is trying to say.
>
> It made me wonder how D fares in terms of being able to
> implement libraries that are maximally easy to use.
This is all great, but… for system level programming (e.g.
embedded) you most likely will either write your own or people
will have a library-platform that is very specific for the target.
In general, good maintained libraries require critical mass.
Which is why shitty languages can do ok in terms of usability
once they reach critical mass.
Perl and Php were at one point the best options for doing
web-related programming (1993-2003). Critical mass. Today I
wouldn't start any new project with those languages.
I am not sure if I buy the notion of "general purpose
programming".
The thing is, language syntax, semantics and runtime is closely
linked to the application area if you want to support the domain
in the most user-friendly way.
Just take a look at the Arduino language which is C++ with
syntactical sugar. Why is there a need for something like that?
Well, there is a need for it. I know C++ fairly well, but if the
Arduino language is sufficient, it still provides for a better
experience and more rapid prototyping. Yes, it is just a very
simple layer on top of C++, but it still matters.
You see the same in web-programming now. New languages built on
top of the existing languages. One example is Angular. Angular is
essentially not just a library, but a markup-oriented language
built on top of or in concert with typescript. Same thing with
React. Domain specific languages built on top of the critical
mass language used in the application area.
It is to be expected that we will see more domain-specific
languages being developed as it becomes easier to create such
tooling. Perhaps acting in concert with a critical mass host
language so that they can draw on existing infrastructure.
Ola.
More information about the Digitalmars-d
mailing list