←back to thread

218 points signa11 | 4 comments | | HN request time: 0s | source
Show context
pjmlp ◴[] No.43681194[source]
> The reason I believe C is and always will be important is that it stands in a class of its own as a mostly portable assembler language, offering similar levels of freedom.

When your computer is a PDP-11, otherwise it is a high level systems language like any other.

replies(7): >>43682173 #>>43682246 #>>43682554 #>>43682928 #>>43683332 #>>43683914 #>>43701871 #
1. codr7 ◴[] No.43683914[source]
Yeah, people keep repeating that like a broken record lately, it smells like Rust to me.

No one is claiming it was built for today's processors, just that it puts less obstacles between you and the hardware than almost any other language. Assembler and Forth being the two I'm familiar with.

replies(1): >>43689375 #
2. pjmlp ◴[] No.43689375[source]
Because people keep repeating the urban myth of portable assembler and being the very first systems programming language.

One of the very first systems programming languages was JOVIAL, from 1958. C's inventors were still finalising their studies.

replies(1): >>43699832 #
3. codr7 ◴[] No.43699832[source]
I don't know how to phrase this to reach through, but you're barking up the entirely wrong tree. It's not about the CPU, it's about the level of freedom afforded by the language; how close to hardware it allows you to go, how few hoops you have to jump trough to get there.

The other approach, taken by Rust (and to some degree C++), is to nail everything to the floor and force the programmer to express a solution in a specific format that's easier to verify and make guarantees about. Which is fine.

Both approaches have their appeal, which is best depends on context.

replies(1): >>43703816 #
4. pjmlp ◴[] No.43703816{3}[source]
Which is again nothing special about C, other languages offer similar capabilities, I have provided a list in a sibling comment.

Keep waiting for the examples where they can't do what ISO C allows for, and if the example uses compiler extensions to the ISO C, I also feel within the right to use extensions to those languages on the counter example.