[flagged]
C isn't a programming language anymore (2022)
141–150 of 217 posts
Re: C isn't a programming language anymore (2022)
#142[flagged]
Re: C isn't a programming language anymore (2022)
#143The real protocol in action here is symbolic linking and hardware call ABIs.
You could always directly call Rust functions, but you'd have to know where to symbolically look for them and how to craft its parameters for example.
If this is well defined then its possible. If its poorly defined or implementation specific (c++) then yeah its a shit show that is not solvable.
Re: C isn't a programming language anymore (2022)
#144Earlier quoted context omitted.
> People just stopped caring about operating systems research and systems programming after ~2005. and so it was that after that date, all development of embedded systems kernel drivers digital audio workstations video editors codecs for audio and video anything that involved actually controlling non-computer hardware game engines came to a grinding halt, and no further work was done.
What I mean is all of those things are more of the same things we did since 90s. It is better and higher performing hardware but until Rust and Zig arrived, the most popular ways of designing system-level software stayed the same. RTOSes work the same as how they work in late 90s / early 00s. C ABI is still the majority of communication interface. Interacting with OS using system calls stayed the same. After virtual…
"Designing (New) C++ Hardware" - https://www.youtube.com/watch?v=86seb-iZCnI
And now with tiled architecture, Python JIT as well.
Re: C isn't a programming language anymore (2022)
#145Earlier quoted context omitted.
Arrays decaying to pointers is probably the biggest non-platform specific design oversight. As you said, it's easy to see where it came from, but it should've been fixed long ago.
> but it should've been fixed long ago. Is 27 years for you not long ago enough? That's more than a generation away and closer to the invention of the language than today.
https://www.nokia.com/bell-labs/about/dennis-m-ritchie/varar...
Re: C isn't a programming language anymore (2022)
#146Earlier quoted context omitted.
Ok you're still missing the point. This isn't about C being good or bad or suitable or unsuitable. It's about whether it's good that C has, through no deliberate set of choices, ended up embodying the interface that lets us build rust that can be called by go.
Yes, because C is, by virtue of its history and central role in the development of all mainstream operating systems, the lowest common denominator. Also, if I remember correctly, the first Rust and Go compilers were written in C.
Usually it helps to know why some decision was taken, it isn't always because of the technology alone.
Re: C isn't a programming language anymore (2022)
#147None of the alternatives have stability. What was exemplary & idiomatic rust pre-pandemic would be churlish & rejected now and the toolchain use would be different anyway. Carpenters, plumbers, masons & electricians work on houses 3-300 yrs old, navigate the range of legacy styles & tech they encounter, and predictably get good outcomes. Only C has, yet, given use that level of serviceability. C99, baby, why pay more…
Re: C isn't a programming language anymore (2022)
#148Earlier quoted context omitted.
> why C gets to be the foundation for how systems software is written. Is there an answer here more interesting than "it's what Unix and Windows were written in, so that's how programs talked to the OS, and once you have an interface, it's impossible to change"?
I'm not sure I agree with "impossible to change". It's 2026, to this date I cannot use standard library/api, to open a file with utf-8 filename without a null terminating string. When you want to talk to the OS you constantly face the need to had unnecessary overhead (allocation due to string convertion, strlen). The OS itself does not prevent anything from having those standard "no overhead" API. However, it's prett…
And then the gain is close to zero because most filenames are short enough that there is almost no gain.
Re: C isn't a programming language anymore (2022)
#149Earlier quoted context omitted.
What makes you say that?
Reduce is a Lisp library that's still in active use from 1968, making it older than C itself. We can point to GNU Emacs as an ancient and venerable self-contained Lisp tortoise with more wrinkles than are finitely enumerable, and is in fact a hosted Lisp operating system. Pulling it apart and working with it is admittedly a treat even if I loathe it as a text editor. Mezzano is a modern Lisp OS that you can play with…
A better example might be Guix, depending how “operating system” is defined.
Re: C isn't a programming language anymore (2022)
#150Earlier quoted context omitted.
The thing for me at least is that when I looked at Pascal, MODULA-2, Ada, if you had complex data structures which had to allocate and deallocate memory, then those language would not help at all. They would allow you to make pointer mistakes. Pascal and MODULA-2 were also very restrictive in various area (no generics). Ada is better in that respect, but Ada compilers were rare. In my opinion it is only Rust that off…
First of all C did not had any generics, so same playing field. C has a runtime, even if tiny. That is what calls into main(), handles floating point arithmetic when none is available, functions that run before and after main(), nowadays also does threading. Heap memory handling in Pascal, Modula-2, Ada, is much safer than C, first of all no need to do math to calculate the right size, arenas are available on the sta…
(I know quite well that C couldn't. Even a C++ vector may or may not, depending on which access method you use.)