Nim programming language finally hit 1.0
Eugene Wissner
belka at caraus.de
Mon Sep 30 16:39:22 UTC 2019
On Monday, 30 September 2019 at 10:41:21 UTC, Ola Fosheim Grøstad
wrote:
> Haskell is very successful. It completely dominates the niche
> it was aiming for, a shared language for functional programming
> researchers. Sure, it lacks some namespace capabilities needed
> for writing large programs, but that is not needed for
> research...
Last time Haskell was a research language was 10 or 15 years ago.
There are now better research functional programming languages
than Haskell, like Idris or Agda. Haskell is used by industry
much more than D, by big corporations as well as start-ups.
The thing with Haskell is that it is a dead simple language.
There are algebraic data structures, functions, typeclasses, some
syntactic sugar and a few compiler extensions. No „alias this“,
no structs and classes, no delegates and functions, no loops, no
attributes, no function overloading, no casts – well, some of
them may be useful for systems programming, but sure not
everything. Instead it provides abstractions that can be used in
different situations. D (and the most imperative languages)
introduce language features for each use case and languages
become bloated (particulary if it is a mainstream language). This
joke „Avoid success at all cost“ probably means: Don‘t just
follow trends, think about features you‘re going to introduce. As
result Haskell has great GC and a compiler which is good at
optimizing, it doesn‘t have the greatest infrastructure, but at
least a set of libraries, you can build almost everything on. The
only language I used, that is as buggy as D is Facebook‘s
Hacklang. But well, Facebook is known for low quality software.
When I first came to D, I thought: Wow, what a nice, simple
language. But after some years it isn‘t simple, it gets terribly
complicated. Therefore I like Zig‘s slogan: „Focus on debugging
your application rather than debugging your programming language
knowledge.“
Even the last DIP says: It is the first step, more is coming
later. And I‘m 90% sure, it will be never finished. Not because
it is D, but because this „I finish it later“ just never works in
engeneering. And this kind of things just doesn‘t happen anymore
to Haskell (or at least not to the same extent).
More information about the Digitalmars-d
mailing list