If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Comment

if torvalds didnt accept c++ for being among other things, unstable (sounds like a joke but it isn't). do you think he wil accept rust?

i don't

Torvalds is the kernel. This article is about the userspace programs, like the things in /bin /sbin and the /usr variants of those. This is more at a GNU/FSF/Distro decision than at Torvalds and the kernel itself. The same argument for Rust could apply to BSD and other systems as well as to just Linux.

Comment

if torvalds didnt accept c++ for being among other things, unstable (sounds like a joke but it isn't). do you think he wil accept rust?

i don't

To my knowledge, Torvalds deems C++ libraries as unstable, not C++ itself. I don't get the impression he hates OOPs, just poorly implemented ones. As far as I'm aware, C was never intended to be object-oriented, and C++ was sort of just an "add-on", for lack of better phrasing. Though, I'm not sure how much that still applies today. I don't dabble in C++. If I want to work with objects, I use python.

Since Rust apparently has comparable performance to C++ but was meant to be secure and object-oriented from it's inception, it makes sense that Linus may be more accepting of it. But as stated by others, Linus really only deals with the kernel, where objects should be entirely avoidable. It would be interesting to see if Rust starts replacing applications, but I don't suspect Linus will be working with it much.

Comment

But even for user-space. I'm doing Qt5 and the Rust binding I found [1] has only one example and this TODO list:

More Qt modules support

Global Qt functions support

Qt enums support

Qt generic container classes support

Operator methods support

In other words it's not worth for me switching from a known language (C++11) with a good and known building system (cmake) with a good toolkit (qt5) to: an unknown but allegedly superior language (Rust) with an unknown building system (cargo or whatever) with inferior bindings to Qt5.

I'm trying to be unbiased here since I'm interested in good stuff, but Rust's pros and cons just don't do it for now for me.

Comment

Sound like Rust could be an alternative to python or plain c/c++ in those fields... But probably is still to early to talk about using it to build complex desktop applications, bindings to external library aren't still ready to mass-using

Comment

I completely agree with all the reasoning. I've got 10+ years of C++ experience and while I appreciate C++11,14,17 for all they offer, I think Rust has a serious shot at being a serious contender to C/C++. I honestly hate debugging parallel and/or memory bugs. It takes so much time! Rust is likely to prevent most of these mistakes in the first place! But I will say that Rust is crazy complicated compared to C++. The ownership, lifetime, borrowing concepts are painful to grasp. The language also achieves OO in a really neat, although ad-hoc way, with Traits. It's not as obvious as C++ for doing some things like inheritance. I also do appreciate automatic dependency management in Cargo. It's more organized and uniform. You don't need to deal with third party build systems or unit testing frameworks.

I've already read most of the Rust book last week. Now I just need to an ice breaker project. An IRC bot or something like that would be perfect.