3 ms·
Regarding three, I believe it's because C ultimately aims to be the most low-level, high-level abstraction of machine code. Stray too far from that, and you're
by klingonopera 7y ago
Regarding three, I believe it's because C ultimately aims to be the most low-level, high-level abstraction of machine code.
Stray too far from that, and you're already in C++ territory.
Except for multi-core/-threading support, I can't really think of anything that has changed in the past 25 years to add to this, in my opinion, essentially near-perfect language.
- fao_ 7y agoEvery single SYSV x64 ABI platform supports at least two uint64_t return values, which are the registers rdi and rax (Actually it might be rbx, I haven't done assembly for a while). So C is behind of the curve. C is considered to be "High level assembly", up until it isn't. To be honest, YASM and other assemblers do "high level assembly" much better. C is a simple, flexible low-level language. There is a feeling about C that I do not get from other languages, a specific way of thinking and a trend towards simplicity of feature (Ignoring GNU) that other languages (including rust) do not encourage or notice. It would be nice to see it importing some of the type semantics of ML and OCaml.