←back to thread

155 points samuell | 1 comments | | HN request time: 0s | source
Show context
nxobject ◴[] No.44747122[source]
If you've seen this before, it's worth looking at the 2025 roadmap – it's long-term work, a full safety story hasn't been quite figured out (TBD end 2025), and 0.1 is TBD end 2026. About the pace of Rust, although without the active forum that Rust had in its early days.

https://docs.carbon-lang.dev/docs/project/roadmap.html

What _is_ interesting is that I get the impression that Carbon is being workshopped with the C++ community, rather than the wider PLT community -- I worry that they won't benefit from the broader perspectives that'll help it avoid well-known warts elsewhere.

replies(5): >>44747312 #>>44748456 #>>44748942 #>>44749111 #>>44753122 #
IshKebab ◴[] No.44748456[source]
> being workshopped with the C++ community

Honestly seems like a dubious idea. The C++ community that remains are even more "just get good" than before. They still think UB all over the place is fine.

replies(2): >>44748873 #>>44751253 #
bla3 ◴[] No.44748873[source]
I think that might be true of the language committee, but there's presumably a huge crowd of people with existing c++ code bases that would like to have a different path forward than just hoping that the committee changes priorities.
replies(1): >>44749136 #
pjmlp ◴[] No.44749136[source]
That is what many of us have done moving into managed languages, with native libraries when required to do so.

The remaining people driving where the language goes have other priorities in mind like reflection.

The profiles that were supposed to be so much better than the Safe C++ proposal, none of them made it into C++26, and it remains to be seen if we ever will see a sensible preview implementation for C++29.

replies(1): >>44751208 #
tialaramex ◴[] No.44751208{3}[source]
C++ 26 doesn't have the technology, but it wouldn't matter anyway because what's crucial about Rust isn't the technology it's the culture.

If WG21 were handling Rust instead f64 would implement Ord, and people would just write unsafe blocks with no explanation in the implementation of supposedly "safe" functions. Rust's technology doesn't care but their culture does.

Beyond that though, the profiles idea is dead in the water because it doesn't deliver composition. Rust's safety composes. Jim's safe Activity crate, Sarah's safe Animals crate and Dave's safe Networking crate compose to let me work with a safe IPv6-capable juggling donkey even though Jim, Sarah and Save have never met and had no idea I would try that.

A hypothetical C++ 29 type safe Activity module, combined with a thread safe Animals module, and a resource leak safe Networking module doesn't even get you something that will definitely work, let alone deliver any particular safety.

replies(3): >>44752921 #>>44753011 #>>44753945 #
1. pjmlp ◴[] No.44753011{3}[source]
Yeah, that sums it all quite nicely, see contracts proposal as a good example of that.