scala / docs.scala-lang

The Scala Documentation website
http://docs.scala-lang.org
563 stars 1.03k forks source link

A new page about Scala IDEs + reordering of Getting Started #3042

Closed makingthematrix closed 2 weeks ago

makingthematrix commented 3 months ago

This is a draft for a page listing Scala IDEs. The corresponding ticket: https://github.com/scala/scala-lang/issues/1657

For now I added entries for IntelliJ IDEA + Scala Plugin and VS Code + Metals. I changed the "Getting Started" button to a foldable menu where the old page is now under "Install Scala", and the other entry in the menu is "Scala IDEs" with the new page.

Please do not merge it yet. I would ask someone from Metals to first take a look at their entry. I will also ask someone from the copyproof team at JetBrains to look at ours.

PS. Curiously, the pages "Getting Started with Scala in IntelliJ" and "Getting Started with Scala and sbt" are physically in the getting-started folder, but on the webpage they are under the "Tutorials" menu. Since now "Getting Started" is a menu as well, we could move them there.

SethTisue commented 2 months ago

I haven't really followed how the Getting Started pages have evolved, so I'm not the best reviewer for that aspect; @bishabosha might like to have a look.

As for the text of the page itself, I have some ideas about wordings I would like to alter. But I suggest we do the review in two phases: let's get to something that's mergeable; let's merge it; then let's improve the text from there.

And I actually, I don't see anything here that's not mergeable.

As for further edits, I'll submit a followup PR myself once this merged, and we can also put it out for public comment. Also, @tgodzik you should definitely feel free to be assertive about what you think the Metals section should say.

SethTisue commented 2 months ago

Oh, mind including an appropriate edit to https://www.scala-lang.org/community/index.html , so people can find the new page from there?

makingthematrix commented 2 months ago

Oh, mind including an appropriate edit to https://www.scala-lang.org/community/index.html , so people can find the new page from there?

I'm not sure where to put it. Maybe a new section between "Who's behind Scala?" and "Ambassadors"?

SethTisue commented 2 months ago

at the top of "Community Libraries and Tools", I think

makingthematrix commented 2 months ago

@SethTisue : Done. https://github.com/scala/scala-lang/pull/1677

SethTisue commented 2 months ago

(Let's not merge this too quickly — still want to give @bishabosha a chance to weigh in, if he has time.)

bishabosha commented 2 months ago

My comment would be to recommend metals first - it is always accurate which is the most important thing for beginners, it also works very well with Scala CLI - then IntelliJ next

makingthematrix commented 2 months ago

@bishabosha : On the other hand, IntelliJ seems to be more beginner-friendly overall. Besides, if the order is not alphabetical then it will create an issue when we add more IDEs to the list. It will look very much as if the order was about preference.

How about we write it explicitely in the introduction that the order is alphabetical and all listed IDEs are treated equally?

SethTisue commented 2 months ago

I think we may consider ourselves authorized to make an actual choice here and not fall back on alphabetical order or some such. In general on the website, we must be fair but we don't need to be entirely neutral. It benefits the language to do some gentle steering of users towards the things that we deem most significant.

Alphabetical order makes more sense when you have 10 or 20 things, but when you have two, the “fairness” of alphabetical order seems spurious to me. And realistically, the length of this list is two and very likely to remain so.

I think IntelliJ should go first.

Why? I don't agree with this claim:

[Metals] is always accurate which is the most important thing for beginners

First, because I think (with moderate confidence, anyway) that it's just not all that common, especially in beginner code, for IntelliJ to get something wrong. I don't see that possibility as a dominant, or the dominant, consideration.

Second, because a mismatch with the official compiler is just one kind of IDE setup or usage trouble a user is likely to have. My impression is that beginners are overall likelier to have a smoother experience with IntelliJ setup and usage.

Third, for marketing reasons. A great many Scala users still come from the Java world and IntelliJ is the gold standard there. To know that IntelliJ has good Scala support has long been, and remains, absolutely critical to Scala adoption. Yes, it is also important to let people know they can use VSCode or their favorite text editor, but having the Metals section right there (both sections should be kept short) accomplishes that.

tgodzik commented 2 months ago

I mean, there are just two options here, I don't think the user will be unable to see the other and since they are actually on this page they will probably read both rather short entries and decide for themselves.

makingthematrix commented 2 months ago

@SethTisue : So what's the next step?

By the way, I see that the tests are failing with the error that the Chinese translation has dead links. I don't know what I need to do to fix it.

SethTisue commented 2 months ago

@makingthematrix it isn't only finding dead links in translated pages, it's also finding them in some English language pages. Does that help identify the cause? I can't dig into it right now but I could eventually if you and/or other reviewers are stumped about what fix is needed.

SethTisue commented 2 weeks ago

@bishabosha I committed your suggestion, but HTMLProofer is still complaining?

SethTisue commented 2 weeks ago

gah. let's just merge it and deal with HTMLProofer separately

maybe it's a chicken-and-egg thing where the site has to be published first before the link targets exist, that kind of thing? 🤞

SethTisue commented 2 weeks ago

the new page is located at https://docs.scala-lang.org/getting-started/scala-ides.html

SethTisue commented 2 weeks ago

As for further edits, I'll submit a followup PR myself once this merged

https://github.com/scala/docs.scala-lang/pull/3090