Hacker News new | ask | show | jobs
by the_arcadian 1215 days ago
The reason people use systems programming languages is because they need to efficiently and effectively manage and manipulate memory. That's why C was created in the first place - to write the 100,000+ lines of code that would become Unix Version 4 in 1973. (Not bad for a two year old language.)

Which means that when you present me with a systems programming language that enforces an ownership concept that makes it much more difficult to write allocators or even doubly linked data structures, and then use that language's existence to justify adding the same restrictions into a version of C, "who asked for this?" might well be the least offensive response I can muster.

2 comments

C makes it difficult to write allocators and doubly linked lists too. It doesn’t yell at you when you make them, but they are difficult to write nonetheless, because we see that it’s easy to write incorrect code if you’re not very, very careful.
> The reason people use systems programming languages is because they need to efficiently and effectively manage and manipulate memory.

That's not true. Assembler and machine code predate C. And do the job much more effectively/efficiently.

For example Menuet OS an OS in pure assembly has like 2MiB and has stuff like GUI, graphics, etc. What Linux does in hundreds of MiB.

But they need to rewrite it for each hardware platform.