# Julia online compiler

**URL:** <https://discourse.julialang.org/t/julia-online-compiler/122782>\
**Category:** Tooling\
**Created:** [November 18, 2024, 4:10pm UTC](https://discourse.julialang.org/t/julia-online-compiler/122782 "2024-11-18T16:10:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![hack3rcon](https://avatars.discourse-cdn.com/v4/letter/h/96bed5/32.png) [@hack3rcon](https://discourse.julialang.org/u/hack3rcon)\
**Post date:** [November 18, 2024, 4:10pm UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/1 "2024-11-18T16:10:01Z")

</div>

Hello,  
I thank the Julia development team for building the Julia language. One thing that can help the Julia community grow is to build a simple and fast website to run Julia code. I think Julia needs something like https://play.rust-lang.org. It’s simple, fast and practical. I tested several online Julia compilers. They were slow and not easy to work with.  
I would like to ask the Julia development team to design a simple and fast website for running Julia code.

Thank you.

---

<div class="post-metadata">

**Author:** ![GeorgeGkountouras](https://avatars.discourse-cdn.com/v4/letter/g/77aa72/32.png) [@GeorgeGkountouras](https://discourse.julialang.org/u/GeorgeGkountouras)\
**Post date:** [November 18, 2024, 4:32pm UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/2 "2024-11-18T16:32:29Z")

</div>

[https://godbolt.org/](https://godbolt.org/) has a Julia option.

---

<div class="post-metadata">

**Author:** ![hack3rcon](https://avatars.discourse-cdn.com/v4/letter/h/96bed5/32.png) [@hack3rcon](https://discourse.julialang.org/u/hack3rcon)\
**Post date:** [November 19, 2024, 6:03am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/3 "2024-11-19T06:03:38Z")

</div>

Hi,  
Thank you so much.  
Why not https://play.julialang.org/? This ensures stability and flawlessness.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 19, 2024, 7:14am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/4 "2024-11-19T07:14:51Z")

</div>

I would carefully phrase that as:

- someone would have to program that
- one could maybe do a Pluto instance – sure
- someone would have to pay for the server and the computation power
- someone has to carefully set it up so it is not used for e.g. bitcoin mining – that is limit resources reasonably…

I am sure that in principle after these steps it would be doable to maybe convince the main developers (or who ever owns the domain [julialang.org](http://julialang.org)) to host such a server under that domain.

---

<div class="post-metadata">

**Author:** ![Benny](https://avatars.discourse-cdn.com/v4/letter/b/49beb7/32.png) [@Benny](https://discourse.julialang.org/u/Benny)\
**Post date:** [November 19, 2024, 7:20am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/5 "2024-11-19T07:20:56Z")

</div>

> [@kellertuer](#):
>
> one could maybe do a Pluto instance

Pluto.jl has that covered

---

<div class="post-metadata">

**Author:** ![hack3rcon](https://avatars.discourse-cdn.com/v4/letter/h/96bed5/32.png) [@hack3rcon](https://discourse.julialang.org/u/hack3rcon)\
**Post date:** [November 19, 2024, 7:26am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/6 "2024-11-19T07:26:25Z")

</div>

Hi,  
Sure.  
It can almost be said that most languages ​​have a subdomain for this. Why not Julia?

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 19, 2024, 7:28am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/7 "2024-11-19T07:28:21Z")

</div>

> [@Benny](#):
>
> [Pluto.jl](https://juliahub.com/ui/Packages/General/Pluto) has that covered

Sure, I was mainly referring to setting up a server available at the domain mentioned. I would think the main problems are (a) costs for renting the server (b) finding a good balance in the amount of available computation resources for each user.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 19, 2024, 7:29am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/8 "2024-11-19T07:29:58Z")

</div>

> [@hack3rcon](#):
>
> Why not Julia?

Because no one has done that yet. Do you have more examples besides Rust that you claim “most languages”?  
I have a lot of language in mind that do not offer that. C/C++, Fortran, Turbo Pascal – ok these are also all a bit old-ish 😉

---

<div class="post-metadata">

**Author:** ![hack3rcon](https://avatars.discourse-cdn.com/v4/letter/h/96bed5/32.png) [@hack3rcon](https://discourse.julialang.org/u/hack3rcon)\
**Post date:** [November 19, 2024, 7:30am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/9 "2024-11-19T07:30:43Z")

</div>

Hi,  
It is not as simple as https://play.rust-lang.org. The website you mentioned is a bit crowded and requires registration and etc.

---

<div class="post-metadata">

**Author:** ![hack3rcon](https://avatars.discourse-cdn.com/v4/letter/h/96bed5/32.png) [@hack3rcon](https://discourse.julialang.org/u/hack3rcon)\
**Post date:** [November 19, 2024, 7:34am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/10 "2024-11-19T07:34:12Z")

</div>

If they don’t have a subdomain for this, but they have many websites that do this easily for the users. For example [https://www.online-python.com/](https://www.online-python.com/), [https://runrb.io/](https://runrb.io/), [https://cpp.sh/](https://cpp.sh/) and etc.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 19, 2024, 7:41am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/11 "2024-11-19T07:41:40Z")

</div>

I was not aware of the C/C++ one.

But sure, in principle that can be cone. Either with scripts or with Pluto for Julia as well. It still has to be done by some one – and someone has to pay for the server and administer it.  
So probably the answer to the “Why” is – because no one has done that yet.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [November 19, 2024, 8:05am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/12 "2024-11-19T08:05:05Z")

</div>

@hack3rcon, if you care enough about it, why don’t you try to initiate this? For example, developing this web service (the interface etc.) can be done locally and doesn’t require any privileges. I’m pretty certain that if someone would do this work and would present a nice demo, the “Julia core community” could find a hosting solution.

I think many people would like to see such a feature. But someone has to be the driving force.

---

<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:** [November 19, 2024, 8:34am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/13 "2024-11-19T08:34:38Z")

</div>

How would a playground for Julia work? Would Julia run in the user’s web browser or on a backend server?

I have read that the maintenance cost of playground for Rust is high because it uses backend servers.

> **[GitHub - rust-lang/rust-playground: The Rust Playground](https://github.com/rust-lang/rust-playground)**
>
> The Rust Playground

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 19, 2024, 8:38am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/14 "2024-11-19T08:38:49Z")

</div>

I would assume Julia has to run on the server and not in the users web browser, similar to Rusts; but yeah, I also think server load is one of the challenges.

otherwise someone would have to write / compile the Julia source code to JS or such? I do not think that is realistic.

---

<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:** [November 19, 2024, 8:54am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/15 "2024-11-19T08:54:32Z")

</div>

It seems there was an attempt to run Julia on WASM a while ago.

> **[GitHub - Keno/julia-wasm: Running julia on wasm](https://github.com/Keno/julia-wasm)**
>
> Running julia on wasm

But, I am not sure about the current status of Julia on WASM recently. I wish the Julia-lang blog could post about these kinds of long-term, high-impact projects in the Julia community.

---

<div class="post-metadata">

**Author:** ![stemann](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stemann/32/4030_2.png) [@stemann](https://discourse.julialang.org/u/stemann)\
**Post date:** [November 19, 2024, 9:12am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/16 "2024-11-19T09:12:14Z")

</div>

Recent application of Julia on WebAssembly: [Introduction · WebAssemblyCompiler](https://tshort.github.io/WebAssemblyCompiler.jl/stable/)

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [November 19, 2024, 9:29am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/17 "2024-11-19T09:29:27Z")

</div>

> [@kellertuer](#):
>
> - someone would have to pay for the server and the computation power

If I don’t misremember completely Julia did have something like this in the early years, but it was pulled when the server costs became untenable. So indeed, figuring out a sustainable way to fund it is of critical importance for a server-based solution.

---

<div class="post-metadata">

**Author:** ![Benny](https://avatars.discourse-cdn.com/v4/letter/b/49beb7/32.png) [@Benny](https://discourse.julialang.org/u/Benny)\
**Post date:** [November 19, 2024, 11:01am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/18 "2024-11-19T11:01:05Z")

</div>

> [@hack3rcon](#):
>
> For example [https://www.online-python.com/](https://www.online-python.com/), [https://runrb.io/](https://runrb.io/), [https://cpp.sh/](https://cpp.sh/) and etc.

Looking into it, these are not affiliated with the language developers, so if the idea is to have a easily discoverable and memorable website name, that can and probably should be done by a third party.

Unfortunately there’s only one reason for online compilers/REPLs lasting longer with low maintenance costs: obscurity. I’ve witnessed many of them failing after gaining too many users, myself among them. The rust playground is successful and still suffers from outages, and it seems to take at least the level of maintenance as a popular package. Something worth noting is that for applications that serve users on a massive scale such as online video games, most of the computation usually occurs locally; multiple users playing together share the same process on a server; the application has predictable performance because user inputs do not include arbitrary code. A language playground has none of those advantages, in fact the rust playground README explains that it imposes a working memory and time limit on users, and it still cannot stop a bad actor from hogging the shared disk space. A REPL usually has more upfront memory costs than an executable, so that’s an extra headache for Julia. I don’t think this precludes an online Julia playground that lasts longer than the previous attempts, but even a success will struggle to run its independent users’ REPLs on limited resources, that’s just the nature of the work.

> [@xiaoxi](#):
>
> But, I am not sure about the current status of Julia on WASM recently.

> [@stemann](#):
>
> Recent application of Julia on WebAssembly: [Introduction · WebAssemblyCompiler](https://tshort.github.io/WebAssemblyCompiler.jl/stable/)

The cpp website compiles the code to wasm on its server so it runs locally on the browser. No doubt that’s to save resources, and I imagine a similar strategy would only be possible with juliac. WebAssemblyCompiler appears to share similar if not more limitations anyway.

---

<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:** [November 19, 2024, 11:49am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/19 "2024-11-19T11:49:22Z")

</div>

> [@kellertuer](#):
>
> Do you have more examples besides Rust that you claim “most languages”?

As far as I know, TypeScript, Python, Haskell, Kotlin and Ruby have a playground. And it looks like Go and Swift don’t have one.

When Julia on WASM matures, I wonder if it might also be interesting to have interactive examples in the documentation as the Rust documentation has.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [November 19, 2024, 11:58am UTC](https://discourse.julialang.org/t/julia-online-compiler/122782/20 "2024-11-19T11:58:16Z")

</div>

Yes, there was JuliaBox:

> [@What are the best alternatives to JuliaBox?](https://discourse.julialang.org/t/what-are-the-best-alternatives-to-juliabox/37246):
>
> Since JuliaBox sunset will take place on May 31st cry what are the best options to run Julia in the cloud for academic users? I don’t mind to pay a reasonable fee. Thank you in advance.

[Next page](https://discourse.julialang.org/t/julia-online-compiler/122782.md?page=2)
