Www.julialang.org: Install Instructions for Official Binaries for Beginners

Created on 29 Nov 2019  路  15Comments  路  Source: JuliaLang/www.julialang.org

Beginners on macOS and Windows are unlikely to really know what a binary is, what it is for, or what to do with it.

With this in mind, the binary instructions just tell macOS users to copy the app (likely to Applications, with the drag window that opens with the .dmg

That's all it says, the only other thing in the install section is Uninstall instructions. (which imo should be on their own page).

For macOS this means that new users will have the experience of Downloading the app, and still being unable to to run julia from their terminal. Let alone important commands like julia --project which I do not know how to even use by clicking the binary.app.

This should really include how to add this binary to the PATH, permanently. Not just with an echo command.

Someone with better experience on the Windows might be able to speak to that install experience.

Most helpful comment

Yes, but we tend to not want people to use those binaries - not just brew, but also the linux distributions and chocolatey, etc. People do keep asking about those, which is why we have them there (and a bit hidden on purpose)

All 15 comments

We now have this page https://julialang.org/learning/getting-started. Might be worthwhile editing it with this information.

Good point @aviks. I noticed that page makes no mention of PATH. It's unfortunate that installing Julia may have to introduce complete beginners to PATH variables. Possibly better to point them to installers like brew cask install julia on osx which also puts the binary into a directory in users PATH. Or have the installer downloaded from the site optionally add the install location to the user's PATH.

We should imo not recommend other installers because they tend to not work properly or be outdated.

Do we recommend other installers on that page? It doesn't appear so.

I see @KristofferC 's comment is about putting brew installation instructions. I argue against it. It is straightforward to add Julia to the path on Mac and windows. Could even be a google code-in task.

@ViralBShah note that the brew install instructions are on the platform specific install instructions page.

Yes, but we tend to not want people to use those binaries - not just brew, but also the linux distributions and chocolatey, etc. People do keep asking about those, which is why we have them there (and a bit hidden on purpose)

Also those other binaries have their own refresh schedules and may not be in sync with the official releases.

I agree re homebrew.

This is related to our discussion about the Downloads page generally in #496. But more relevant response to this issue. Though it is a direct response to your sentence in response to that issue thread @ViralBShah.

The install instructions are intentionally not put on the downloads page. This is because in the large majority of the cases, no instructions are needed.

I agree that a standalone downloads page with no install instructions is very nice for experienced users. However, I believe that it is beginner unfriendly and (possibly) not correct to say the large majority of cases.

Let's look at some other language websites for reference: Go, Rust, and nim.

In these examples the download instructions are coupled with install instructions.

Though Go does also have a prominently displayed Downloads page separately. It is not in their header, which is their documentation. And following that link, the Documentation's first item is Installing Go, which takes you to a page that describes how to download the binaries (link to downloads page) together with Platform specific installation instructions that describe how to add binaries to PATH. I don't like this, necessarily, I think the first item of the header should clearly indicate how to install.

Rust's header has Install, not downloads, which takes you to a page that provides a curl link (don't love this...) but also immediately describes how to include it in the PATH.

Nim's Download page from the header confusingly takes you to a page called install, with choice of platform, then to a page which instructs how to download and configure PATH. Actually this is my favourite with the exception that the header should be labelled Install

These examples suggest that we could also benefit from the primary link not being Downloads, but rather Install, which could take users first to platform specific instructions. The first instruction being to download the correct binary, followed by configuring the PATH variable. (e.g. following nim).

We should still have a downloads page for all the binaries, possibly linked on the homepage like Go or as an prominent option below the platform specific instructions like Nim, but not in the header.

I opened these issues as I'm considering having Julia as the main supported language of my course next semester (Python optional alternative). Thinking about the experience of the (stats) students who likely have experience primarily with R, full IDE automated install with R-studio. (For this reason I'll ultimately point them to Juno, most likely).

As a quick study I asked someone to install Julia on macOS with no guidance. They went to the downloads page, got the binary, dragged it into Applications. Then tried to run it from terminal, obviously that didn't work. So they just clicked the binary from their Applications folder and this ran a little REPL. Good, I guess. Except I will want to give students starter code and environments that they activate with julia --project, so this won't cut it. They had a hard time finding the link to platform specific instructions due to it being in paragraph also about submitting issues (topic of #496). Once they did click that, and scrolled to macOS, the only additional information was ... how to uninstall. :(

This person ultimately needed outside instruction about PATH variables and how to add them permanently. So this demonstrated to me that the the experience of Julia for complete beginners could be improved here.

For context this person is already significantly more experienced (with Python) than I expect my stats students to be, but as they install python via Anaconda they've never manually configured their own PATH variable.

I agree that showing the instructions to add to the path on all platforms is useful.

For the rest, improving instructions and making it easy to get started is always welcome. I was merely explaining why the current platform specific notes are not front and center - Largely because they deal with edge cases and unofficial binaries. The current notes are not documentation for installation instructions for the regular user.

I really do not like the Nim download experience. It takes so many clicks to figure out what you need and then a page full of instructions to get started. We put in a huge amount of effort to produce a standard installer that works on major OSes, and bundling all the necessary dependencies.

The rust experience seems to suggest using curl and then figuring out how to use rustup. I again fail to see how this is a nicer experience to what we have.

Go, on the other hand does exactly what we do. Provide a link to installation instructions should you need them, and lists all the platforms you might want up font.

The instructions page will be further refactored, but for now, we've got all the instructions in.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ViralBShah picture ViralBShah  路  7Comments

logankilpatrick picture logankilpatrick  路  4Comments

essenciary picture essenciary  路  6Comments

cormullion picture cormullion  路  8Comments

abhishalya picture abhishalya  路  3Comments