AntonioBerna / AntonioBerna/roma

Possible change of programming language 🚀

Aberta
#5 1 comentário 0 reações 1 responsável Reivindicada por @AntonioBerna Ver no GitHub
enhancement good first issue
Linguagem predominante
Rust
Estrelas
2
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

The `Python` programming language is simple, powerful, and full of useful libraries. However, in the implementation of the `roma` software I had to "fight" with `pyinstaller` and the `install.sh` installation script (shell language) to be able to add the final executable to the `PATH`.

All of this causes a problem in code distribution. For this reason I thought it would be very useful to rewrite the `roma` tool in another programming language.

It should be remembered that the `roma` tool is developed solely on a single file, because `Python` is interpreted and not compiled, that it does not use external libraries downloadable with `pip` and is therefore very streamlined and versatile.

Therefore, thinking about it carefully, possible alternatives to the `Python` language could be:

- **Rust:** this language, thanks to the `cargo` package manager, and in particular to the `cargo install --path .` command, would allow me to use a single "all-in-one" language, definitively eliminating the script `install.sh`. As far as various system tasks are concerned, `Rust` is a very valid alternative.

- **Zig:** I've never written `Zig` code (is it time to do so?) so I don't know this language well. By doing a little research I saw that (like `Rust`) it was created to replace the bugs that we carry with us from `C` and `C++` by having a very simple language available just like `C`. This would certainly speed up the transition from `Python` compared to `Rust` which in general is much more complex as a language.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.