Skip to content

VSCode suggestion in “Get Started” page #250

@ffaf1

Description

@ffaf1

Hello. I have just finished reading Get Started. It is an excellent, clear, newcomer-friendly addition to haskell.org. Many thanks @Martinsos for this very useful addition.

One thing that I am not sure about is suggesting VS Code:

  • VS Code has some weird, proprietary licence (Wikipedia says: MIT, binaries built by Microsoft proprietary). This might steer away people who value open source software, and also means a number of technical problems (it is more difficult to find VS Code in distribution repositories if the user prefers so, thus increasing friction, etc.).
  • Along with that, VS Code collects telemetry data, and as far as I can see this is by default/opt-out. Again something which a sizeable portion of Haskell newcomers might dislike.
  • Taking a step back, do we really need to suggest a specific editor? There is much much value in a tool like ghcup: not using it and relying on your distribution GHC/cabal will lead to painful experiences in your Haskell learning path. But the editor of choice? I took part in some live “Let’s start with Haskell” workshops, and seldom we had to instruct or help newcomers with editors, they were good on their own.
    (Compare this situation with Agda one, where — I believe — Emacs and similar editors provide a much more user friendly experience with the language. Haskell toolchain instead works fine with a number of editors.)

Now that I highlighted what I feel the problems are, my proposed solution:

  1. Be less assertive in the introductory section. Instead of

    Use VSCode as the editor, with the Haskell extension installed.

    we could write

    Have an editor ready. Any popular editor (emacs, vim, intellij, VS Code…) will do. Haven’t got one? Pick SuggestedEditor.

  2. Select VSCodium as our recommended choice. VSCodium is an open source project that provides freely-licenced, telemetry-free binaries for VS Code.

I would have written a patch myself, but since this change is important I would like to hear feedback from the community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions