News for hackers. Stuff that matters.
Re:Trying New Programming Languages Helped Me Grow as a Soft... by habibur on Sunday October 16, 2022 @08:52AM (#33223216)
Pointers. Nearer to the core. In assembly it's all pointers, pointers and pointers.

C having better support for pointers make it near to how the processor works, compared to other languages.

Re:Trying New Programming Languages Helped Me Grow as a Soft... by dunefox on Sunday October 16, 2022 @08:57AM (#33223258)
C is very far removed from the CPUs of the last few decades.
Re:Trying New Programming Languages Helped Me Grow as a Soft... by jstimpfle on Sunday October 16, 2022 @05:21PM (#33227297)
It's not that far from assembly languages, the nearest you can get to CPUs in terms of software.
Re:Trying New Programming Languages Helped Me Grow as a Soft... by dunefox on Monday October 17, 2022 @03:38AM (#33230754)
'Nearest' is still far away in this case.
Re:Trying New Programming Languages Helped Me Grow as a Soft... by hmfrh on Sunday October 16, 2022 @09:15AM (#33223378)
> C having better support for pointers make it near to how the processor works, compared to other languages.

Java is almost entirely pointers to heap allocations, yet I don't think anyone would argue that Java is close to how the processor works.

I also don't think that the C virtual machine is all that close to how machines actually work any more.

Re:Trying New Programming Languages Helped Me Grow as a Soft... by anthomtb on Sunday October 16, 2022 @11:33AM (#33224359)
C has a virtual machine? Do tell more.
Re:Trying New Programming Languages Helped Me Grow as a Soft... by hmfrh on Sunday October 16, 2022 @11:54AM (#33224570)
It appears to also be called the "abstract machine"[1].

C semantics do not work "directly on the hardware" but instead on an abstract machine that is then converted to the actual hardware.

It most often comes up when talking about undefined behavior and pointer behavior.

Some assorted reading, mostly in the context of Rust and C:

https://blog.regehr.org/archives/213

https://raphlinus.github.io/programming/rust/2018/08/17/unde...

https://www.ralfj.de/blog/2018/07/24/pointers-and-bytes.html

https://www.ralfj.de/blog/2017/06/06/MIR-semantics.html

[1]: https://stackoverflow.com/questions/53100198/what-is-the-pre...

Re:Trying New Programming Languages Helped Me Grow as a Soft... by habibur on Sunday October 16, 2022 @12:20PM (#33224797)
To be fair,

Assembly once worked directly on the hardware. On modern machines it doesn't.

Re:Trying New Programming Languages Helped Me Grow as a Soft... by whimsicalism on Sunday October 16, 2022 @02:17PM (#33225841)
I don't think it is fair to conflate the "abstract machine" of C with the virtual machine. There is no software virtualization at work when running C code, it is compiled directly to assembly.