CobaltC – The Successor to C?

13 points by SilentLambda 3 hours ago on hackernews | 18 comments
reads more like a Wishlist rather than actual implementable specs.

nextaccountic | 2 hours ago

every spec is implementable

some just delegate more or less to the implementation

nextaccountic | 2 hours ago

that said, the borrowing part is incredibly short on details

i read trying to assess if it's more or less expressible than rust's current nll or the future polonius and honestly there's nothing there

ronsor | 2 hours ago

Before I read this, what is there about C3 [0] you don't like?

[0] https://c3-lang.org

jjtheblunt | an hour ago

C3 is an embarrassing mess regarding integer types and sizes, missing C99's stdint.h defs, for example.

strenholme | an hour ago

To clarify: C3 has fixed sized ints. Maybe the parent poster doesn’t like their names, but they are fixed sized, as follows:

  Name    Size    Signed
  bool    1       no
  ichar   8       yes
  char    8       no
  short   16      yes
  ushort  16      no
  int     32      yes
  uint    32      no
  long    64      yes
  ulong   64      no
  int128  128     yes
  uint128 128     no
Source: https://c3-lang.org/language-overview/types/#integer-types

yoklov | 2 hours ago

This is certainly copying off Rust's homework...

Fordec | 2 hours ago

Who copied off Haskells homework, so here we are.

irishcoffee | an hour ago

And cloudflare still somehow shipped a rust binary that crashed half the internet.

katdork | 49 minutes ago

and I've had Haskell binaries attempt to use infinite quantities of RAM (looking at an old version of dconf2nix here) and thus crash

pizlonator | an hour ago

This doesnt seems to be meaningfully different from Rust.

> does not require tracing garbage collection

Just call it garbage collection.

(Applies in two ways: if you think that garbage collection subsumes reference counting then this language doesn’t require garbage collection in the sense that it also doesn’t require reference counting; if you think that garbage collection does not subsume reference counting then there’s no point in saying three words when you can say two.)

ethin | an hour ago

This is so obviously written by ChatGPT from what I can tell. Not even an attempt to copyedit it unless I missed something.

thinkafter | an hour ago

I’m not sure about copy but the UI seems designed to look like an AI response which is certainly a choice

ternaryoperator | an hour ago

It's great to have it all spec'd out. However, I think specs like this suffer the same fate as war plans: they get modified quickly as soon as implementation begins. Nonetheless, it's good to have a clear idea of where you're headed. I just wouldn't call it "Final."

woodruffw | 54 minutes ago

Another one?

[OP] SilentLambda | 14 minutes ago

Yes, but remember is the last appendix to a book, and book provides the context for this appendix. So yes, in that sense, it's just another one attempting to address the memory-safety issues of C. At least this one uses C like syntax and doesn't require C programmers to learn some alien syntax. Of course, this is just a spec, Rust is well and truly live in the environment. The book is more interesting than the spec.

Gualdrapo | 14 minutes ago

Odin's turn to be "the sucessor of C" is due this month
Unsafe identifiers, prone to homoglyph attacks. No TR39 provisions. Worse than rust or Java. https://strawberry9.github.io/the-wrong-memory/Appendix_06.h...