Will Rust replace C as the go-to low-level language for open-source projects? C++ never got traction there because open source projects are terrible at restricting themselves to language subsets. Rust doesn't have this problem, and the compile time guarentees means that it is harder to screw up by accidentally creating memory-related bugs.
Will Rust replace C as the go-to low-level language for open-source projects...
Other urls found in this thread:
servo.org
normalbreathing.com
twitter.com
No. Also C++ is very popular with open-source projects.
>Will Rust replace C as the go-to low-level language for open-source projects?
I doubt that. But many GNOME devs are liking Rust.
In fact I think they are trying to take Rust to the position where Vala was supposed to be.
>Will Rust replace C as the go-to low-level language for open-source projects?
No. Rust is a dead end. It's going to become as insignificant as D.
fpbp
there are boatloads of freedom-respecting C++ projects (please don't use the term 'open source' OP, it's close to meaningless if the source code is """open""").
D never intended to replace C, idiot
D is dead because it couldn't compete with Java, not because it couldn't compete with C++.
It was hyped as a C++ killer. Just like you idiots are trying to hype rust as a C replacements.
No it's dead because the people managing the language and using it are fucking retards. Kind of the same userbase as with rust.
>D is dead because it couldn't compete with Java,
Are you 12 years old? Do you not know when Java came out and for what purpose?
Holy shit these people use Sup Forums
No, I think Rust is more of a "first draft" of a future family of programming languages which will share similar memory models but with better ergonomics.
Like how Perl fixed most of the obvious problems with shell scripts but still wasn't great to use in its own right, and ended up being the "first draft" for Python/Ruby.
As an Object oriented language with a similar syntax to C++ but with a GC and far fewer pain points?
Yes, D has a number of differences to Java. But there aren't a lot of things it can do that Java can't (even if D may be significantly better at those), and Java/C# were riding on their hype train in the 2000s when D came out. The C++ devs that felt that GC were fine would be more likely to hop over to those, while those that were not fine with a GC wouldn't make the switch anyway.
D was never as popular as Rust, it was magnitudes more niche.
Keep memeing.
The only ones memeing are delusional rustfags thinking rust is relevant.
at this point nothing is replacing c/c++ but rust is looking really promising for low level stuff, and the higher level stuff is mostly waiting on more usable bindings for horrendous but popular c++ libraries (things like qt) before it can really get anywhere, but it's mostly going to be behind languages like c++/java/c#/.net for obvious reasons or in some cases by design
the really interesting space is embedded programming, by trimming so much fat out of the language and moving it to libraries rust without the standard library is really competitive with c without the standard library, but in an area where memory safety and general security is severely lacking and can be improved massively just by switching to rust
>But many GNOME devs are liking Rust.
gtk actually has decent support for rust, which is surprising because gnome/gtk is usually useless
>horrendous but popular c++ libraries (things like qt)
It's not great, but what cross-platform GUI library is better?
Xamarin I'd give you, but it doesn't support Linux, "just write platform-specific code" I'd definitely give you but that wasn't the question, Electron/React Native/"the browser" is right out.
Rust set out to make a successor to C++, and in doing so, they made a language that is harder to learn/understand than C++ and less supported than C++, while also underperforming C++. It's a complete failure on every front.
why is it not great?
it's pretty fucking great and a shit ton of really good software is written in it (pokerTH, Telegram Desktop, Quassel IRC, qutebrowser)
>first, they ignore you
>then, they laugh at you
>then, they continue laughing at you
>then, they ignore you
>then, they forget about you
>Rust
The world is still in stage 1, but Sup Forums being at the forefront of the memes is probably somewhere around stage 2.
Not him but I wrote about it a few days ago. Basically signals and slots implementation sucks and requires a Q(Core)Application to work if it's not direct connection. Need to spawn QThreads because Qt doesn't like standard threads. Have to use QTypes everywhere infecting your entire project. Java style iterators. Need their moc tool.
Qt is basically like GPL. It's a cancer that takes over your entire project infecting every single part of it.
>first they ignore you
>then they laugh at you
>then they fight you
>then they embrace you
you are at stage 3
don't get me wrong I love qt (as a user not so much a developer) but c++ libraries are notorious for having awful bindings in other languages even when those libraries try to support said bindings, qt is only just making a push for pyqt so nicer qt bindings for rust might be a while away, but once those rust bindings for qt improve along with some other c++ libraries rust will be in a much better position in the slightly higher level space, it's more of an issue of c++ than it is of the libraries so it wasn't great for me to throw qt under the bus there
again, gtk, which as far as libraries go is fucking horrendous, actually has surprisingly decent support in rust but this might have far more to do with gtk being c rather than c++
rust is more popular than d ever was and given that rust is only just trailing behind everyone's golden child, go, despite go beating rust to (stable) release by over a year, it already has FAR more than a foot in the door to mass market than d ever did
and that's not to say rust is comparable to go but people are always going to draw those parallels and they did with comparing d to c++
>It was hyped as a C++ killer
d may have intended to replace c++ in the very early days but it quickly became a niche in a market that already had vastly superior production ready languages with mass market appeal like c/c++/java/c#, despite d being a subset of all those languages(less so c) and more it didn't do anything particularly better for people to justify spending time in it over spending time accepting the flaws in the already well established industry leading languages
and while that's not to say that rust will *replace* c,
>you idiots are trying to hype rust as a C replacements
rust does a whole lot better than c in the areas it attempts to compete in that it's worth a serious consideration, and is competent enough in other areas with decent support for c bindings and serviceable support for c++ bindings that it's not going to fall into the same trap d fell
c is always going to be there the only other competition that rust has is another language with entirely different design goals(go), and rust isn't *that* far behind considering the delays rust had, it's not like d launching into a market where c++/java were at their prime with c# on the horizon as the new king
continued shortly
>It's a cancer that takes over your entire project infecting every single part of it.
It's a fucking framework dude. What did you expect.
>No it's dead because the people managing the language
yes, get back to me when rust has licence issues, or speculation of license issues, from day 1, barely being usable for over a decade with minimal mass market interest or public corporation backing of any kind, and going through the d v.1 to d v.2 change which was equivalent to python's change from 2 to 3 all the while only being referred to as d
the python change was enough to stunt and divide the massively popular python userbase and is still an issue a decade on, never mind d's *tiny* userbase when d v.2 came along and never mind the other major issues
>and using it are fucking retards.
nobody was using it, that's half of the problem, who gives a shit if facebook and other major companies are using it if there's fuck all publicly available or useful libraries
>Kind of the same userbase as with rust.
seems to me the only issues with rust's userbase are issues that 4channers have and given how fucking easy it is to stir up this board it's no surprise
go users have some issues with rust given how people force the rust vs go narrative but considering rust has a sizable userbase that isn't that far behind go's userbase I think rust will manage fine
basically you're a retard if you think java (and later c#) being at its height wasn't an issue for the adoption of d, shout out to >Holy shit these people use Sup Forums
tell me about it, the board gets dumber by the year
>Will Rust replace C as the go-to low-level language for open-source projects?
Hopefully no, Rust is a fucking dumpster fire.
> rust is popular
/r/rust is not sending their best. They’re sending people that have lots of problems, and they’re bringing those problems with us. They’re bringing illusions of grandeur. They’re bringing falsehoods. They’re retards. And some, I assume, are good people.
I'd expect them to at least follow std design and not roll their own types and own style iterators.
I hope you realize there were reasons for that. std::string, for example, can basically only handle ASCII. std::wstring is a shit fest.
I get your frustration, but I'm sure if you were part of the team that made Qt you would understand the design decisions better.
OY VEY
>std::string, for example, can basically only handle ASCII
That is incorrect. That depends on your encoding. If you think about iterators then yes you will get funny behavior if using another character encoding than ASCII.
>std::wstring is a shit fest.
Yes because UTF-32 was invented. There is no good way to handle strings. The decision to use UTF-16 in QString is stupid too. The best and most efficient way to handle strings is just to go UTF-8 since it can encode all known unicode characters.
I'd just go with the "official" string lib from the guys managing unicode if I need unicode in my projects.
>but I'm sure if you were part of the team that made Qt you would understand the design decisions better.
They looked at Java and went "hey let's copy these java things so we can attract java devs". Why else would you hide your own types like Qt does and use copy on write? It promotes shitty code because bascially you are just copying a pointer and not the entire object. Then you have people recreating the feat with their own stuff not understanding they are actually copying the entire object.
from what you chose to quote from my post I'm going to assume you have the reading comprehension of a child rather than trying a set up for the "I was just pretending to be retarded" card, either way you need to be at least 18 to use this site so leddit might be the better place for you, ironically
Am him.
For backwards-compatibility reasons it's not modern C++, it unnecessarily duplicates a lot of native functionality, it's all-or-nothing (not modular) and tends to tightly couple with the business logic, it's very hit-or-miss matching native look and feel and the gap is increasing, it bloats binaries and as others have said it's difficult to write bindings to from other languages (more a C++ difficulty, but a PITA regardless).
But anyway, I was defending it to the other guy, I like it, I just think it's not *great.* But hardly anything (especially software projects that large and ambitious) is.
Considering that C makes up a lot of existing infrastructure, and many projects build on said infrastructure, I don't see C going away any time soon, even for new projects. Rust MAY cannibalize a few other languages though, including part of C++'s usage outside of industry.
Download Mozilla Servo, their flagship Rust project. Try and open this thread with it. It's not even remotely ready for production. servo.org
All new version of Firefox Aurora req Rust in order to build now too, so one day Rust will displace C/C++ but not today.
Speaking of Gnome, how are the GTK bindings for Rust? I've played around with rust a bit and wrote a few ~1kloc command line tools, and I feel like making something with a GUI.
I think they are trying to officially support Rust as their newer to-go gtk app development language
>It's not even remotely ready for production.
wow, the nightly/developer preview builds of an experimental research project for a browser engine aren't production ready? tell me more
>less supported than C++,
What do you expect with a new language lol
*tries it out*
cargo build
Compiling gdk-sys v0.3.4
Compiling glib-sys v0.3.4
Compiling cairo-sys-rs v0.3.4
error: failed to run custom build command for `glib-sys v0.3.4`
process didn't exit successfully: `c:\Users\Olof\Desktop\Rust_stuff\gtkhelloworld\target\debug\build\glib-sys-cb92e0b40f8390fd\build-script-build` (exit code: 1)
--- stderr
MSVC target detected. If you are using the MSVC ABI rust build, please use the GNU ABI build instead.
Build failed, waiting for other jobs to finish...
error: failed to run custom build command for `cairo-sys-rs v0.3.4`
process didn't exit successfully: `c:\Users\Olof\Desktop\Rust_stuff\gtkhelloworld\target\debug\build\cairo-sys-rs-3aa4f1c61b720e72\build-script-build` (exit code: 1)
--- stderr
MSVC target detected. If you are using the MSVC ABI rust build, please use the GNU ABI build instead.
Build failed, waiting for other jobs to finish...
error: build failed
Figured. That's how you end up whenever you try to build something that starts with a "G" on windows.
Maybe you shouldn't have used the MSVC ABI build?
Its 7 fucking years old I wouldnt say new. Rust is idealistic though so its a community I can get behind.
Rust's 1.0 was still super duper premature. Not as bad as C though, like 15 years before they had a standard.
>wow, the nightly/developer preview builds of an experimental research project for a browser engine aren't production ready? tell me more
Yet people are shilling it like it's the second coming. Makes you think.
Nice
Servo isn't going into production, it's a tech demo of a rendering engine which is as of latest or so firefox in production.
Even without any of the nightly features rust is a perfectly usable language, 99% of all stuff built in it is written in unstable rust though so not sure why anyone cares yet.
>MSVC target detected. If you are using the MSVC ABI rust build, please use the GNU ABI build instead.
Idiot
Maybe for software meant to run on computer.
Not for stuff meant to run on embedded hardware w/o OS where you have to map shit to exact memory address.
Uh, it's already on arduinos and shit. No idea where you got that idea that computers don't do memory management.
Like anything mozilla touches nowadays it turns into garbage. Rust is no exception.
You're wrong, but I'd like to see some kind of Rust Foundation so it could be more independent from Mozilla. I guess something like this is bound to happen once Mozilla goes bankrupt.
>gtk
>rust
Why?
Why use a low level language (rust) to use a gui and data structures library (gobject, glib, gtk) that is build in another low level language (c)?
If rust is so good why not build with it a new gui library that (unlike gtk) will be stable, cross platform, and will not break the api every 6 months. A library so fucked up (gtk3) that many years after it's introduction people are still clinging on gtk2 to avoid having to deal with it's broken state.
Surely gtk3 (and soon 4.0,4.1,4.2,4.3,4.4(
i'd spend the time to learn it if it had more libraries
as it is, not worth it imo
C isn't a low-level programming language, so no.
Juce? No? Ok.
>new gui library that (unlike gtk) will be stable, cross platform, and will not break the api every 6 months
Qt?
>C++ never got traction
I'll try it out when there's a standard and more than one (1) compiler implementation.
/thread