[Haskell-cafe] Investing in languages (Was: What is your favourite Haskell "aha" moment?)
Joachim Durchholz
jo at durchholz.org
Fri Jul 13 18:49:02 UTC 2018
Am 13.07.2018 um 09:38 schrieb PY:
> 1. Haskell limits itself to lambda-only. Example, instead to add other
> abstractions and to become modern MULTI-paradigm languages,
"modern"?
That's not an interesting property.
"maintainable", "expressive" - THESE are interesting. Multi-paradigm can
help, but if overdone can hinder it - the earliest multi-paradigm
language I'm aware of was PL/I, and that was a royal mess I hear.
> So, point #1 is limitation in
> abstraction: monads, transformers, anything - is function. It's not
> good.
Actually limiting yourself to a single abstraciton tool can be good.
This simplifies semantics and makes it easier to build stuff on top of it.
Not that I'm saying that this is necessarily the best thing.
> There were such languages already: Forth, Joy/Cat, APL/J/K... Most of
> them look dead.
Which proves nothing, because many multi-paradigm languages look dead, too.
> When you try to be elegant, your product (language) died.
Proven by Lisp... er, disproven.
> This is not my opinion, this is only my observation. People like
> diversity and variety: in food, in programming languages, in relations,
> anywhere :)
Not in programming languages.
Actually multi-paradigm is usually a bad idea. It needs to be done in an
excellent fashion to create something even remotely usable, while a
single-paradigm language is much easier to do well.
And in practice, bad language design has much nastier consequences than
leaving out some desirable feature.
> 2. When language has killer app and killer framework, IMHO it has more
> chances. But if it has _killer ideas_ only... So, those ideas will be
> re-implemented in other languages and frameworks but with more simple
> and typical syntax :)
"Typical" is in the eye of the beholder, so that's another non-argument.
> It's difficult to compete with product,
> framework, big library, but it's easy to compete with ideas. It's an
> observation too :-)
Sure, but Haskell has product, framework, big library.
What's missing is commitment by a big company, that's all. Imagine
Google adopting Haskell, committing to building libraries and looking
for Haskell programmers in the streets - all of a sudden, Haskell is
going to be the talk of the day. (Replace "Google" with whatever
big-name company with deep pockets: Facebook, MS, IBM, you name it.)
> language itself is not argument for me.
You are arguing an awful lot about missing language features
("multi-paradigm") to credibly make that statement.
> Argument for me (I
> am usual developer) are killer apps/frameworks/libraries/ecosystem/etc.
> Currently Haskell has stack only - it's very good, but most languages
> has similar tools (not all have LTS analogue, but big frameworks are the
> same).
Yeah, a good library ecosystem is very important, and from the reports I
see on this list it's not really good enough.
The other issue is that Haskell's extensions make it more difficult to
have library code interoperate. Though that's a trade-off: The freedom
to add language features vs. full interoperability. Java opted for the
other opposite: 100% code interoperability at the cost of a really
annoying language evolution process, and that gave it a huge library
ecosystem.
But... I'm not going to make the Haskell developers' decisions. If they
don't feel comfortable with reversing the whole culture and make
interoperability trump everything else, then I'm not going to blame
them. I'm not even going to predict anything about Haskell's future,
because my glass orb is out for repairs and I cannot currently predict
the future.
Regards,
Jo
More information about the Haskell-Cafe
mailing list