It's also not incredibly uncommon for people to run scripts that they haven't written themselves (like via the almost universally reviled but still somewhat common `curl <...> | bash` installation pattern). It probably would be better if things didn't get installed like this, but if it's going to happen, it might be nice to have the scripts written in something less annoying than shell so that the authors could at least use the same language for the installation script that they do for writing the software itself.
Those sound similar to "magic commands" in IPython and Jupyter?
There is not yet a Jupyter-xeus Rust kernel which would make it really easy to support Rust in JupyterLite in WASM on an .edu Chromebook and in JupyterLab: https://news.ycombinator.com/item?id=43354177
> jupyter_console is the IPython REPL for non-ipykernel jupyter kernels. [like evcxr]
> This magic command logs IPython REPL input and output to a file:
%logstart -o example.log.py
https://news.ycombinator.com/item?id=25923123 ,Here's how to support something like _repr_html_() and IPython.display.display() with evcxr_jupyter: https://github.com/evcxr/evcxr/blob/main/evcxr_jupyter/READM...
I'm not sure what the pros and cons of evcxr_repr, jupyter_console + evcxr_jupyter, and Run are?
[1] https://github.com/casey/just?tab=readme-ov-file#shebang-rec...
I like and use `just`, but I think the project author's claims around it being "polyglot" are misusing the term.
The link they shared and you didn't open, which is precisely an example of multiple recipes with different #!/usr/bin/env shebang lines, such that a single just file can mix different languages.
I'm not sure I like how they handle the shebang on different platforms, though. It makes just files non-portable even when using a language other than a shell.
If the program hosted its own interpreters for multiple scripting languages, then it would make sense to call it polyglot.
Also, you wrote "Why not call out /usr/bin/env instead?" which is exactly what the example was doing, so I assumed your own proposal would have seemed sufficient to you, had you seen it.
But I feel I’ve come around to your perspective. Mine was overly pedantic.
As I said, I don't even like Just's approach as it isn't even cross platform, but I guess solving this properly would require tying the recipe runner to a package repository per platform. I still appreciate that Just tried to make it a legible built-in feature though.
As for Kotlin, it could reasonably be placed under either "Web & scripting" or "Compiled," depending on how it's used. Since Kotlin can also compile to JavaScript, its classification depends on the context. If we're talking about Android development, then Kotlin is clearly a compiled systems language.
To clarify: Swift is a compiled, statically typed systems language, much like Rust, C++, or Go. Its core toolchain (swiftc) compiles code into native binaries.
It would be less tedious if some code was factored out into an Helper struct but it doesn't look like it's hard.
But if only to learn rust, this is more interesting than building another "todo list" app