Not to divert the discussion into another gripe-fest, but I think my experience trying and failing to get Excel users interested in Julia is relevant here.
I want to point out again that, from my perspective, good tooling is Julia’s major barrier to entry for novices, not its online community. First, some praise:
Julia Discourse
It’s amazing that Julia is able to host such a wide demographic of active users in one place. I’ve been part of many New to Julia posts as both an asker and an answerer, and I’ve always been really impressed with the level of detailed instruction and patience this forum’s users provide there. I think it’s incredibly valuable to keep the community centralized here. I think fragmentation to even established communication tools like Slack, Zulip, Discord, and even GitHub to some extent are detrimental. It would be nice to see more novices active on the forum, but I believe they are scared away by Julia before they begin reading or signing up for Discourse.
Julia Syntax
As mthelm85 points out, Julia’s syntax destroys the competition, even Excel: B3*A4+.... It’s very natural to use, but it is still plain text code. That comes with many benefits but also inherent difficulties.
Forum Posts for Instruction
Your post has good content, but even as a competent Julia user, my first impression is still “I’m not reading that wall of text.”.
Other Instructional Formats
So how should we onboard people?
I’m anti-blog as I wrote here. Including the Excel example in the linked DataFrames documentation would already help a lot to get Markdown formatting for the comments and an officially-recognized web location. That makes it more accessible and easier to read.
Video tutorials are also super helpful in that you can watch the data transform in front of you and watch how the experienced user works, but they are of course more work to produce and may run into the same blog discoverability problem.
In some ways, Pluto.jl notebooks are the perfect teaching tool because they combine Markdown instructions with interactive and reactive cells. They set out to compete with Excel on usability after all, but it is incredibly difficult to access Pluto and open a notebook for a novice.
The Missing Tooling
When someone sends you an Excel file, you just double click it, it opens, and it runs. If you edit something and get an error, Excel highlights the problem cell and suggests a correction. Contrast that with the Julia experience when someone sends you a .jl file.
Opening
How do I open this file?
You just use a text editor.
Windows is suggesting Notepad, can I just use that.
Well no, you’ll want to install an IDE and a bunch of extensions to get syntax highlighting.
Okay…
Running
How do I run the code?
Open a terminal.
A what?
Managing Environments
It says it failed to load something.
Yeah, you have to install its dependencies into an environment.
…
There are two .toml files that work with the .jl file to run. You need to activate those.
Wait, there are three files now!?
Understanding the Execution
I ran the file, but nothing happened.
Oh, it ran, but then closed and exited.
How do I see what it’s doing?
You could try a debugger. They work sometimes.
What do you mean ”sometimes”??
Debugging
I changed the file, and it spit out a giant error message.
Yeah, that’s your stack trace. Follow that to find what part of the code had the error.
Read … all this text … to find where the error is?? Does it at least tell me how to fix the error?
Do you know what a Method is?
…
Then no, not really.
Conclusion
Improving how well we welcome and teach new users can only go so far for encouragement and retention while the tooling friction is still this high. Casual novices can’t be convinced of how much better and easier Julia is with so many basic onboarding hurdles in the way. I think that’s the real reason we don’t see more of them on this forum.
