top | item 32925342

(no title)

djhaskin987 | 3 years ago

I had to look at the overview[1] which I found to be super interesting.

The author focuses on metaprogramming (something like hygienic macros that are more efficient) as the only real needed extra feature over C. He says that with this other stuff can be built at need using libraries.

The upside is that new language features are just libraries that gain or lose popularity as time goes on, allowing the core language to be more or less the same as it was at its inception while still staying alive. This advantage is shared by Common Lisp for the same reasons.

The disadvantage is that since anybody can make a new sublanguage simply by writing a library, you're left with a fight between libraries on what language features are important for the whole group, splintering the group into different sub language dialect camps. This is part of the curse of lisp. The upside might be that it's still probably pretty difficult to write meta programming in Pliant relative to lisp because of its focus on efficiency. Perhaps this will save it from most of the curse. Time will tell.

I have never yet seen a "C++ Replacement" language's more carefully argued or justified using simpler arguments than this language. That the core language will probably endure easily is very exciting to me, especially after seeing the evolution that C and C++ has gone through over the years and how hard changing the language is nowadays. In the language overview the author makes some very good points about why he chose what he chose in his design decisions.

Other replacement languages try to simply make design decisions based on taste. This is not a bad thing; some language designers have excellent taste. But it is nice to have a plain explanation as to why specific features were included in a language.

One last thought I did have was that if language features are libraries, there had better be a very good dependency manager and packaging solution for this language from day one if it is to be usable.

1: http://www.fullpliant.org/page/pliant/3SR6QMB8/0EEMUVD

discuss

order

No comments yet.