What steps should the Julia community take to bring Julia to the next level of popularity?

According to the latest Stack Overflow survey, more people are willing to learn Matlab (5.42%) and R (4.53%) than Julia (0.98%). What reasons might people have for learning Matlab or R instead of Julia?

Could more blog posts about Julia on Hacker News improve Julia’s awareness and popularity?

1 Like

I imagine much higher name recognition, and many jobs specifically asking for R experience (vs. hardly any asking for Julia). Most people will learn languages that they can use in their jobs, or ones that can get them jobs. Only serious hobbyists will learn new languages because it’s trending on hacker news.

8 Likes

It may not help Julia’s adoption, but I can’t imagine how being trending on hacker news could hurt Julia. For instance, I imagine some videos from the upcoming JuliaCon could be very popular on hacker news.

1 Like

There are many (Bazillion) users of Excel and many uses in science and/or engineering use Excel directly for calculations or as a user interface for VBA. This set of users would not notice if Julia replaced the current calculation engine. Everything would work as before to the user because the user interface remains the same. The spreadsheet can be saved with the project file to document the calculations.

Whether Excel is a good user interface is a mute point. It is a familiar user interface which is key. It also a allows a picture to be inserted so that you know what the variables mean.

The training of new users will not run into the problems mentioned with training a user to use Pluto.

The audience is scientists/engineers that know what calculations they want performed, but are not interested in programming. They are absolutely interested in correctness, whether that means meeting the building code or some analysis to required standards.

And if the corporation wants to enhance some calculation with FEA, then that is plugged into the Excel user interface.

I don’t know if there is a way to gauge the interest in something like this.

2 Likes

An additional comment on adoption and general usability. I came across this issue force singlethreading during precompilation by IanButterworth · Pull Request #48592 · JuliaLang/julia · GitHub as I was looking to see why my (pre)compilations take a ton of time (up to 1 hour for a sysimage). I am by no means qualified to comment on the internal implementation and am unable to assess the challenges related to multithreading for (pre)compilation, however from my perspective I wish I could fully use my 8C/16T processor (3rd to last generation, meaning single thread performance not amazing) to achieve greater productivity in my workflow.

Tagging @jeff.bezanson (can’t find the alias for Ian B). My 2cts on the issue are that if a user is savvy enough to allow -t auto then that user should be ok to have the CPU being fully utilized by functions that take advantage of multithreading.

This is such a good post, well done @jreileyclark:

Easily the best post in this thread. I asked ChatGPT to summarize it into bullet points:

  • Highlight the benefits of using Julia in terms of performance, ease of development, and user satisfaction to justify its adoption in companies.
  • Emphasize the potential cost savings by utilizing Julia’s high performance and efficient computation for data science and engineering tasks.
  • Address the need for comprehensive tutorials and onramps for new users to facilitate their transition to Julia.
  • Encourage creating blog posts and content showcasing the advantages of Julia, such as tutorials, success stories, and performance comparisons with other languages like Python and R.
  • Focus on attracting R users with strong statistical packages to switch to Julia by highlighting Julia’s statistical capabilities and easy data manipulation.
  • Challenge Python users by pointing out inefficiencies in their tools and demonstrating Julia’s superiority in scientific libraries and performance.
  • Recognize the importance of building a community of enthusiastic Julia users who contribute to its growth through content creation and sharing.
  • Consider creating tutorials on how to deploy Julia code to production and how to share creations online, enabling users to showcase their work on various platforms.
  • Suggest targeting users with a cult of personality, such as influential figures in the Julia community, to increase the language’s adoption.
  • Acknowledge that Julia’s current version (1.9) is already competitive, and focus on publicizing its strengths and benefits.
  • The author expresses a willingness to pay someone for a video call tutorial on creating a blog with Julia.

All strong, doable, reasonable points! I think this idea of trying to get the “personalities” of Julia to do more public outreach is a good one. I’m not sure if I qualify as a personality but I’d be open to doing more public pushing.

8 Likes

(strange, is there some censorship going on?)

@cpfiffer @jreileyclark fully agreed. The question is how does one boostrap the process to get there? My take is core/lead developers, should they have the desire to, could remove the biggest barrier to entry (in a greedy algorithm sort of way) (e.g. that point I made above on multi-threaded compilation, given compilation speed seems to be a common gripe). And this doesn’t really mean “move fast and break things”, but narrowly focusing on what brings the most people in the community.

My informal sense is that one of the main reasons Python has skyrocketed in popularity and usage over the past few years is because of its current dominance in data science, machine learning, and deep learning. The single best way to bring Julia to the next level of popularity is to make Julia competitive (and hopefully better than!) Python in those areas. Here is a list of package equivalents where I think that Python is still winning in terms of maturity, features, correctness, and usability:

Pytorch vs Flux.jl
Scikit-learn vs MLJ.jl
JAX vs Zygote.jl
NetworkX vs Graphs.jl

Note the packages that I have excluded: Julia and it’s ecosystem win over Numpy and Pandas. However, Polars is becoming more mature, and I prefer it’s declarative API (with query optimizations) over the imperative API of DataFrames.jl.

I should also mention the competition from R. In my opinion, dplyr still beats DataFrames.jl for usability. And R still beats Julia when it comes to statistics. It’s hard to compete with the decades worth of statistical libraries in CRAN.

Data science, machine learning, and artificial intelligence are where the hype and the money is right now, so in order to attract corporate attention and money, Julia needs to get much better in those areas.

12 Likes

Data science, machine learning, and artificial intelligence are where the hype and the money is right now, so in order to attract corporate attention and money, Julia needs to get much better in those areas.

But in order for Julia to get much better in those areas, it has to attract corporate attention and money. There is a serious shortage of manpower in these areas; where will such manpower be sourced from, if not industry?

1 Like

What do you think of a “fake” declarative API in DataFramesMeta.jl, which just constructs an anonymous function? It wouldn’t be able to do the optimizations, but it would allow you to still emulate the collect() syntax a little.

Hmm, I’m not sure I see the purpose of that. I can easily wrap DataFramesMeta code in a function myself if I need to.

True.

I hope to re-visit DataFramesMeta.jl soon and get it to 1.0.

I think it’s ultimately too verbose, and maybe adding more Stata puns and defaulting to row-wise semantics might help adoption.

3 Likes

The Stack Overflow survey shows two important points:

The release of Julia 1.10 could be a good opportunity to spark interest from people outside of the Julia community.

1 Like

Curious - why? Are there any killer features in it? Last time I checked it seemed like minor changes (no offense to the core devs).

Well, pre-compilation and load times will be much faster… And better error messages…

3 Likes

That’s great news to hear, I’m going to get a dev snap right away

you can install the alpha version with juliaup now.

1 Like

But in order for Julia to get much better in those areas, it has to attract corporate attention and money.

This thread is filled with this sentiment, but neither R’s dominance in statistics nor scikit-learn’s prevalence in ML derived from corporate funding. Has anyone proposing this path spent much time with people who decide how to allocate money to programming languages in a major corporation?

12 Likes

I think there are extremely strong indirect effects besides direct funding from BigCompany to directly work on a language

if your day job uses X, a dev will be more likely to use X for personal / hobby projects, care about its quality and submit PRs, etc. etc.

2 Likes

How far/close are those Julia packages from their Python equivalents? Do those Julia packages have advantages over their Python equivalents?

How far/close are those Julia packages from their R equivalents? Do those Julia packages have advantages over their R equivalents?

1 Like