Why use C other than legacy codebase support?

It has all the features modern C and C++ devs try to enforce like const by default, type deduction, package management instead of #include, etc

Attached: serveimage.jpg (1000x455, 90.71K)

Other urls found in this thread:

benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest.svg
doc.rust-lang.org/std/iter/index.html
zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues/
cvedetails.com/vulnerability-search.php?f=1&vendor=&product=&cveid=&msid=&bidno=&cweid=&cvssscoremin=&cvssscoremax=&psy=&psm=&pey=&pem=&usy=&usm=&uey=&uem=&opmemc=1&opov=1
cvedetails.com/product/47/?q=Linux Kernel
boards.4channel.org/g/
imperial.ac.uk/pls/portallive/docs/1/18619746.PDF
doc.rust-lang.org/std/any/
open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
forge.rust-lang.org/platform-support.html
twitter.com/SFWRedditVideos

The userbase isn't full of insufferable hipster faggots like you.

Attached: 1531606549414.jpg (825x959, 69.29K)

Finally a BASED thread

Attached: steve klabnik smug.jpg (460x460, 28.24K)

only niggers think rust will replace C aka you. rust is higher level then C. C is for general low level programming. C is not equivalent to rust and you are a nigger for thinking it is. die you retard. The real comparison is between C++ and rust but thats a whole entire different argument. rust fags that compare C to Rust are one of the worst humans being on this site. worst then the people who shill windows.

C is high level though.

why do you think its high level? I define low level as close to the assembly. you can actually see what part of the c code corresponds to part of the assembly you compiled too. whats your niggerlicious defintion. you know in most assembly classes in uni they have you translate C code to assembly at least early on. because its really easy to do. this becomes evident with higher level languages like C++ and rust.

Unless of course you forget to terminate your source files with a line feed or you trigger any other of the infinite number of UBs.

Do you know what undefined behavior is? They arent automatically bad right. Its just means what happened isnt defined in the C specification. First off it allows greater optimization. An example would be if i tried to access something out of bounds. This is undefined behaviour. If it wasnt youd have to have some sort of bounds checking to meet c spec slowing it down. Another example would be dividing by zero this is also undefined behaviour. what happens when you divide by zero depends on so much shit. Such as your architecture. Undefined Behaivour isnt the horrible and scary thing you rust fags make it out to be.

lol
LOL
benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest.svg
LOOOOOOL
doc.rust-lang.org/std/iter/index.html
braindamage
zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues/
cvedetails.com/vulnerability-search.php?f=1&vendor=&product=&cveid=&msid=&bidno=&cweid=&cvssscoremin=&cvssscoremax=&psy=&psm=&pey=&pem=&usy=&usm=&uey=&uem=&opmemc=1&opov=1

...

That's why I posted 2 links.
Here, have another: cvedetails.com/product/47/?q=Linux Kernel

C isn't close to assembly. One statement in C can translate into a dozen statements in assembly.

i agree that rust is absolute cancer, but i dont think you know what you are talking about

Proponents of hand hold-y "safe" languages are soyified man-children, raised by women to behave like women, averse to all risk and accountability.

epic
boards.4channel.org/g/

It used to be considered high level back when most code which today is written in C or C++ was routinely written in assembly. Nowadays when a huge amount of code is written in languages like Java, C#, Python, or Javascript, and use of assembly is very niche, C is by all means a low-level language.

But it isn't. It is just lower level than languages like Java, C#, Python, or Javascript.

There's no reason, everything should be written in Javascript. God I hate using an OS that isn't made with Javascript, it makes me feel dirty.

Attached: 0b6a7f4ee0419bfeceb692ba29c81bde9b5162b2c1bcdbdc3b05fca4aea84753.png (497x392, 321.14K)

C is too hard to write a standard-complicant compiler for. Terry Davis said fuck that shit, HolyC is different and fuck standard C, it's a mess. And he's right, you know. Look at the bloated ass compilers that exist today. Fuck that, my money's on Forth and asm, because I'm going towards low-fi and small, unbloated, unbotnet.

...

Meh, you're just a pleb with no vision or self-reliance or inspiration. You hate to see people leave the boiling pot that is modern software clownworld. I don't gaf though. I already left x86 for ARM (the ones that don't speculate) and left Linux over 10 years ago for OpenBSD. In another 10 years I'll be somewhere altogether different. TBQH, I fucking hate everything about the modern computer industry, so it's not like I have any incentive to keep doing the same shit as everyone else.

It's just people have this retarded idea that for some reasons languages should be a separate thing from the compilers / interpreters while in reality compiler = language.

Peak UNIX braindamage.
If a language is properly specified (C/C++ is _not_ properly specified) then having multiple compilers is no problem.

Like there ever was a single case of multiple compilers (or things in general) being a good thing.

spotted the LARPer

...

Where's your unbloated C11 compiler, cunt?

C/C++ is shit braindamage. Why would I write a compiler for that?

...

keep going

Keeping going is shit braindamage. Why would I keep going?

hahaha epic bro
another one please

C is not low level enough to address specific ISA instructions and it's not high level for syntactically correct and enforced abstractions. It's a trash language that's only used in legacy code or projects too expensive to rewrite.

Common Lisp, having independent compilers actually unveiled problems with the spec. In other languages, these remain uncaught (the committee is STILL trying to fix C) or people are just bug-for-bug compatible with the "reference implementation" (an awful term).

Ah yes, getting rid of a negligible performance penalty for the bargain price of introducing the vast majority of security exploits, what a deal. Languages which can disable security features locally when necessary have existed for decades. Rust is just one of many.
If current software is anything to go by, people can't even remotely write correct software yet. Even then defense in depth and security margins are things in engineering for a reason. It's only software \fiftyquotes{engineering} that's the retarded gluehuffing child in the corner.

C and C++ are standards. They will be around forever. They have been around forever. Rust is one meme language competing against thousands of meme languages who all have stupid gimmicks.

You can see their industry share drop laughably with the years.

You might be going Cnile. Please consult with a doctor. I'm worried for (You).

you narrowly avoided writing C/C++, but you committed the error anyway. Rust replacing C++ is reasonable. Rust replacing C is absurd.
C is more than a set of features. It is also a set of non-features, that when you approach a C codebase you can expect to not find.
it is not just languages without a feature that can require discipline. Languages with lots of features also require discipline -- to use those features sparingly, or well (which might be the same thing). When you approach a Common Lisp codebase you have to hope there's not a lot of complete macro bullshit that's just the author jacking himself off.

C has undefined behavior because its standard is poorly written. Forth has the same problem but, due to a better standard, people understand that their Forth systems will document the deterministic behavior demanded by a particular architecture. This lack of nasal demons comes at no loss of speed.

Cetards love to make up their own fake history and then pretend it's what actually happened. I have no idea why this group in particular is so prone to it, but it really sets them apart from other groups.

To expand on the C standard part a bit: The C standard is specifically written so that the "obvious" implementation is conforming. This is why the pointer and integer semantics are completely ridiculous from an abstract point of view. If you actually try to implement the language as specified but with safety guarantees and useful features, you will quickly find yourself writing an emulation layer; the language is not designed to support it.

Which makes the current mindset by compiler vendors that people totally write in abstract C and any undefined behavior is a free ticket to lala-land even more ridiculous. C doesn't leave signed overflow behavior undefined so that some dumb microoptimization in loops can happen; it leaves it undefined because on different hardware there are different defaults and that way the implementation can choose whatever is more natural. But try to get this into a cetard's head. He read somewhere that people use undefined overflow for optimization, so clearly, CLEARLY, the great Unix gods in their infinite wisdom anticipated this and left it undefined for precisely that reason! The same people likely also believe that C arrays are zero-indexed for runtime speed, and that /sbin is for superuser binaries.

>benchmarksgame-team.pages.debian.net/benchmarksgame/download/fastest.svg
most benchmarks i have seen C has been faster.
bounds checking is slow
imperial.ac.uk/pls/portallive/docs/1/18619746.PDF
it is you fucking retard. in the literal c stadard it describes divide by zero as "unedefined" you are one of the most brain brain dead nigger monkey person i have ever read a message from
okay?

i hate this website

based


based


citation needed
That's why you don't do it (after having proven that all accesses are in bounds). This won't be a problem for the parts that are performance critical.
Protip: Good abstractions, like Iterators, help you do this.
I wasn't claiming otherwise. I only called it braindamaged.
No. They are pervasive. Just like UNIX braindamage.
see pic

Attached: back to reddit.png (991x1426, 1.69M)

Isn't C so pervasive because Bell Labs wasn't able to patent it, so it got dumped on the universities?


Can you start referring to them as Cmonkeys? or Ccows? or Canemones?

I think one of the reasons that rust specifically won't beat C is because their developer-base is so totally oblivious to the underlying computer architecture. C was written while it was still common to write assembly by hand, so the language is at its core an easier way of writing assembler instructions. You can mentally map a C program to a vauge understanding of the underlying assembly, and idiomatic C is idiomatic assembler.
Rust, on the other hand, is totally unintuitive when thought of on the assembly level. Things like objects, methods and borrow checking are abstractions that make it hard to understand what's being done where. You now have to mentally add the assembly code for the borrow checker, type safety checks and array bounds checks. Some rust devs may be able to handle that (and those are the people writing speedtests for rust), but most aren't able to map that and will probably write slower code.

Attached: 1557505733401.png (600x450, 385.76K)

You don't - you write algorithmically quick and constructively correct code and the compiler optimises it down to better assembly than anyone can write. In fact, every benchmark where rust beats C/C++ is because people wrongly assumed anything about the computer running the code.

This is a myth. C lacks parallelism, vectoring and all kinds of other hardware features such as automatic overflow checking el oh el. It's primitive, not close to the hardware.

But what about the actual safety critical language used in satellites, rockets, and airplanes?

Attached: Ada_Mascot_with_slogan.png (1553x1685, 195.68K)

Largely replaced by C and a subset of C++ with modern logic analyzers like tla+

Your computer may have bounds checking and shit now, but those aren't standard. Say I'm using a number I know won't go over bounds, and I'm adding to it. If C checked that number anyway, that might be a cheap operation on your machine, but on someone else's it may be an expensive one. I'd rather have my compiler optimize code I did write than add code I didn't.


You need to know about the computer architecture for lots of efficient algorithms and data structures. How would hopscotch hashing work if I didn't know a PC's word size?

Hashing functions are not formally considered in computer science as their worst case scenario is collision at every call. Despite this, you can simply use your favourite language's sizeof() instead.

Holy shit you're retarded. Rusts "objects" are structs, enums, and unions. C has both structs and unions. Rusts enums are just tagged unions.
If you find that hard to understand you might be going cnile.
?????????????????????????
Holy shit the braindamage.
Borrow checking and type checking happens at compile time. There is no assembly being generated.
Of course it's a fucking weeb. Stop LARPing and learn a programming language.


Holy shit, just stop.
It doesn't. You use abstractions that help the compiler optimize the bounds checks away.


Another retard joins the conversation.

Yes they are. There is exactly one joke of a CPU that doesn't have automatic overflow checking and that's RISC-V, which is a bad meme that can go fuck itself with a cactus for all I care. Your CPU already does these checks, your C code just ignores them like a retard.

If you're writing non-portable code on purpose, you're a bad programmer and need to step away from non-assembly languages.

Protip: There exists no portable C program.

Why do you do this to yourself and those around you?
Tell that to , who had just said that's untrue and who I was speaking to in the first place.
See doc.rust-lang.org/std/any/
newfag detected

Attached: 9decisions.png (500x667, 219.33K)

Whether Rust uses hardware features is unrelated to whether they exist, mongoloid. Also stop confusing overflow checking and bounds checking already, Jesus.

based


>See doc.rust-lang.org/std/any/
What' your point?
Just kill yourself already. Nobody likes weebs.


based

None of yours, of course. If your code follows the standard and the compiler supports the platform, your program will run perfeclty.

Easier said than done when you need a law degree to understand the standard.

You don't see electrical engineers whining about chinese PCB quality or scientists - about the laws of thermodynamics. They just sit down and do a good job.

Wtf is that even supposed to be?!

...

Show me your CV.

If you show me a strictly conforming C program you've written I'll show you my CV.

No I'm just a larper, I want to learn from you. Show me your github as well.

Start by reading the C language standard: open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

Not that bullshit, I want to see yours. Man up or give up.

Man up or give up.

You first, retard. Put your money where your big mouth is.

But I asked you first?
Here is my CV btw:
AnonymousEducation: Technical University of [redacted] Master of Science, Computer Science 2016-2018 Bachelor of Science, Major in Computer Science, Minor in Computational linguistics 2013-2016Experience: [redacted]
Now show me your strictly conforming C program.

Pffft. I knew you'd back off and give up. Stupid larper. Then it's settled - let this be a lesson to you, kid - never mouth off to strangers online.

LARPer

Okay, in your style:
int main(void){return 0;}

I love owning spergs like you online.

Nice LARP, but you never wrote anything like that.


"People" with that much unix braindamage should just be put out of their misery.


At last I see the light, C is truly the best language for writing NOP programs. How will C's bright future look like? Maybe in five years we will have a conforming hello world? Maybe in ten years we will have, though this is dreaming at this point, a conforming fizzbuzz? I can't wait! I can't wait!

based

don't come back until it runs on non-pozzed platforms

Attached: 2019-07-11_00:01:57_418x654.png (418x654, 21.12K)

forge.rust-lang.org/platform-support.html

...