Julia online compiler

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.

2 Likes

https://godbolt.org/ has a Julia option.

5 Likes

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

1 Like

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) to host such a server under that domain.

6 Likes

Pluto.jl has that covered

2 Likes

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

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.

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 :wink:

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.

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://runrb.io/, https://cpp.sh/ and etc.

1 Like

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.

@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.

8 Likes

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.

2 Likes

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.

2 Likes

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

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.

2 Likes

Recent application of Julia on WebAssembly: Introduction · WebAssemblyCompiler

3 Likes

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.

2 Likes

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.

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.

3 Likes

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.

1 Like

Yes, there was JuliaBox:

2 Likes