JuliaLang / juliaup

Julia installer and version multiplexer
MIT License
971 stars 82 forks source link

Scope of Rewrite: rewriting juliaup in Julia language itself #1001

Open VikasPoddar opened 1 month ago

VikasPoddar commented 1 month ago

I was taking a look at the project it's great and I have started using it in my personal project in Julia ( I'm new to Julia). I have a question, can we rewrite the Juliaup toolchain in Julia ( I know language for tooling doesn't matter if things are getting done and it's rust btw ). But, if looking at from a perspective of language which is competing with C/C++ in computational speed and python in developer experience. We can clearly achieve the same with Julia for maintaining its toolchain. It will give a consistent & homogenous code for research scientists, research software developers, equipment operators etc. It will make the time read and understand the logic behind tools simpler. I know it's a humongous task but we can achieve it ( doing it solely depends on the project maintainer)

At the end, I am open for discussion...

Thank you

davidanthoff commented 1 month ago

If you look through the git history in the repo here you can see that there was a time when Juliaup was written in Julia :) (and also a time when it was written in C++). But back then (and really still today) Julia was and is not a good tool to write small, fast command line utilities, so that is why I changed it over to Rust at some point. That situation might change once juliac is released and it probably is worth reconsidering that choice again after that.

Having said that, Rust is a great language for something like Juliaup. Having all the static compile checks it provides really helps writing error free code :)

LilithHafner commented 1 month ago

See https://github.com/LilithHafner/UpdateJulia.jl for an implementation of this idea that predates the release of juliaup for non-windows platforms.