Re: Language interop Marc Nieper-Wißkirchen 11 Sep 2020 18:28 UTC

Am Fr., 11. Sept. 2020 um 20:14 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:

> :D Here too the lambda family hits a sweet spot. Recursion, closures and
> macros do require "attention to the irrelevant" (an apt description of
> low-level programming) but once mastered, the payoff is immense.
>
> That's why I'm suspicious of languages like Haskell, Rust and even
> Common Lisp it's not clear that the advanced features pay for themselves
> when applied to real programs. Recursion pays for itself a million times
> over.

I cannot talk about CL. But I can talk about the other two. The best
of our graduates know Haskell and especially its advanced features and
they are hired with the greatest pleasure. Although at work, they
develop most programs with more mainstream languages, their employers
don't want to miss the high level of abstraction the Haskellers have
mastered. The next big step is dependent typing, say in Agda or Idris
(bootstrapped with Chez Scheme, by the way!). And Mozilla had a reason
why they pushed Rust. If there was an ISO standard and an independent
implementation (say in GCC), I don't see a reason why to develop new
programs in C++ anymore (ignoring legacy restrictions).

> It worries me a lot that the point of programming is to write
> applications, and language designers are too wedded to making intricate
> faberge egg like things because they can. Python has the right idea in
> making things simple and accessible. Unfortunately they made them so
> accessible that they threw out effective lambdas and don't have the
> elegant consistency of Scheme.

Writing applications is just one point of programming. While there
have always been applications in Scheme, it seems to have never been
the most important point of programming in Scheme. (The schism started
with the R6RS attempt to actually create a language suitable for
application programming. :))