Viewing a single comment thread. View all comments

2

tlckl wrote

Honestly, I cringe whenever I hear "Rust" when it comes to system utilities-- but some people are down with rust creeping into their base system... The double-meaning is deliberate.

I'm a huge rust fan, working on a project to write an usable OS in Rust, and is a contributor to the Rust compiler and have designed several additions to Rust, so bear with me, but...

I actually don't think it is "creeping" into the OS. It's runtime-less, and there is nothing you need to install to run Rust programs on your computer, so it's essentially C or C++ wrt. binaries. The only difference is at the programmer side (and, of course, fewer memory safety bugs, which is nice for the user, I guess).

1

jhasse wrote

It's runtime-less, and there is nothing you need to install to run Rust programs on your computer, so it's essentially C or C++ wrt. binaries.

Rust links its stdlib statically IIRC. C and C++ don't. I guess that's why some people don't like Rust programs "creep" into their system.

1

jadedctrl wrote

I'm a huge rust fan, working on a project to write an usable OS in Rust, and is a contributor to the Rust compiler and have designed several additions to Rust, so bear with me, but...

RedoxOS? Great project, great work. :) It's very rad.

The only difference is at the programmer side (and, of course, fewer memory safety bugs, which is nice for the user, I guess).

The only reason I'm really not a fan of Rust in base systems is that it breaks a certain uniformity that's becoming less and less common nowadays. Base UNIX systems having C, C++, shell, and Perl-- and local install containing everything else. They're the constants that have been in use for years and years-- while other languages pop into the limelight and then fade away into obscurity. It's almost certain C will remain relevant for a long time, despite it's downsides.
The dying uniformity doesn't matter too much, it just bugs me for some reason.

2

tlckl wrote

RedoxOS?

Yup.

The only reason I'm really not a fan of Rust in base systems is that it breaks a certain uniformity that's becoming less and less common nowadays. Base UNIX systems having C, C++, shell, and Perl-- and local install containing everything else. They're the constants that have been in use for years and years-- while other languages pop into the limelight and then fade away into obscurity. It's almost certain C will remain relevant for a long time, despite it's downsides.

I suppose your talking about compiling package managers, because binary-wise there is no difference. Any good compiling package manager allows you to uninstall the build chain after use, so even then you don't need it installed on your system. The other thing is interfacing between libraries, and that's definitely an issue, but Rust is in the good end off languages there. It is really easy to interface with C libraries (it's a matter of a couple of lines). So I'll have to admit that I don't really see the downsides except for mere aesthetics of knowing your programs are written in a particular non-Rust language.

1

jadedctrl wrote (edited )

I suppose your talking about compiling package managers, because binary-wise there is no difference. Any good compiling package manager allows you to uninstall the build chain after use, so even then you don't need it installed on your system

Earlier, I was talking about incorporating Rust code into the base of UNIX(-like) systems, not user-installed software. "... nowadays. Base UNIX systems..."
For non-base, I think Rust is pretty great, really.

So I'll have to admit that I don't really see the downsides except for mere aesthetics of knowing your programs are written in a particular non-Rust language.

Using Rust instead of C or Perl would, depending on the system a distribution uses for base, complicate things unnecessarily. This can vary from very little complication to a pretty large amount. If an essential system binary or utility for base is programmed, C or Perl really ought to be chosen, if it's for a UNIX system's base.