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

**URL:** https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389
**Category:** Community
**Created:** [July 9, 2023, 9:59am UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389 "2023-07-09T09:59:36Z")
**Posts on this page:** 20
**Page:** 26

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [September 1, 2023, 10:49am UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/544 "2023-09-01T10:49:42Z")

</div>

It’s you

![Screenshot 2023-09-01 064922](https://global.discourse-cdn.com/julialang/original/3X/0/4/04fdc3aeeac1ae98bfedd9569671a4c31a2a2aa7.png)

---

<div class="post-metadata">

### Author: ![Andy2K11](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andy2k11/32/9967_2.png) [@Andy2K11](https://discourse.julialang.org/u/Andy2K11)
#### Post date: [September 1, 2023, 1:18pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/545 "2023-09-01T13:18:50Z")

</div>

The reason I agree with this is that there is a growing popularity of online courses provided by universities. If academics adopt Julia then lecture videos and MOOCs will start appearing that use Julia instead of Python/Matlab and then Julia doesn’t become an extra task on top of what I want to learn. You don’t need to be an academic or studying at university to appreciate a decent online course on Julia programming, and you can’t find them on Udemy!

Unfortunately the stuff on JuliaAcademy is outdated and I’m not sure if the people with the knowledge have the time to update them to work with the latest API. A situation that will improve as the language becomes more stable I hope.

---

<div class="post-metadata">

### Author: ![adienes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adienes/32/37459_2.png) [@adienes](https://discourse.julialang.org/u/adienes)
#### Post date: [September 1, 2023, 1:23pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/546 "2023-09-01T13:23:22Z")

</div>

> [@ShalokShalom](#):
>
> By the way:  
> Is my VSCode broken, or does Julia simply not show red squiggles to show syntax errors?

> [@ChrisRackauckas](#):
>
> It’s you

well, it’s also me. I know the VSCode hints apparently work well for some people, but on mine they are very flaky

---

<div class="post-metadata">

### Author: ![Andy2K11](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andy2k11/32/9967_2.png) [@Andy2K11](https://discourse.julialang.org/u/Andy2K11)
#### Post date: [September 1, 2023, 1:39pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/547 "2023-09-01T13:39:03Z")

</div>

I got interested in Rust because it’s wasm implementation is way ahead of Julia’s. As a web developer I don’t think I’d ever adopted Julia as my main platform but being able to have scientific code running in the browser would be awesome.

I also got put off by long precompilation times and TTFP problems when I was experimenting with Julia and only had the odd spare 30 min to play around. It meant most of my time was hitting overheads. For the same reason, Pluto was a dead-end for me, it’s great, but I don’t want to have to start up a server when a `ipynb` runs directly in VSCode, and each Pluto notebook maintains it’s own environment so they always took ages to load. As a beginner there were just too many unnecessary details to fight with, with Rust I just typed out some code and `cargo run` (package management is very similar), that’s how it was done, so I didn’t need to worry about which notebook to use or whether to write scripts, or how to optimise code, I never accidentally defaulted to a global environment and then paid the price later. The Julia language is easier, but the on-boarding was much more difficult. I had such a bad experience starting with Julia I’m amazed I don’t hear more about it from others, perhaps it was partly using a old laptop that was quite slow?

Noobs just can’t be dealing with all that if you want more language adoption, make the basics easier.

---

<div class="post-metadata">

### Author: ![dlakelan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlakelan/32/8491_2.png) [@dlakelan](https://discourse.julialang.org/u/dlakelan)
#### Post date: [September 1, 2023, 2:00pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/548 "2023-09-01T14:00:44Z")

</div>

> [@Andy2K11](#):
>
> make the basics easier.

Focus has been on TTFX and major work happened there leading to startup times that now feel very reasonable. I agree that we need some onboarding document and/or videos so people understand environments and projects and how workflow works.

---

<div class="post-metadata">

### Author: ![Andy2K11](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andy2k11/32/9967_2.png) [@Andy2K11](https://discourse.julialang.org/u/Andy2K11)
#### Post date: [September 1, 2023, 2:37pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/549 "2023-09-01T14:37:53Z")

</div>

That will definitely help.

Revise.jl and PackageCompiler.jl are not the types of things you would typically have to deal with separately to the language installation. Whether a language is interpreted or compiled, opening up a new command shell to run a program wouldn’t make any difference. It’s definitely a workflow issue that, at least to me, was non-obvious.

Because I use Julia as an education tool, I’m often hopping around different small sample projects, and it feels like I’m fighting the language all the time by doing this. I can see how it’d be easier if I were working on one main project.

---

<div class="post-metadata">

### Author: ![dlakelan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlakelan/32/8491_2.png) [@dlakelan](https://discourse.julialang.org/u/dlakelan)
#### Post date: [September 1, 2023, 4:09pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/550 "2023-09-01T16:09:29Z")

</div>

> [@Andy2K11](#):
>
> Because I use Julia as an education tool, I’m often hopping around different small sample projects, and it feels like I’m fighting the language all the time by doing this.

I sort of do a fair amount of this too. And it doesn’t feel that difficult.

```julia
julia --project

```

or

```julia
julia
] activate .

```

Though in reality I just embraced vscode and the emacs keybindings extension, so I just open vscode in that directory. For an educational context I think jupyter notebooks in vscode work well.

But I could see how if you don’t have a workflow down yet, it would be very confusing to try to figure out how best to do stuff. So we definitely need onboarding workflow docs!

---

<div class="post-metadata">

### Author: ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)
#### Post date: [September 1, 2023, 4:51pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/551 "2023-09-01T16:51:20Z")

</div>

> [@dlakelan](#):
>
> Though in reality I just embraced vscode and the emacs keybindings extension

Yes! I also find vscode with the [Awesome Emacs Keymap](https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx) extension very productive. For a long time, the only functionality I seriously missed from Emacs was keyboard macros, but then I found [Keyboard Macro Beta](https://marketplace.visualstudio.com/items?itemName=tshino.kb-macro) and [keymap-wapper](https://github.com/tshino/vscode-kb-macro/tree/4bf6d74abd6a207a35b9529f7228055ba18eb9e9/keymap-wrapper) which together let me use standard Emacs key chords for keyboard macros 😄 .

---

<div class="post-metadata">

### Author: ![Andy2K11](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andy2k11/32/9967_2.png) [@Andy2K11](https://discourse.julialang.org/u/Andy2K11)
#### Post date: [September 1, 2023, 8:27pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/552 "2023-09-01T20:27:06Z")

</div>

> [@dlakelan](#):
>
> I sort of do a fair amount of this too. And it doesn’t feel that difficult.
> 
> `julia --project`

Once you’ve figured that out, yeah it’s not too hard. My expectation from other languages is that behaviour would be the default and the global environment would only be used if no `Project.toml` was found locally.

Similarly, VSCode will set the environment to the current working directory, so if you’re opening up a common parent of your projects, again the global environment is used, not the project that the file being run is in.

Running Jupyter Notebooks in VSCode does seem to pick up the project though. Pluto manages its own environment.

When you’re desperately trying to avoid long precompilations, these little idiosyncrasies just seem to start adding up.

> [@Per](#):
>
> I think a lot of novice users run their Julia code by typing `julia my_script.jl` from the shell, since that’s how almost every other scripting language works.

Maybe I am repeating what has already been said now. I just think there are some small usability improvements that could make for a big improvement for new users without trying to make Julia the next big web development platform or something like that.

---

<div class="post-metadata">

### Author: ![matnbo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matnbo/32/220166_2.png) [@matnbo](https://discourse.julialang.org/u/matnbo)
#### Post date: [September 3, 2023, 2:27pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/553 "2023-09-03T14:27:34Z")

</div>

> [@gumbel](#):
>
> However, Python has so much corporate support that it offers superior libraries on many areas. A glaring example is how far Flux.jl is from JAX or PyTorch

This is typically what I observed around me with colleagues and students doing machine learning.

I get always the same answer each time I advice people to come to Julia, those implementing, or expecting to implement in the near future, deep learning (which actually represents most of ML people): “Pytorch is more complete”. [Note: I am not expert in DL and do not have the skill to compare Flux.jl and PyTorch, I only report what I ear]. As a result, and unfortunately for me, they prefer to stay on Python even if impressed by some demo of Julia (being not ready to learn an additional language, what I can understand)…

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 3, 2023, 5:24pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/554 "2023-09-03T17:24:40Z")

</div>

It probably doesn’t help, that the performance of Julia, particularly the initial compilation time, is magnitudes slower than Python.

Python is already known to be slow, and the factual experience of iterative code design, and experimenting with the language being subjectively slower – while simultaneously bragging about near C like performance – drives people away.

Why would people learn a new language, when one of its biggest promises appears to be a lie?  
Particularly when the execution speed of Python largely depends on C libraries.

Casual AI programmers will find just find very little benefits in Julia.

---

<div class="post-metadata">

### Author: ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)
#### Post date: [September 3, 2023, 5:47pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/555 "2023-09-03T17:47:30Z")

</div>

Is it possible that you are doing something in a very suboptimal way? You could probably open a separate thread, post your problem (like “I’m doing this and that and I have to wait 30 min / sec / ms before I can continue”), and get advise.

One’s experience with Julia depends on the workflow, and I recall very well my early frustrations.

---

<div class="post-metadata">

### Author: ![gumbel](https://avatars.discourse-cdn.com/v4/letter/g/b3f665/32.png) [@gumbel](https://discourse.julialang.org/u/gumbel)
#### Post date: [September 3, 2023, 6:02pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/556 "2023-09-03T18:02:19Z")

</div>

> [@matnbo](#):
>
> This is typically what I observed around me with colleagues and students doing machine learning.
> 
> I get always the same answer each time I advice people to come to Julia. Those implementing, or expecting to implement in the near future, deep learning (which actually represents most of ML people): “Pytorch is more complete” [Note: I am not expert in DL and do not have the skill to compare Flux.jl and PyTorch, I only report what I ear]. As a result, and unfortunately for me, they prefer to stay on Python (being not ready to learn one additional language, what I can understand)…

Yes, unfortunately there is no contest in that department. Python has TF, PyTorch, and JAX, all of which have thriving ecosystems of associated packages. Each of those Python packages has corporate-backed teams of engineers working on them full-time. Teams are huge. Packages have been battle-tested on enormous models.

IMHO, this is a strategic area where Julia should not fall behind. Differentiable programming is _not just_ for deep learning, it is fundamental for any modern implementation of classical inference methods, ranging from maximum likelihood to variational inference.

If Julia does not catch up in this area, Python, which I regard as an inferior language, will continue to attract most users.

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 3, 2023, 6:08pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/557 "2023-09-03T18:08:38Z")

</div>

Tell me how I do this in a very suboptimal way 😃

![Screenshot_20230903_200639](https://global.discourse-cdn.com/julialang/original/3X/2/f/2f9bceac821734e313f142448ecdb54f5b0babbe.png)

Intel 6200U

I understand, that this is not the fastest CPU in the world, but 6 seconds is nothing short of a scam, if you advertise your language based on speed.

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 3, 2023, 6:27pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/558 "2023-09-03T18:27:01Z")

</div>

> [@gumbel](#):
>
> Yes, unfortunately there is no contest in that department. Python has TF, PyTorch, and JAX, all of which have thriving ecosystems of associated packages.

I can comfort you on that, as I am part of the F# community, and know the situation there.

Thanks to the .NET ecosystem, there is a package available for basically all the prominent frameworks, [Tensorflow, Keras, Pandas, NumPy.](https://scisharp.github.io/SciSharp/)

They even implement the API to existing libraries, so that it [feels familiar](https://github.com/dotnet/TorchSharp#torchsharp) to the Python guys.

F# did recently a pretty major refactor of the compiler, just so that Python devs can omit a single dot.

And they have pretty interesting frameworks themselves, like [DiffSharp](https://diffsharp.github.io/) and [ML.NET.](https://dotnet.microsoft.com/en-us/apps/machinelearning-ai/ml-dotnet)

Nobody bats an eye.

So, you don’t need to be sad, that Julia lacks support for prominent AI libraries, as it would not make any difference in adoption. F# has the power of .NET in their back, and all the libraries are available from C# as well. Python devs simply see too little reason, to switch.

The language is “good enough”

And projects like Mojo will just cement that status.

---

<div class="post-metadata">

### Author: ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)
#### Post date: [September 3, 2023, 6:52pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/559 "2023-09-03T18:52:14Z")

</div>

> [@ShalokShalom](#):
>
> Tell me how I do this in a very suboptimal way 😃
> 
> ![Screenshot_20230903_200639](https://global.discourse-cdn.com/julialang/original/3X/2/f/2f9bceac821734e313f142448ecdb54f5b0babbe.png)
> 
> Intel 6200U

I’m not sure what you’re measuring there. This is what I get on Julia v1.8.2:

```julia
julia> @time add(x, y) = x + y
  0.006697 seconds (7.86 k allocations: 454.296 KiB)
add (generic function with 1 method)

julia> @time add(1, 2)
  0.000001 seconds
3

```

I’m on an old MacBook with a 2.3 GHz Intel Core i5 processor.

---

<div class="post-metadata">

### Author: ![ShalokShalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shalokshalom/32/52462_2.png) [@ShalokShalom](https://discourse.julialang.org/u/ShalokShalom)
#### Post date: [September 3, 2023, 7:09pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/560 "2023-09-03T19:09:33Z")

</div>

That’s vscode-jupyter  
I did evaluate before with the little |\> button in the top right, in normal VSCode mode.  
That took comparatively long.

Just writing 20 lines of code and hitting that button, takes an eternity till the whole things is properly evaluated.

Edit: It seems like it is an issue with the VSCode extension.  
Output of my terminal:

```julia
@time add(x, y) = x + y
0.011075 seconds (7.33 k allocations: 440.927 KiB, 1155.33% gc time)
add (generic function with 1 method)

```

---

<div class="post-metadata">

### Author: ![bertschi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bertschi/32/33462_2.png) [@bertschi](https://discourse.julialang.org/u/bertschi)
#### Post date: [September 3, 2023, 7:26pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/561 "2023-09-03T19:26:48Z")

</div>

Seems like hitting the button for the first time starts up a new Julia process – which takes some time (Similar complaints have been raised about Clojure which needs to start up a JVM). Ones the Julia process is running, it will be much faster, i.e., when hitting the button again afterwards.

---

<div class="post-metadata">

### Author: ![jbytecode](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jbytecode/32/17719_2.png) [@jbytecode](https://discourse.julialang.org/u/jbytecode)
#### Post date: [September 3, 2023, 7:33pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/562 "2023-09-03T19:33:13Z")

</div>

running the `cargo run` first time requires time but nobody complains it but when Julia requires time for compilation, it matters. I think that’s why Julia doesn’t save the compiled file that’s ready to run each time. People are not used to this type of compilation work.

---

<div class="post-metadata">

### Author: ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)
#### Post date: [September 3, 2023, 8:05pm UTC](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389/563 "2023-09-03T20:05:53Z")

</div>

I wonder how much faster Julia is than C++ or Rust on Jupyter notebooks.

It may be more appropriate to promote Julia as an easier C++ than a faster Python. With projects targeting more and more hardware, Julia could become an alternative to C++ in heterogeneous computing. However, it is a pity that Julia is not among the priorities of the group that adapts software to RISC-V hardware.  
[https://wiki.riseproject.dev/display/HOME/Language+Runtimes+WG](https://wiki.riseproject.dev/display/HOME/Language+Runtimes+WG)

[Previous page](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389.md?page=25)

[Next page](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389.md?page=27)
