[Haskell-beginners] is Haskell practical?
dennis.raddle at gmail.com
Fri Nov 27 13:17:10 UTC 2015
On Wed, Nov 25, 2015 at 9:50 AM, Martin Vlk <martin at vlkk.cz> wrote:
> What'd be the definition of an okay programmer? If we agree that's the
> one that "learns how to solve a few standard problems and then applies
> the same thing over and over without much creativity", then I'll argue
> this will work with Haskell just like with any imperative language. If
> you train them on Haskell that is. :-)
One issue I can foresee is having both good Haskell programmers and
non-creative Haskell programmers on the same team. The good ones can easily
write code that is incomprehensible to the non-creative ones.
It actually happened in my team twice that C++ code was thrown out and
assigned to someone else for a complete rewrite, because the senior
software engineer deemed that the original code was incomprehensible. In
both cases it was code that used a few tricks that I think were good, and
in both cases the replacement code was buggier.
> > But I wonder if the same mechanisms that make Haskell concise (which are
> > some of the things that make it hard) also are bound up with its
> > advantages so that they can't be separated.
> What you mean by practical? Does it mean that you can find enough people
> able to use it in your real-world project, without putting too high
> requirements on training them?
> If so, then we could say that given the current state of affairs, where
> the mass of okay programmers are trained on a different paradigm,
> Haskell is not all that practical.
> But if practical means that the language is well suited for solving
> real-world problems, in beautiful ways, once you get it, then it is
> uberpractical! :-)
Very well put. I didn't really think about what meant by "practical," and
it depends on context.
I am gaining some Haskell momentum, and I see how the potential for
conciseness seems to encourage the kind of thinking about a problem that
leads to simplifications and optimizations. When I spend some time thinking
about a good way to write it in Haskell, it's guiding me toward a better
understanding of the problem itself that would potentially be helpful no
matter what language I'm using. But using Haskell provides the impetus for
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners