On Tuesday, 11 April 2017 at 17:43:20 UTC, Walter Bright wrote:
On the other hand, overly principled languages tend to not be
as successful, because what people need to do with programs is
often dirty.
Monads, and "functional reactive programming", are obtuse
things that come about when a functional programming language
requires 100% purity and immutability.
Monads and "functional reactive programming" are not a
manifestation of being principled but being ideological.
Javascript is principled.
Language that historically are very unprincipled such as PHP and
C++, first didn't succeeded because they were unprincipled, but
because they were quick and dirty hack solving people's problems
where no other solution was available, and are moving toward
being more principled with each version.