Settings

Theme

Write once, run anywhere: The promise C couldn't keep

ryansepassi.com

2 points by mikenew a month ago · 4 comments

Reader

taylodl a month ago

C couldn't keep that promise because C never made that promise! C had system-dependent implementations from the start. You were never promised that source code targeting execution on one platform would work as expected if targeted to another platform. Making truly platform-independent C code is arduous work requiring a lot of #ifdef/#ifndef and testing.

theamk a month ago

As author correctly says, C succeeded because "its abstractions align with how processors actually work [...] When you write x = y + z, there's no hidden complexity.".

And then they propose an async runtime with tons of complexity... "a state machine that runs on Linux via io_uring, Windows via IOCP, browsers via WebAssembly," - that's mountains of runtime code to present a model that is nowhere close to how programs actually work.

Now, there is nothing wrong with this in general, high-level languages are very useful. But then why try to tie this to C? It is yet another async-based language.

stefanos82 a month ago

Cosmopolitan C library would like to have a word with you then https://github.com/jart/cosmopolitan

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection