wither the Platform

wren romano winterkoninkje at gmail.com
Sun Mar 29 20:08:55 UTC 2015


On Wed, Mar 25, 2015 at 12:43 AM,
Manuel M T Chakravarty <chak at cse.unsw.edu.au> wrote,
In reply to Gershom B <gershomb at gmail.com>:
> You are talking about a specific kind of new users. These new users want to install a web stack or similar — i.e., they need tons of packages. These people may be new to Haskell, but I reckon they are otherwise power users.
>
> I’m talking about somebody picking up Learn you a Haskell and wanting to write Hello World. Why should they care about sandboxes? Who cares if they mess up their installation by installing the wrong package. They can always nuke it and install it again. That’s a much simpler story.
>
> Look. I guess, I count as a power user ;)  I rarely use sandboxes. They are great for a particular type of use, but you can do many things quite happily without them. (Ask SimonPJ; I reckon he doesn’t use sandboxes either.)
>
> [...]
>
> The mistake here is to try to make this a one-size-fits all. I honestly don’t care about a platform that is ideal for everybody. I want something that I can point newbies at that makes them happy quickly. That needs to be one download with all the packages that you need to get going included.
>
> If somebody gets sufficiently hooked on Haskell to want to start a bigger project, then they will have the patience for a more elaborate story (and wait for cabal install for a few hours to do its job).
>
> The point is that one-size-fits-all is inherently unfriendly to novices. A novice needs something simple with as few options as possible, whereas a power user wants flexibility and customisability. A minimal installer with sandboxes gives you the latter, but it comes at the expense of simplicity, which makes is unfriendly to novices.

I just want to chime in and +1 to this.

As both a power-user and an educator (of multiple languages including:
Haskell, Agda, Isabelle, Coq), the importance of easing installation
for novices cannot be understated. One-size-fits-all is extremely
unfriendly to novices. Requiring the use of a novel
packaging/distribution system is extremely unfriendly to novices.
Requiring compilation of dependencies is extremely unfriendly to
novices. Adding choice to users ill-equipped to choose is extremely
unfriendly; and novices are, by definition, ill-equipped to make these
choices.

Relying on cabal-install and hackage is great for active developers,
but developers have completely different needs than novices. IMO,
anyone who requires a full web development stack is not a novice. In
all my years of using Haskell, the *only* time I've ever run into
cabal hell issues —and the only horror stories I've heard personally—
have been about (1) webdev frameworks, or (2) the now-passed chaos of
the mtl/transformers switchover.

-- 
Live well,
~wren


More information about the Libraries mailing list