Why C Isn't a Programming Language Any More - Slashdot
Why C Isn't a Programming Language Any More - Slashdot
Sponsored Content ?
Stories Firehose " All Popular Polls Software Apparel284
Topics: Devices Build Entertainment Technology Open Source Science YRO Login or
Submit Search #
Follow us: %&'( )
Sign up
$ Follow Slashdot stories on Twitter
Nickname:
Password:
Public Terminal
Log In Forgot your password?
Close
! Posted by EditorDavid on Sunday April 03, 2022 @02:55PM from the C-no-evil dept.
The C programming language has many problems. But
now the Registers notes that "Aria Beingessner, a member
of the teams that implemented both Rust and Swift, has an
interesting take... That C isn't a programming language
anymore...."
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 1 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
done via Foreign Function Interfaces (FFIs).... In other Play Now In Your Browser
words, even if you never write any code in C, you have to
Hero Wars
handle C variables, match C data structures and layouts,
link to C functions by name with their symbols....
The real problem is that C was never designed or intended Remember Her? Take a Deep Breath Before
to be an Interface Definition Language, and it isn't very Seeing How She Looks Like Now
good at it. Half Eddie
Sound Travels Much Slower on Mars, Researchers Find How Meghan Markle Looks Without Makeup
'Programming Is Hard' Considered Harmful Is Tough To Handle
5minstory.com
Open Source Developer Intentionally Corrupts
His Own Widely-Used Libraries by Taboola
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 3 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
31 Full 284
Search 69 Abbreviated
Comments Log 0 Hidden
In/Create an Account
Comments Filter:
/Sea
All
Score:
5Insightful
4Informative
3Interesting
2Funny
1The Fine Print: The following comments are owned by whoever
0posted them. We are not responsible for them in any way.
›
-1
That's
184 More what
Login
I call BS (Score:5, Insightful)
by Gabest ( 852807 ) on Sunday April 03, 2022
@02:59PM (#62413586)
Nickname:
Every time I write speed critial code in C I check the
Password:asm output and it is totally possible to fine
generated
tune it to get
Public you want in low level.
Terminal
Share
Log In Forgot your password?
twitter
Close facebook
Close
Re: (Score:3, Insightful)
by rlwinm ( 6158720 )
^^^ This is a sign of a seasoned pro. Where it matters
(which is often less than 1% of the code) I know all the
seasoned guys check the output of the compiler both
for sanity and correctness as well as to guide the
compiler better.
Re: (Score:3)
by narcc ( 412956 )
You know, for years the common "wisdom" on
Slashdot has been that compilers are magic and that
mere humans can't possibly best them. They tell you
not to worry about how wretchedly inefficient your
code is because the compiler will magically optimize it.
They'll also tell you that processing power and memory
are so cheap that it's not worth your time to even
attempt to write more efficient code. Then they use
python, as if to prove their point that performance
doesn't matter any more, and then they wonder
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 4 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:3)
by Darinbob ( 1142669 )
Absolutely stupid, I agree. Doesn't sound like a
programmer wrote this to be honest, more like a
journalist who saw a few books. Of course it's a
language, not a protocol. And no, it's integer hierarchy
isn't broken. And it has standards, it's not a mass of
incompatible compilers. Yes, it interfaces to an OS, but
it is also used for applications.
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 5 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Re: (Score:3)
by Darinbob ( 1142669 )
A language let's you do stuff, a sequence of
instructions. A protocol may be a method to
communicate, but it's not the contents of that
communication. Ie, English is a protocol, but the
instructions on how to cook beef Wellington in an
English cookbook is a program.
twitter facebook
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 6 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by Antique Geekmeister ( 740220 )
My education started with chemistry, math, and
physics.
Re: (Score:3)
by K. S. Kyosuke ( 729550 )
You only learned to read and write *after* blowing up
your chem lab?
Re: (Score:2)
by jmccue ( 834797 )
Wow, you had electrons ? I had to first catch electrons
from Lighting. Harder than you think
Re: (Score:3)
by K. S. Kyosuke ( 729550 )
Electrons? I would have killed to have been able to
start with electrons.
It gets worse...it seems that the education of some
desktop application developers *ends* with Electron.
Re: (Score:2)
by evil_aaronm ( 671521 )
My own CS professor thought assembly was for
ignorant children and insisted we start with transistors
and learn about all the work that has to be done before
you can have luxuries like mov, jmp and add.
That would've been a cool approach; and probably an
easier one for my C language prof, who had a
background in electronics engineering, rather than
straight compsci. As it was, C was somewhat new to
him and college level curricula - my age is showing
itself, here. Because I'd already spent some time
playing with Turbo C, I was more familiar with C than
he was, and actually helped him present the material in
some cases.
Re: (Score:2)
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 7 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
by blahplusplus ( 757119 )
That would've been a cool approach
Someone has already done it for those interested. Some
professors made this for everyone:
https://www.nand2tetris.org/ [nand2tetris.org]
Re: (Score:2)
by Cbs228 ( 596164 )
Her problem appears to be that she'd like to use C
librairies someone has generously shared with her, but
she's astonished that nobody has written a Rust
interface for her.
Rust has bindgen [crates.io] for this purpose. It uses
LLVM to dissect C headers and produce an (unsafe)
Rust wrapper for them. The programmer is still
responsible for checking over it and writing a higher-
level, "safe" Rust API if needed, but bindgen does most
of the drudge work.
an i32 (32-bit int for Rust people; I assume it's little
endian?).
An i32 has native endianness by default. You can
convert it to/from any endianness you want, but
arithmetic still needs to happen natively. Rust arguably
has better behavior [github.com] for arithmetic
overflow than C.
I frequently tell people that "C is th
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 8 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 9 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by JaredOfEuropa ( 526365 )
it is "close to the metal."
This, in a nutshell.
Re: (Score:2)
by Maury Markowitz ( 452832 )
> Not C's fault.
Well, it is to the extent that its popularity makes it the
one people copy.
You don't see a lot of people "wrap{ping} themselves
in a grotesque simulacra of COBOL's skin", for
instance.
Re: (Score:3)
by Bu11etmagnet ( 1071376 )
"When I use a word,' Humpty Dumpty said in rather a
scornful tone, 'it means just what I choose it to mean --
neither more nor less.'
'The question is,' said Alice, 'whether you can make
words mean so many different things.'
'The question is,' said Humpty Dumpty, 'which is to be
master -- that's all."
â Lewis Carroll, Through the Looking Glass
Re: (Score:2)
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 10 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
by shaitand ( 626655 )
BS and not BS. They are right, C is not and never was
supposed to be a low level language. C is a high level
language. ASM is a low level language and NEITHER
is machine code. The code these guys are writing is just
so far from the known universe that C looks close to
the metal in comparison.
Re: (Score:2)
by RightSaidFred99 ( 874576 )
Rubbish. One of the reasons C and C++ are still used is
because they allow you to easily, deterministically
(usually) know exactly what the compiler will do and
what the underlying code will look like, what the
structures you define will look like, stack usage, all that
shit.
If C is a high level, you are just turning it to 11. "Guise,
C is an 8, so C# is a 10 and RandoLangOfTheWeek is a
14!"
C is a low level language compared to almost every
other language in even semi-popular use.
Re: (Score:2)
by Catvid-22 ( 9314307 )
More like CS [github.io] than BS: "I am Aria
Beingessner, Gankra, and a cat."
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 11 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by znrt ( 2424692 )
i don't think this is BS. BS has usually an agenda, some
message. this is just nonsense, meaningless banter. it's
weird to read this from people you'd expect to be
intelligent.
oh well, i guess every sector has to have "influencers"
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 12 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:3)
by solidraven ( 1633185 )
That's more due to layer upon layer of abstraction than
anything else. You can't invoke twenty libraries without
penalizing your code somehow.
Add in the fact that many paradigms also hide what's
actually going on and require absurd data transfer
strategies to fit within that paradigm (I'm talking about
you Object Oriented Programming), and you got a
massive problem - and then I'm not even getting into
the entire design pattern nightmare. Basically, common
sense problem solving and highly skilled programmer
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 13 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by ukoda ( 537183 )
Yes, pure garbage. Force them to write some machine
code for a few years and see if they still want to claim
C is not a programming language.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 14 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Parent Share
twitter facebook
Re: (Score:2)
by shanen ( 462549 )
What? Someone else still remembers Pascal? I just
tried to use it for a joke...
twitter facebook
Re: (Score:2)
by alvinrod ( 889928 )
C also made expressing ideas a good mixture of
concise while still remaining intuitive. There's a good
reason that most languages used today have borrowed
either in part or even quite heavily from it. Maybe there
are better ways that things can be done, but there are a
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 15 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
twitter facebook
Re: (Score:2)
by AlanObject ( 3603453 )
If I had mod points I would vote that up.
Idiots debating idiocy with other Idiots. I am supposed
to be impressed somehow with their sweeping vision of
What Is Wrong when my life is all about meeting some
contract deadline. That does not change no matter what
programming language I am using.
Re: (Score:2)
by Aighearach ( 97333 )
line of crap that I have ever read.
Luckily you don't often read about what Rust
developers say, then. LOL
This is par level stupid.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 16 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by Catvid-22 ( 9314307 )
Yes. Take this for example: "My problem is that C was
elevated to a role of prestige and power, its reign so
absolute and eternal that it has completely distorted the
way we speak to each other."
Reminds me of the English language though, as spoken
by people outside England. Many dialects are still quite
understandable.
Re: (Score:2)
by ceoyoyo ( 59147 )
That's not written to get clicks. That's written to get
grant money from humanities funding agencies.
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 17 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by ceoyoyo ( 59147 )
Python is a great language. One of it's killer features is
how easy it is to incorporate C code.
twitter facebook
Re: (Score:2)
by ceoyoyo ( 59147 )
Oh damn! I see how well your C/Rust/Java program
works when I delete a curly brace! Wait a minute....
I've never seen the logic in that argument. A delimiter
is a delimiter. I thought curly braces were a step down
from good old begin/end or block/end block, but
whatever. It's not hard to write a preprocessor to change
your delimiter of choice into whatever the
compiler/interpreter wants.
Now, if you're one of those masochists who things an
appropriate delimiter is a specific length string of
identical charact
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 18 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Parent Share
twitter facebook
Re: (Score:3)
by evil_aaronm ( 671521 )
At least with a missing curly brace, or bracket, you can
track down where it's most likely to go without too
much trouble. Good luck trying to figure out where a
missing tab should go.
Re: (Score:3)
by Junta ( 36770 )
As one who writes a lot of Python code, it's more
workable than people pretend, but it *is* true that if
any sort of text processing step is going to mess with
anything, it's going to be whitespace, either deleting or
re-aligning. This usually isn't a problem when working
with programming editors, but sometimes referencing
code from instant messaging or a web forum makes
python impossible to parse as the respective software
'helps' reflow the whitespace one way or another.
twitter facebook
Re: (Score:3)
by feranick ( 858651 )
This is a bit unfair, as Python isn't really where the
criticism comes from. Anybody with same barebone
knowledge would know that Python isn't designed to be
a low-level language and frankly it doesn't even
pretend to. Heck, it relies on C for speed. (Nobody in
their sane mind would, say, propose to write kernel
code in Python). I think the grips come from languages
that do pretend to be as good as C (Rust, primarily). I
won't discuss the merits of their claim, but just say that
Python isn't the one you sho
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 19 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
To steal from the first Google reach result: "C has been
standardized by ANSI since 1989 (ANSI C) and by the
International Organization for Standardization (ISO)."
Yea, the integer size thing can catch newbies but you
soon learn to include stdint.h and if you are an
embedded programmer dealing with real world
hardware then things like uint8_t and uint32_t make it
pretty clear what the hardware supports.
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 20 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by phantomfive ( 622387 )
It's also the first time in my life I've heard of a "C
integer hierarchy." I'm not sure how you can figure out
which type of integer is "above" or "below" another
integer.
Re: (Score:2)
by hawk ( 1151 )
apparently, it's about "endian privilege" . . .
[ok, I'll crawl back under my rock]
hawk
Hilarious. (Score:2)
by Gravis Zero ( 934156 )
"My problem is that C was elevated to a role of prestige
and power, its reign so absolute and eternal that it has
completely distorted the way we speak to each other.
Rust and Swift cannot simply speak their native and
comfortable tongues – they must instead wrap
themselves in a grotesque simulacra of C's skin and
make their flesh undulate in the same ways it does."
What an absolute drama queen.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 21 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
at those addresses.
Say what you will about pipelines and RISC and
anything else, that's how any CPU operates at a high
level and that's how any hardware one would like to
control with a computer operates.
This is already an abstraction since it's talking in math
about digital circuits composed of transistors and
diodes and semiconductor junctions. There are other
abstractions that talk about computation in terms of
abstract datatypes and functions and pictures and
whatever, but as the summary says, it all has to
translate to numbers stored at memory addresses in the
end.
This rant strikes me as if it came from a moron or a
grifter. Since the ranter designs programming
languages, moron doesn't seem to fit.
File under "meaningless trash talk" and move on.
Share
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 22 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
ago.
Re: (Score:3)
by phantomfive ( 622387 )
Only 30 years ago?
Re: (Score:2)
by redelm ( 54142 )
Well, mean things were said about FORTRAN for
much longer (since 1975 at least, Edsger Dijkstra) but
they weren't very coherant.
Re: (Score:2)
by phantomfive ( 622387 )
I would argue that these criticisms aren't particularly
coherent, either.
twitter facebook
Re: (Score:2)
by Maury Markowitz ( 452832 )
"Actually, C has a tremendously successful history of
being able to cross-compile to numerous architectures."
+1
And it's pretty much the only language that offers
interop with the language you don't use for speed. You
can include a C library in Java, Rust, Kotlin, Swift,
Obj-C *and practically every other language used
anywhere*. When there is some form of interop
between two languages on that list, it is *invariably
using a C-style wrapper*.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 23 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Re: (Score:2)
by phantomfive ( 622387 )
Sure it would have been nice if K&R realized 16 and
32 bit values were going to be too small and that
pinning down the data size model was going to matter
but you know what? They weren't omniscient. And if
they had, Unix never would have worked and the
whole problem would have resolved itself.
It's also a problem that has been solved by stdint.h
Re: (Score:2)
by smoot123 ( 1027084 )
It's also a problem that has been solved by stdint.h
Almost mentioned this. I think that's a pretty reasonable
solution to the int size issue.
I'm sure Rust calling C has all sorts of other problems,
like strings. I don't know what a Rust string or array
looks like but a cup of coffee says it's more
complicated than a char *.
Re: (Score:2)
by parityshrimp ( 6342140 )
In other words "Dealing with legacy code pollutes my
pure and beautiful environment."
From how some people approach this at my current
workplace (I'm in hardware, thankfully), it seems like
there's nothing worse than someone else's code.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 24 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Re: (Score:2)
by phantomfive ( 622387 )
"int" is supposed to be the type of integer that runs
most "naturally" on the processor you are using.
That is, if you want to write code that will run easily on
a 16 bit machine, a 32 bit machine, and a 64 bit
machine, then you use "int" and you don't assume its
range.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 25 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by dskoll ( 99328 )
There were computers with 36-bit words, you know. C
was designed (for better or worse) to be easy to
implement on a wide variety of computer architectures.
Nowadays, almost all digital computers have words
sizes that are a power-of-two bits, and <stdint.h>
solves the problem nicely without constraining the
actual compiler implementation.
Re: (Score:2)
by fahrbot-bot ( 874524 )
There were computers with 36-bit words, ...
Many CDC systems were 48-bit and, later, 60-bit. I was
a sysadmin for a few at NASA Langley in the late 80s /
early 90s, along with a Cray-2 and YMP -- the Crays
ran a version of System V Unix (w/BSD features)
called UNICOS.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 26 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:2)
by phantomfive ( 622387 )
People keep saying this kind of thing, but they haven't
been able to demonstrate it practically in any way.
Build a machine or a platform that is faster than C, but
so far that hasn't happened.
We can look at graphics cards as an illustrative
example, but it turns out they are faster only in specific
cases, and not in others. Furthermore, graphics cards
are interfaced through C (then Python uses C to
interface with them).
tl;dr C is faster in practice, despite some theoretical
reasons other languages might be
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 27 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Anybody (Score:2)
by pele ( 151312 )
Bothered reading "About me" for this..."person"? Says
it all really...
twitter facebook
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 28 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
twitter facebook
Re: (Score:3)
by Chris Mattern ( 191822 )
And then we could build a C++ compiler and also Java
Standard Edition on top of it. It would process GOAT
SE .CXX files.
Re: (Score:2)
by theendlessnow ( 516149 ) *
If I were to implement a new version of C, I would call
it "Goat C" for obvious reasons.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 29 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Re: (Score:2)
by shanen ( 462549 )
Deserves a Funny mod. But what about Goat C Plus?
Jennifer Grey Is
Probably The Most
Beautiful 61 Year Old
Woman (News Sharper)
Istanbul'da saç
ekiminin maliyeti sizi
şaşırtabilir
(saç ekimi | arama reklamları)
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 30 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
Trademarks property of their respective owners. Comments owned by the poster. Copyright © 2022
SlashdotMedia. All Rights Reserved.
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 31 of 32
Why C Isn't a Programming Language Any More - Slashdot 20/04/2022, 14(24
×
Close
Slashdot
Working...
https://developers.slashdot.org/story/22/04/03/1850217/why-c-isnt-a-programming-language-any-more Page 32 of 32