Featherweight Musings
featherweightmusings.blogspot.com · Personal blog · on HN since 2012
Featherweight Musings is the blog of a Rust contributor, known for a tutorial series on Rust aimed at C++ programmers.
What HN saysHN commenters link the Rust-for-C++ series as a learning resource and his post on post-1.0 Rust priorities.
17HN people shared it
3linked it in comments
29stories submitted
927story points
11 years agolast shared
2012people per year2026
Most-shared posts
- 1Rust for C++ programmers – part 6: Rc, Gc, and * pointers2 people · 8 points · first shared 2014 · discussion on HN
- 2Rust for C++ programmers – part 2: control flow1 people · 125 points · first shared 2014 · 61 comments on HN
- 3Rust for C++ programmers – part 4: unique pointers1 people · 119 points · first shared 2014 · 96 comments on HN
- 4Rust for C++ programmers – part 5: borrowed references1 people · 110 points · first shared 2014 · 90 comments on HN
- 5Rust for C++ programmers – Part 8: destructuring1 people · 108 points · first shared 2014 · 13 comments on HN
- 6Rust for C++ Programmers Part 7: Data Types1 people · 93 points · first shared 2014 · 38 comments on HN
- 7Rust for C++ Programmers – Part 91 people · 85 points · first shared 2014 · 5 comments on HN
- 8Rust for C++ programmers – part 3: primitive types and operators1 people · 81 points · first shared 2014 · 66 comments on HN
- 9Rust for C++ programmers – part 1: Hello world1 people · 70 points · first shared 2014 · 41 comments on HN
- 10Rust for C++ programmers – part 6: Rc, Gc, and * pointers1 people · 57 points · first shared 2014 · 6 comments on HN
- 11Rust for C++ programmers – part 5: borrowed references1 people · 18 points · first shared 2014 · 2 comments on HN
- 12Rust for C++ programmers – part 5: borrowed references1 people · 9 points · first shared 2014 · discussion on HN
- 13Rust for C++ programmers – part 9: destructuring pt2 – match and borrowing1 people · 6 points · first shared 2014 · discussion on HN
- 14How To Win Benchmarks And Influence People1 people · 5 points · first shared 2012 · discussion on HN
- 15How To Win Benchmarks And Influence People1 people · 4 points · first shared 2012 · discussion on HN
What HN people wrote when they linked it
Shamanmuni · 2014-05-08
> What it sounds like you're saying is that programming languages should not require expertise.
No, I think he says that C++ is overly complex and unsafe without a real need for that complexity and unsafety. And it seems that what you define as "expertise" translates to "the developer learned to make up for the language flaws". Expertise should mean having the necessary knowledge to make software quickly and efficiently, not avoiding the language pitfalls. When you have to read so much text in order to use a language correctly, then there probably is some problem in it.
Take a look at Rust, it's aiming for the same niche as C++ while being less complex and giving safety guarantees. And they seem to be having success at that. It's doable.
I recommend you the post that I link below. It tries to explain to a C++ programmer why he should learn Rust. It has modules, generics, green threads and concurrency built in. There's much to love.
http://featherweightmusings.blogspot.com.ar/2014/04/rust-for-c-program…
mbrubeck · 2015-02-13
This is not an official list, but it's one developer's opinion on post-1.0 priorities:
http://featherweightmusings.blogspot.com/2014/12/my-thoughts-on-rust-i…
It also links to the list of RFCs that have been postponed until post-1.0:
https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+is%3Aissue+label%…
Animats · 2014-12-22
https://github.com/rust-lang/rust/wiki/Rust-for-CXX-programmers
There's also
http://featherweightmusings.blogspot.com/2014/04/rust-for-c-programmer…
which is longer, but not as useful.
Rust has roughly the feature set and memory model of C++. The difference is that in Rust, the safety issues C++ sweeps under the rug are addressed. As I point out occasionally, the three big problems in C/C++ are "who owns it", "how big it it", and "who locks it". C fails to deal with any of those issues. C++ sometimes deals with "how big is it". Rust deals with all of them.
In Rust you have to deal with most of the memory management headaches you have in C++, but they're detected at compile time, not after the product ships.