← Back to context

Comment by ekjhgkejhgk

12 hours ago

Of all the Rust stuff that I've seen on HN, this is the first one that makes me go "maybe I should learn Rust". Not for the performance aspect, but because it seems so neat to be able to compile to a binary. I went to the releases page, I downloaded bluetui-x86_64-linux-gnu, and it works.

Why not C, C++, Go or any other compiled language? What made you want ot learn rust?

  • If it's good enough for Linus Torvalds, it's good enough for me :-)

    I'm not a professional programmer, I just want to have more control over my computer. C seems like a full time job to learn and not shoot yourself in the foot.

From your comment, I'm assuming you're mostly familiar with interpreted languages. Chances are that you know JS/TS. If that's the case, I suggest that you give Go a go. The learning curve is way softer than Rust's and it's not too uncomfortable to someone who already knows TypeScript. And the advantage of Go over Rust is that the compile time is much, much shorter.

  • I went from Bash to Go as a system admin, and eventually built something with Rust too, so I can definitely confirm that the Go learning curve is softer than Rust.

  • > From your comment, I'm assuming you're mostly familiar with interpreted languages.

    I'm proficient with Python and Julia, but I avoid Python as much as possible.

    > The learning curve is way softer than Rust's

    Ok, it might be easier, but then I'll have learned Go and not Rust :-)

  • I still think it's better to learn Rust

    https://www.youtube.com/watch?v=nOSxuaDgl3s

    • I only watch the go part, and I'll say that in 3 years working with I might have had at most 3 times nil pointer crashes in prod, in which took about 30 min between getting fixed and deployed.

      There are linter which helps prevent most of if not all crashes (just keep in mind to run linting and compile the binary it would still be ages faster than anything rust I have ever compiled). His argument is weak, and not simple.

      I'll give that type system in golang is too simplistic sometimes, and a more complex could help to express better some use cases.

      Still go for a person coming from a interpreted language is a solid choice by being MUCH MUCH simpler.

      3 replies →

There's also a program in Go which does almost the same: https://github.com/bluetuith-org/bluetuith

  • This is anecdotal but I've been using bluetuith for a year on my nix machine with several adapters then switched to bluetui recently, and my experience with bluetui has been amazing. I just ran into issues all the time with bluetuith and I assumed it was due to the OS or something. An example I can think of is trusted connections- my devices just never automatically connected once switched on, but now they do.

You can do it with any language that supports static linking, like C, C++, Go etc. You can also do it with things like Pyinstaller for Python. It's not that big of a deal tbh.

  • It absolutely is a big deal that you can run “cargo build” with no set up and things just work. Out of the languages you listed, Go is the other where it’s that easy.