Open charlesroddie opened 3 years ago
I get what you're saying here.
As background, there was an explicit decision to prioritise consistency across Windows, Linux and Mac - i.e. to give the consistent, lightweight, editor-neutral command-line installation first and then give detail on editors - again ordered by cross-platform consistency. Whether it's right or wrong depends on whether you're assuming the user is willing to change editors or not, or whether they care about cross-platform consistency or not. I guess those assumptions have basically flipped in recent years and are now "assume the user is unwilling to change editors and cares about prioritise cross-platform consistency".
Probably the best solution is to display options side-by-side.
I think they should stay the same. The study you're referring to also had some aspects to it that are worth considering:
And more importantly, everything people struggled with that was related to tooling (keep in mind that it was not just tooling people struggled with) is resolved with Ionide 5. Project support, scaffolding, and installation requirements are in a very good place. At this point, the people who struggle the most with Ionide 5 are existing users who don't have .NET 5 installed, which is mostly just a point-in-time issue as it gets adopted. All "get started with..." documentation that floats to the top of google search results has newcomers installing .NET 5.
limited project system support
This is really only a concern when you're mixing F# and C# at this point, which is very much not a beginner scenario. And existing .NET developers are already largely using VS, which has what they need.
What I think this really hits at is the "do you already use .NET?" question. Since F# is installed by default, the large majority of .NET developers already have it available to them in their familiar File > New Project experience. They are also more likely to incorporate it into an existing C# codebase. So the kinds of things they need to know to "get started" and feel productive is fundamentally different than people starting out with F# and only F#. It's a challenging position to be in.
Beginners may come to https://fsharp.org/use/windows/ to work out what to use. It is extremely important that the default is good. This is critical to getting new F# users to choose an option that gives them a good experience.
The current order seems to have been chosen randomly, or for political reasons, with no understanding of user experience:
The problem was created by https://github.com/fsharp/fsfoundation/pull/799
How did a PR get approved which puts "use your own editor" as the first option? There needs to be some understanding of the user experience of typical developers and especially beginners.
"Use your own editor" should be moved below Rider.
VS and vscode should be swapped since vscode is not feature complete (limited project system support) and gives uses problems that they often report on slack and reddit. This user study https://github.com/dotnet/fsharp/issues/6785 noted the problems with vscode among new users, and yet shortly after this PR was merged which moves vscode above VS?
The only consideration here should be whether new users are going to get a good experience using F#. In particular, promoting community-maintained projects or promoting the idea that true developers should hack things together themselves should not be considerations.