News for hackers. Stuff that matters.
Re:C++ vs. Rust Build Times by pornel on Friday January 06, 2023 @06:32AM (#34273583)
I appreciate your comments, but I think the things you worry about aren’t that bad in case of Rust.

Not every language evolution is a cautionary tale. Java, C#, PHP, JS have grown a lot and are fine.

Rust’s learning curve is not from accidental overgrowth of complexity (e.g. it has two+ string types not because of legacy, but because it needs different kinds of ownership). Rust has editions that make its evolution less constrained by backward compatibility, “how are we going to teach this?” is a mandatory question for every language change, and Rust has exceptionally helpful compiler errors.

Rust has some tooling for managing supply chain risks - vetting dependencies, vulnerability scanning, vendoring, etc.

C++ doesn’t have any special security model or other solution that makes dependencies safe, only pain and annoyance that makes people avoid using dependencies. So it’s unclear what Rust could do better here (switch to autotools? ;)

Rust projects tend to split themselves into multiple crates, so “lots of dependencies” in Cargo isn’t as heavy and reckless as same number of C++-sized deps.

Rust has already broken out of being a niche language.

Naming things is hard. Rust has some less common features and needs to refer to them by some name. Sometimes it borrows terms from other languages (like enum instead of a sum type), but sometimes there isn’t a common word for everything.

Re:C++ vs. Rust Build Times by pjmlp on Friday January 06, 2023 @09:57AM (#34275288)
> Java, C#, PHP, JS have grown a lot and are fine.

Kind of, Java 20 and C# 11 have lots of interesting material for job interviews and pub quizzes that I bet random joe/jane developers will fail at.

I am mindly aware of them, because alongside C++, they have been my main tools for the past 30 years (rounding to the oldes one), and I surely would fail as well.

Re:C++ vs. Rust Build Times by jononor on Friday January 06, 2023 @10:22AM (#34275610)
Small crates is not a benefit wrt. The wrong 3 lines of code in crate is all it takes to be owned, regardless of whether the crate is 100 lines or 100k lines. Large number of crates and developers is a negative, because one needs to trust or review all of them.
Re:C++ vs. Rust Build Times by dralley on Friday January 06, 2023 @12:53PM (#34278278)
I don't really understand this line of thinking. The C++ method of "avoiding" this problem is to shove things into mega-libraries like Boost, or copying and pasting code. If you need the functionality, would you rather review 5 focused libraries, or Boost?

Copying and pasting code is equally do-able in both languages.

Re:C++ vs. Rust Build Times by elcritch on Friday January 06, 2023 @02:02PM (#34279263)
Boost -- it has a development process and has a proven track record. Those five focused libraries, times 30 other deps becomes 150 different developers to possibly vet. Anytime any of them can pass on the project to someone less scrupulous.
Re:C++ vs. Rust Build Times by laund on Friday January 06, 2023 @02:06PM (#34279313)
You should also keep in mind that a lot of Rust library developers release many individual crates from within the same project, inflating the crate count somewhat.
Re:C++ vs. Rust Build Times by jcelerier on Friday January 06, 2023 @12:18PM (#34277640)
> Not every language evolution is a cautionary tale. Java, C#, PHP, JS have grown a lot and are fine.

I find it very weird that anyone would think that any programming language is even remotely fine. Everything is a mess, there are terrible compromises to be made everywhere between expressivity, readability, build-time performance, run-time performance, safety, language community, etc etc. A language will be "fine" the day there's no compromise to be made anymore and it outclasses everything else before it on every metric relevant to shipping good software fast to end user while enjoying the process.

Re:C++ vs. Rust Build Times by derefr on Friday January 06, 2023 @01:35PM (#34278891)
I think you're confusing "fine" with "perfect."

Fine is a synonym for "satisfactory" or "acceptable."

"Fine" in programming specifically, usually translates to "I can use it to solve my problem without the flaws in it inhibiting me from doing that" or "I can forget that I'm using the tool and just focus on solving the problem."

Many things in the world are "fine" by this definition. That doesn't necessarily mean they're all good, let alone perfect — but they're fine.