you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 1 week ago* (last edited 1 week ago) (3 children)

This makes me wonder what we're the arguments against, is there a read about why NBs were opposed?

Edit: Found an answer by Harald Achitz in comments to the post, but that's a lot to read, it seems:

it's not just one paper, but rather a whole book. Thats the problem.

As an entry point, I recommend:

Procedural problems: P4381 (https://wg21.link/P4381)

Technical problems: P4334 (https://wg21.link/P4334)

Both papers reference plenty of other papers, so they provide a good starting point for getting an overview.

This blog series by Mateusz Pusz also provides an excellent overview of the topic: https://train-it.eu/blog/series/cpp26-contracts/

My personal favorite topics, the problems for binary package management and the growing number of implementation-defined aspects introduced by contracts are actually not covered exhaustively by any of these sources. (imho) The response to the technical concerns about build systems and package management was essentially: Nothing new here. The situation is already a mess, so we're just adding more mess. Literally!

  • source
  • parent
  • hideshow 3 child comments
  • [–] -2 points 1 week ago (1 child)

    p4334

    The P2900 contracts and extensions aim to change the nature of C++ and are an existential threat to C++, adding complexity and bloat (~56 pages in the draft standard for an incomplete version), potential overheads, and novel opportunities for errors without addressing the current community and regulatory body demands for guarantees (e.g., https://docbox.etsi.org/CYBER/CYBER/Open/ETSI_TS_104_198_DRAFT.zip presents C++ as providing no memory safety guarantees).

    (emphasis mine)

    Honestly I think this is by far the largest mistake that has led to the current C++ situation: listening to things like the corporate Rust party line and the Rust community (who also have the unveiled interest of replacing GPL-like code and licenses with corporate-friendly ones that allows wealth to steal projects from skill, see eg.: Ubuntu), instead of examining what's on the field, what's on the mind, and accepting that the way C++ functions is intrinsically different than a language that only provides you the tools to let you do what the makers want to let you do. Because the truth is, C++ does provide memory safety guarantees, it just puts them at a lower level of mandate than the mandate that you can make the code do (mostly) what you want rather than only what the Party line allows.

    Not to mention, in this day and age anyone who surrenders to Trumpism and its associated modern Mc-Carthyism-like demands is ethically too compromised to be trustable in a field.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 week ago* (last edited 1 week ago)

    anyone who surrenders to Trumpism and its associated modern Mc-Carthyism-like demands

    I didn't catch this part, how is that related to the topic? Edit: or how it relates to the rest of your post

  • source
  • parent