News for hackers. Stuff that matters.
Re:Ask HN: Learn C++11 or Rust in 2022? by pjmlp on Tuesday May 03, 2022 @02:09AM (#31245228)
I know C++ since 1993, I am quite curious how pointer semantics have anything to do with RAII.
Re:Ask HN: Learn C++11 or Rust in 2022? by junon on Tuesday May 03, 2022 @06:04AM (#31246509)
Because smart pointers are still pointers under the hood. You're forgetting the time before you know what pointers were - people coming from higher level languages don't immediately grok the concept. By teaching them automatic memory management patterns like we use in C++ without teaching them why you need such things, they'll never fully understand the code they're writing.

It's like the "I know React but not JavaScript" crowd all over again.

Re:Ask HN: Learn C++11 or Rust in 2022? by pjmlp on Tuesday May 03, 2022 @06:22AM (#31246626)
If you think RAII is about smart pointers, you really don't understand it.

RAII is about resource management, regardless of where those resources live on.

Heap allocated, OS handles, indexes on a fixed sized buffer, network sockets, ...

Re:Ask HN: Learn C++11 or Rust in 2022? by junon on Wednesday May 04, 2022 @02:21PM (#31264022)
Yes, I'm aware, thanks. Lifetimes, ownership, etc. are all overlaps of RAII and associated concepts.

Again, what did being pedantic prove here? You clearly understood what I meant.

Re:Ask HN: Learn C++11 or Rust in 2022? by ncmncm on Tuesday May 03, 2022 @02:45AM (#31245427)
Yeah, doesn't make sense. Pointers are less useful in C++, because we have better things now.
Re:Ask HN: Learn C++11 or Rust in 2022? by junon on Tuesday May 03, 2022 @06:02AM (#31246499)
Of course we do. You still need to know how pointers work to use RAII effectively, though.
Re:Ask HN: Learn C++11 or Rust in 2022? by pjmlp on Tuesday May 03, 2022 @06:23AM (#31246635)
Not at all, because RAII is about constructors/destructors, and not at all about pointers.

Heap allocated data is one special case of OS resources that can be managed by constructor/destructor pairs.

Re:Ask HN: Learn C++11 or Rust in 2022? by junon on Wednesday May 04, 2022 @02:20PM (#31264013)
What did being pedantic prove here?
Re:Ask HN: Learn C++11 or Rust in 2022? by ncmncm on Thursday May 05, 2022 @05:22PM (#31278558)
The thread started with you insisting a C-level conception of pointers is essential to coding C++, which turns out to be false.

Learning C first is a very bad way to learn C++. One can pick up pointers later, and asm blocks after that.