News for hackers. Stuff that matters.
Re:Switching to C over 'Modern' Programming Languages by flohofwoe on Thursday April 13, 2023 @04:19AM (#35552502)
> when everyone was coding assembly..

This was before my time, but I think it's a common misconception (only true for operating system development). When C was created, there was already Lisp, Cobol, Fortran, Algol, Simula, BASIC... and SmallTalk and Prolog were just around the corner - and most of those are much higher level than C).

Re:Switching to C over 'Modern' Programming Languages by uranusjr on Thursday April 13, 2023 @04:53AM (#35552734)
I think parent knows. A more accurate description would be everyone of the intended audience was writing assembly. Yes there are other languages of higher levels, but C was not invented to help their users. And since they are also not really what Rust targets either, IMO it’s reasonable to shorten it to drop the qualifier in this context.
Re:Switching to C over 'Modern' Programming Languages by tourmalinetaco on Thursday April 13, 2023 @08:36AM (#35554439)
> since they are also not really what Rust targets either

Exactly this. This belief that Rust can and even will replace C is at best ignorant and at worst evangelical. In fact I’m convinced most Rust enthusiasts on HN are less involved in programming and more with politics.

While I’m all for mem-safe languages Rust is simply too abstract and undefined to work on any real embedded systems work. At most, it can work on the driver level, but even that code will need to be constantly redone as the language ages without any proper specifications.

Re:Switching to C over 'Modern' Programming Languages by pjmlp on Thursday April 13, 2023 @03:31PM (#35560931)
C was invented in the context of porting UNIX, while the world outside Bell Labs used something else, that is all there is to it.
Re:Switching to C over 'Modern' Programming Languages by jacquesm on Thursday April 13, 2023 @04:53AM (#35552739)
Sure, but none of those were for systems programming which is squarely the domain that C was aimed at, case in point: the first thing that C was used to write was UNIX (before then it was BCPL and this was iirc before C even had structs which made that a very tricky job, once structs were in place it got a lot easier). Probably Don Hopkins has more knowledge about this.
Re:Switching to C over 'Modern' Programming Languages by flohofwoe on Thursday April 13, 2023 @05:07AM (#35552847)
> before C even had structs which made that a very tricky job...

...interesting that you mention that, I think that functions and structs are the essential 'core abstraction tools' that get you to at least 80% of any higher level abstractions that were invented since then, and this is exactly the reason why C is still quite popular. Its feature set is just enough to be considered a high level language which enables abstractions, but not more (especially no fads and fashions that came and disappeared again).

Re:Switching to C over 'Modern' Programming Languages by pjmlp on Friday April 14, 2023 @04:58AM (#35567159)
C23 has lots of stuff into it, except improved safety.
Re:Switching to C over 'Modern' Programming Languages by pjmlp on Thursday April 13, 2023 @03:09PM (#35560558)
There were enough languages for systems programming outside Bell Labs, all the way back to 1958.

It is a urban myth that C was the first one, usually pushed by naturally UNIX folks.

JOVIAL, ESPOL, NEWP, PL/I, PL/S, PL.8, PL/M, Bliss, Mesa, Modula-2, VMS Basic, VMS Pascal,...