Discussion categories

I wanted to discuss what categories we should have here. Of course, this can evolve over time. As a basis for comparison, Rust has two different Discourse forums:

Presumably we don’t want to have separate Discourse setups for language development and usage, especially since these groups have considerable overlap for Julia. I would propose these initial categories:

  • Meta: discussion of the forum itself (i.e. rename “Site Feedback”)
  • Usage
    • Beginner: beginner usage questions
    • Intermediate: normal usage questions
    • Advanced: advanced usage, verging on language and/or internals
  • Development
    • Internals: language internals (LLVM, src/*, etc.)
    • Language: language design
    • Library: standard library
  • Domains
    • Statistics: replacement for julia-stats
    • Optimization: replacement for julia-opt
    • Machine Learning
    • Linear Algebra
    • Plotting
    • Visualization
    • Imaging

The purpose of having different levels of Usage categories is so that people can subscribe to them separately. For example, @jeff.bezanson may not want see beginner usage questions, while I might be happy to see them and answer them now and then. Different subcategories for Development serve a similar purpose: a fair number of people don’t care about and won’t follow @jameson and @yuyichao getting into calling conventions, but do care about user-visible language design or standard library changes.


That’s really hard to define, and I think a Dunning-Kruger effect will ensure that this isn’t useful. I think having a general section is good, and moving discussions to specific domains will reduce the clutter considerably in a way that’s better than trying to impose a hierarchy.

I propose lumping together linear algebra with numerical analysis and differential equations in to one domain. Call it Computational Science, Scientific Computing, Applied Mathematics, or whatever other synonym you like. These questions usually go together which is why most sites (like StackOverflow) union these together.

  • Plotting
  • Visualization
  • Imaging

Are there really enough questions on julia-users for these to warrant 3 separate categories? There are lots of plotting questions but I don’t call as many on visualization / imaging.

My understanding is that people don’t necessarily categorize their own posts – that’s what admins do. The vast majority of usage questions would be “normal” – only very basic intro questions would be “beginner”; only very high level questions would be advanced. Maybe it doesn’t make sense to try to separate, but it would be nice if there was a way for people who aren’t interested in getting the full barrage of julia-users traffic to still see some set of relevant questions. Maybe there’s another better mechanism for that though.

The domains could certainly be adjusted in granularity, and I certainly buy that Plotting, Visualization and Imaging should maybe just be one category, but rendering large amounts of MRI data and making nice stats plots are pretty far apart even though they’re both ways of visualizing data.

1 Like

Won’t domains fulfill this?

And while I do agree there are differences between plotting, visualization, and imaging, I think if domains are split too much then you will have some domains with very few posts which will discourage their use. I think domains should be try to be as specific as possible, while ensuring they’re general enough to have at least weekly activity.

Sure, that seems reasonable. We may as well just start off with Visualization.

1 Like

Yeah, I think Chris has a point that it’s probably hard for users, (particularly new users), to categorize their own questions. It’s much easier, however, to choose a specific domain that my question belongs in.

I’m also in the camp of “less is more”; i.e. let’s start out with just a few categories and allow them to grow over time. To start out, I think we have just:

  • Usage
  • Internals
  • Domains
    • Statistics/Machine Learning/Data Manipulation
    • Optimization
    • Numerics/Linear Algebra
    • Visualization

One thing that strikes me is that the “domain” categories probably won’t correspond one-to-one to the various “JuliaX” GitHub organizations out there; I mean that in the sense that we probably don’t want that many separate category forums, particularly when things like JuliaML, JuliaStats, and JuliaData can easily be lumped together. Perhaps that’s just something we let evolve naturally as the organizations themselves evolve.

Alternative names for Internals could be Language Design (though that may sound like too much of an invitation for bike-shedding :slight_smile:), or Base Julia, or just Dev.

1 Like

Yes, but users don’t need to categorize their own questions.

Does discourse support tags so beginner/intermediate/advanced could be tags and searches could include tag values?

rather than

  • Usage
    • Beginner
    • Intermediate
    • Advanced

with those as tags instead

  • Using
  • Types
  • Functions
  • Arrays
  • Modules


  • Using
  • Abstract and Concrete Types
  • Functions and Mulitdispatch
  • Vectors, Marices and Arrays
  • Modules and Packages

would help orchestrate the high level ideas and the larger areas of inquiry

Mr original intention was to have quite a flat forum, with one place Development for discussion about the development of the base language and compiler, General/Usage for discussions about how to write Julia code, asking questions, and as a general discussion forum about the Julia ecosystem.

We can also encourage categorisation from users and disallow uncategorised posts. Tags are an alternative way of organising.

What do people think about Domains? I was originally a bit confused about its meaning, maybe Topics or Communities would be appropriate.

1 Like

I’m not sure about “Communities” since I may want to ask a GPU question regardless of community, no? To me the purpose of having these categories is to allow people to opt in and out of discussions of certain kinds of subject matter.

With the small explanation of what the category means I am happy with the name and the purpose.

Meta - I think “site feedback” is a clearer name. There’s no need (afaik) for abbreviating the category titles, and meta makes me think it is for meta-programming.

Development - I’m not sure I see how Language differs from Internals vs. Library, so I would leave it out. But I would add Packages + Ecosystem and Deployment.

Other categories that don’t appear to be covered but might be useful include announcements, meetups (social, local, or community might be other names for this), and jobs.

The difference between Internals, Language and Library is pretty clear to me:

  • Internals: stuff that is not visible from Julia at all.
  • Language: stuff that exists in the core language before loading sysimg.
  • Library: all the stuff we define and load when building sysimg.

Language and library affect everyone; Internals should only be visible in terms of performance and memory usage. Maybe there’s no point in distinguishing Language from Library, but there’s a lot of people who don’t care about internals at all.

Hi, the move to discourse has been brought to our attention at BioJulia as possibly replacing our Gitter’s and so on. I’m wondering you think focused groups like BioJulia, JuliaStats, JuliaDocs, JuliaGPU and so on should follow this trend and have their own discourse setups, or whether all of them should simply come here and do everything on julialang.discourse under the domain (btw can we have a Biological Science domain on here pleeeeze? :slight_smile: ).

In my opinion I would like to see the communities coming together in one place, but it is up to the communities to make that decision. Speaking for JuliaGPU we are planning to promote and use GPU - JuliaLang.

Created the Biological Sciences subcategory :slight_smile:


Thank youuuuuu :smile:.
We’re currently discussing this over at: BioJulia/Bio.jl - Gitter, and it’s been asked is there anything say Gitter can do that discourse can’t right now? I expect Github integration is probably possible…
Oh would you like me to give a bit of BioJulia blurb to put in the “About This Category” for Biological Science?

Discourse is more of a forum, long text discussions (with formatting, code-highlighting, etc…), whereas Gitter is more of a chat-room (ephemeral?). What level of Github integration are you looking for?

If you send me a PM with a blurb I can update the category description.

So I think it’s stuff like mentioning specific PR’s and such.

I think it would be helpful to add a new/announcements channel. A place for package maintainers to announce new packages, new releases etc etc.


I like the general structure and agree that we should add an announcements channel.

I have one question: How should one deal with smaller topical groups? There is a small JuliaGeo community with a github organization maintaining a few Geoscience related packages and a low-traffic mailing list which is mostly used for announcing geo-related packages. Would this deserve its own Geoscience domain or should we create a geo tag and announcements and questions would go to the general list.