[ANN] A Julia Discourse Site for Non-technical Users

Specifically, we’ve taken a number of steps to try to make it less intimidating to post to New to Julia. The category name itself was actually changed in response to such a suggestion! We’ve also iteratively changed some of the messaging around the site itself with that very goal in mind, and can definitely continue improving. I also often try to calibrate my responses based upon the category — an Internals & Design topic is very different from a New to Julia one — and I have sporadically encouraged folks to do similarly (as have others).

Please don’t hesitate to make suggestions over in the Meta Discussion, and that category description is a wiki so Regulars can even improve it directly!

3 Likes

I feel there’s a deeper set of issues that this is trying to address, that I generally agree with. There are various threads on alternative IDEs and tooling, different goals about compilation, and multiple about broadening the user base. I appreciate the motivation of @technocrat, and I might suggest that a different platform (Discord?) could be more inviting (and free..). That said, to the points made here, I don’t think you can just offer the forum. As a straightforward example I’ve personally witnessed, consider the above from the “New to Julia” welcome message:

Whether you are struggling with the installation

This assumes that the road to success for some new user is to install Julia through one of the default means, maybe get into VSCode or the REPL or Pluto, and get to it. I’m not actually sure any of those fit the users who wouldn’t already gravitate to this forum, so the population I think this thread was trying to get after doesn’t benefit from that help. Hopefully that makes sense. Fundamentally, that comes down to some questions about whether Julia is an insular language for the population that is here (as reflected in the forum posts that @technocrat describes), or there are paths to making it more amenable to a broader audience (what some people might mean when arguing whether Julia is truly “general purpose”).
I’m not trying to open that can of works here for yet another debate; just tagging this thread as another reflection of that broader issue.
@technocrat , I’m certainly interested in pursuing this, and appreciate your description of what a broader class of new Julia users might look like; happy to collaborate on this.

What would you suggest instead? The idea is just to give a few examples that aim to demonstrate that the category encompasses a wide range of levels. Nothing here is written in stone, we can change things!

@MDSW I think you missed the part where I said that I killed the idea and taken down the discourse site

I have in mind something like Julia for Excel users

So it seems like this thread is turning more towards addressing what I think is a real issue of potential new users feeling intimidated and therefore shying away from Julia. This has come up on at least a couple of occasions that I recall over the years, and I am someone who has long felt this way. In fact, back in 2020, I started a (now defunct) YouTube channel called Average Joe and Julia. The idea was to create content catered to the kind of user I think OP is referring to. However, to be frank, I was pretty terrible at making the videos and I just didn’t feel like I had the time to put into it to make good content that would actually reach enough people, so I abandoned the idea after just 3 videos.

I still think it would be a good thing if there were more outreach of some form to potential users who don’t have the scientific/mathematical background as many existing community members do, but I’m not sure it makes sense to sell Julia to your average data analyst who primarily works in Excel. AI is going to make most of those skills obsolete and/or users will just be using whatever AI Microsoft includes with the Excel program to do their work, so I’m not sure I see how switching to Julia for the same kinds of tasks is much of a benefit.

Where I think Julia really shines, and the message I wish more people could hear, is that Julia is the perfect tool for taking your knowledge/skills/abilities from the average data analyst level to a much higher level (e.g., that of an expert data scientist). When I started using Julia 8 years ago, I was probably a lot closer to the data analyst level (even though I had studied plenty of math for my masters in economics), but I really wanted to learn and understand the math behind data science and I found Julia to be much better than Python or R for this purpose. When I started working through linear algebra and calculus textbooks (years after having finished my graduate studies), using Julia felt quite natural compared to Python or R. I’m not sure people realize how big of a deal it is for people who aren’t super confident with their math skills to be able to do:

A = [1 2 3
     4 5 6]

versus

import numpy as np

A = np.array([[1,2,3],
            [4,5,6]])

or

A <- rbind(c(1, 2, 3),
           c(4, 5, 6))

It’s a big deal to be able to write down mathematical statements that look like those you are seeing in the texts you are learning from.

The bottom line for me is that I would like more people to realize that Julia is like a sturdy ladder they can use to climb to new heights as opposed to a scary, sophisticated tool requiring expertise to handle competently. I’m not sure if that’s something that can be accomplished here on Discourse, but I do think it’s something worth spending some effort on.

10 Likes

Nope, didn’t miss that. Was simply trying to point out that I believe this was a reflection of a larger discussion that has played out in other threads over the years.

1 Like

I would like to be a bit of a contrarian here, but first the background on my contrarianism. I spent grade 1 & 2 in a one room school house. I remember that when the teacher was teaching grade 5, I found that interesting.
When I poke around discourse I see things that are mathematically totally beyond me. And things that from a computer science perspective that are totally beyond me. Sometimes I spend a bit of time trying to understand what is going on, other times I am just glad that there are people with much more expertise making important decisions than I would be able to.
So for me, being able to see the much more technical aspects, combined with gentleness and welcoming with which newby questions are answered are beneficial in this forum. Thanks to all that make this forum work as well as it does.

9 Likes

I agree with Jake. Back when I was a student and had to scramble on StackOverflow for answers long before LLM hallucinations, I did not care about all the other domains I have barely heard of (at the risk of beating a dead horse, I do count the complimentary book on geospatial data to be an unfamiliar domain, so that counterproductively replaced “it’s for MIT rocket scientists” with “it’s for geospatial analysts” in my mind). Free questions and free answers, simple as that. I can’t prove whether posters today are more like me or actually more intimidated by unfamiliar domains, but I’m fairly certain that the rarity of Julia-first novices is still mainly explained by most people using other languages instead of Julia and LLMs instead of slower forums. If I’m correct, then efforts toward making Q&A forums more beginner-friendly won’t move the needle here, though it may have other benefits.

If anything, the situation would in part improve with more online Julia content outside of any forums. What better way for people to consider casually using Julia than to watch other people casually using Julia? Julia’s capability, tooling, and ecosystem is also relevant, but that’s far outside the scope of this topic.

This is a good idea for online businesses in general. Have an inviting free tier to promote your brand, and build paid services, products, and sponsorships on top of it. The free tier needs to be conventional to feel adequate rather than gatekept.

1 Like

Yes, exactly! This isn’t a zero-sum game. I’d like to do we can do here to make this discourse as welcoming and approachable as possible, but there are also many other avenues for growth and improvement. For example, the Julia for Excel users post could also make for a great tutorial and/or blog post and/or video or even perhaps a section in DataFrames’ documentation on comparisons with other tools.

4 Likes

Such a shame doggo.jl stopped making videos. One of the best resources for Julia beginners.

1 Like

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.

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…

How do I run the code?
Open a terminal.
A what?

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!?

I ran the code but nothing happened.
Yeah, you have to run it interactively or save the output to a new file.
How do I see what it’s doing?
You could try a debugger …

I ran the code, 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.
Why is it so long? Can’t it just tell me what’s wrong?

Conclusion

It doesn’t really matter how well we welcome and teach new users. There is still too much tooling friction to keep most people interested in learning more. That’s why they aren’t here.

3 Likes

I recognize that the written language has fallen out of favor with a large swathe of the population and that video ingestion is the preferred way of learning, and I do plan some of those. I think people are as smart as they have ever been and that is true today of people in oral traditions. (I once was preparing an airport master plan for an Alaskan village in the back of beyond and went out to tell people about it. Most of the audience didn’t speak English. One of the village leaders interpreted my half hour talk after I finished. He spoke for a half-hour. He made the same gestures as I did. I could no more have done that English to English as I could have survived on my own in their extended back yard. There are different varieties of smart.)

1 Like