Anti-C thread

C is a disservice to intelligent programmers. It has almost 0 features that a modern and intelligent programmer uses to be productive. Since C is such a timesink, it's popularity is falling more than any other languages in the market.
C is dying and it should die ASAP. C programmers are actually retards in general. C is a small language to grasp, exactly the kind of shit that makes things retard friendly.
C has no advanced features like C++ does.

But as a newfag you are kinda in the right direction. C is for newbies. Think of it this way:
During ancient times, counting to 10 was a big deal and a person who could count to 10 was considered to be "wise".

Fast forward a few century counting to 10 is so trivial we teach this to toddlers. Now toddlers appreciate the vast "knowledge" of counting to 10 while matured brains are busy with modern technologies.

C is from stone age and the people who still preach it is like overgrown toddlers that can't learn advanced things. C is for lesser programmers.
C doesn't have delegates
C doesn't have resizable arrays
C doesn't have strings
C doesn't have string concatenation
C doesn't have namespaces
C doesn't have exception handling
C doesn't have closures in the standard
C doesn't have unit tests
C doesn't have Function overloading
C doesn't have memory safety of any kind
C doesn't prevent memory exploits and has no bounds and runtime checks
C doesn't support dynamic method loading/creating
C doesn't even have generics and templates
C doesn't have meta programming
C doesn't have mixins
C doesn't have higher order functions
C doesn't have contract programming
C doesn't have inner classes
C doesn't have function literals
C doesn't have array slicing
C has a very limited support for implicit parallelism
C doesn't even have string switches

C is a cancer that plagues the modern software industry

Other urls found in this thread:

github.com/stefanct/sglib
github.com/stefanct/sglib/blob/master/sglib.h
rust-lang.org/en-US/conduct.html
citizencodeofconduct.org/:
twitter.com/NSFWRedditVideo

Rust can't be used on 8051s ... yet

The reason Rust is being pushed so hard is because social justice warriors have found great difficulty penetrating the communities of open source system coders who use C and/or C++.

The "safety" features give advantages to lobotomised Feminist studies "coders" who are trying to "disrupt" these communities while breaking the knee caps of everyone else who knows what they are doing.

Literally nothing in Rust actually solves problems that haven't already been solved by RAII in C++ and even some GC/stack/heap techniques in the arguably superior but slower D compiler.

The advocates are all social justice warriors and this is their "long march through the development communities". They are employing critical theory against their main targets C and C++, by criticising everything it is and does and demonising its users. They've held back their "cis het white male" jargonism for now, but once they have established a foot hold "killer app", expect them to go wild with it. Just read through the big throbbing CoC they've erected on their main website.

Rust is kill. Don't touch it, spit on all its advocates.

>C doesn't have strings
>C doesn't have string concatenation

Rust is basically: social justice, the language, just read the CoC. If some Rustnigger comes in telling you it's not important, ask him to take it down and see how quickly he'll deflect and get angry.

They've taken one or two old ideas from ADA, sprinkled in a linter and code analyser that most companies integrate into their C++ build system and called it "safe".

Then they go around assaulting communities and cursing programmers for writing "potentially unsafe code".

Their aim is to be the gate keepers of system programming, because they've seen the power they wield over people in other SJW take overs:

- Firefox: now with DRM and donates to feminism. Main driver of
- GitHub: cancer the community, gives Rust more facility and attention than it deserves
- systemd: a slow burn attempt to infiltrate kernel dev.

They even made an entire OS out of it, something is not right here. This isn't a language or a community, it's a cult.

Rust can be, in theory, as fast as C++ for certain things, but it can never be as expressive and it can never have the kind of code inlining that their module system pretty much prohibits. They've gone to the length of incremental compilation just to account for their module bullshit, it's hilarious to watch them melt down over this.

Fuck Rust and spit on all its advocates.

>But as a newfag you are kinda in the right direction. C is for newbies. Think of it this way:

It's worse than that. C makes newbies think they're skilled programmers. This point is illustrated perfectly by 99% of the existing C code out there.

rust is literally bugman: the code

I don't intend this to be taken as a joke in any way, nor do I intend it to be unnecessarily mean, but I think that the Rust community inadvertently discovered a new paradigm of software development: Autism-Driven Development.

wtf i hate rust now

>Rust will never be as expressive as C++
Confirmed to never have used either of those two languages.

>tfw you prefer Go and sidestep the cancer that is rust or the dinosaur that is C

I am a C++ developer, but all that shitting on Rust, all that
>but muh SJW
got me interested.

If the primary complaint about a language is that moral people, who believe in fairness, like said language, it suggests that it must be a good language.

half of these “problems” with C is just you being a retard and not using the language right, bear in mind most languages compile back down to C in the end anyway.

>moral people, who believe in fairness
That's absolute bullshit but it's true that the language is good if the primary complaint is muh sjw.

Go has the same "impede productivity and put everything on crutches so Pajeet can shit out code" mentality that Rust does.

is D really the perfect language?

>bear in mind most languages compile back down to C in the end anyway
Even if that were true you're still trading "have to write every program ever correctly" for "have to write a compiler correctly"

>most languages compile back down to C in the end anyway

>It has almost 0 features that a modern and intelligent programmer uses to be productive

I don't understand this attitude and extreme focus towards "feature-driven development," it seems like a complaint that only junior developers would make. You do realize that turing completeness means you can do anything in any language? All those things you list can be done in C with a library.

I think the complaint you actually want to make is something along the lines of "waah my tooling only supports this feature with X language." Which is a vaild complaint, but you should probably mention that to the developers of your tooling if you want to get anything done about it.

No they don't. They get compiled to compiler backend's IR.

>turing completeness means you can do anything in any language
I sure LOVE having to reimplement linked lists in every C project!
>t. Ctoddler

Where the fuck are you people getting the idea that Rust impedes you from?
Very rarely will the borrow checker prevent you from doing something that's actually safe but even then you can use unsafe {}
The Rust compiler has only 2% unsafe code and pretty much all of that is calls to LLVM.

Try writing any non-trivial program in rust, you will spend 90% of your time fighting with the borrow checker

If you are spending 90% of your time fighting the borrow checker then 89.9% of your time you are writing code that segfaults in C++.
Rust is doing you a service.

Use a library retard

You do realize that any decent C programmer has implemented a linked list and that there are tons and tons and tons of libraries that implement linked lists.

Also, if you can't implement a linked list in 5 minutes, you need to go back to school. It is literally the simplest data structure and if you can't write one I question whether or not you would even be able to spot one in someone else's program.

Just install a library from the C library repository :^)

Is Git too hard for you?

github.com/stefanct/sglib

>github.com/stefanct/sglib/blob/master/sglib.h
Pure cringe. No wonder no one uses that

>clone the repo
>manually place files into the required folders
>manually add some magic to your makefile
>hope that it works
>no easy updates
>no dependency management
vs
>package_manager install library

this thread gave me cancer

>!!bbWg9592HoS
Looks like you had it before this thread too.

>C doesn't have delegates
function pointers
>C doesn't have resizable arrays
realloc
>C doesn't have strings
it does, you can build your own pascal-style strings too
>C doesn't have string concatenation
you can build your own
>C doesn't have namespaces
valid point, though doesn't really matter in practice
>C doesn't have exception handling
better ABI
>C doesn't have closures in the standard
meh
>C doesn't have unit tests
pretty sure you can write your own?
>C doesn't have Function overloading
useless bloat
>C doesn't have memory safety of any kind
valid complaint
>C doesn't prevent memory exploits and has no bounds and runtime checks
valid complaint
>C doesn't support dynamic method loading/creating
why would that even be useful
>C doesn't even have generics and templates
it does with macros
>C doesn't have meta programming
it does with macros
>C doesn't have mixins
i'm sure that's a terrible loss
>C doesn't have higher order functions
it does via function pointers
>C doesn't have contract programming
it does via macros
>C doesn't have inner classes
really?
>C doesn't have function literals
who cares?
>C doesn't have array slicing
you can emulate it anyway
>C has a very limited support for implicit parallelism
ok
>C doesn't even have string switches
that'd need strcmp() to be a part of the language

nice pasta though

The two "valid complain" points are enough to warrant a replacement even if you ignore every "you can but you need to use this roundabout unwieldy method".

Yes

> C doesn't have strings
What do I write to a log then?

oh look another one of those posts where X language has no featurOH WAIT I'M JUST STUPID CAUSE I CAN'T PROGRAM EFFICIENTLY AND CORRECTLY IN X LANGUAGE.

A character array. Read a book
C++ is the superior language

except that isn't true at all, it's more like

>os_package_manager install library
vs
>package_manager install library

your OS does have a package manager built in right?

Meme languages come and go
C has been here since the 70s, and it's not going anywhere

Once the current webdev bubble bursts all you framework faggots will be fucked but C programmers will always have a job

this desu

>apt install sglib
>Reading package lists... Done
>Building dependency tree
>Reading state information... Done
>E: Unable to locate package sglib

Oh no, looks like the OS package manager only has a handful of manually approved libraries that are several major versions behind master and adding a new library is a very tedious process.

C doesn't have any feature....why can't you write proper code then?

so just like any reasonable package manager in any other language then?

also i've never used "sglib" but it's a bad example for this because it's single file header only so you can just copy that one file into your project and #include it and it will work

>C doesn't even have generics and templates
>it does with macros
Technically, you can do generic programming with (void*) pointers, but that's just cruisin' for a bruisin'

Any reasonable package manager in any other language lets you create an account and publish a package without any bureaucracy.

>create account
>publish "mylib" package that secretly does rm -rf /

lol bureacracy sucks mirite

>install a random package
>run it without knowing what it does
How is that worse than manually installing a package from github and then doing the same thing?

once you can answer that, you will realize why "the OS package manager only has a handful of manually approved libraries that are several major versions behind master"

Once you realize that a language package manager and an os package manager have very different target audiences you'll understand why people are singing Rust's praises, why C++ is slowly but surely dying and why there have been so many attempts at creating a package manager for C++.

Try writing a non trivial C(++) program without out of bounds or use after free bugs.

kek

>sjw
>cultural marxists
>speaks about "morals"

Not sure how you're intelligent enough to browse this site and breathe at the same time

yeah but isn't D proprietary? Using a proprietary video player, for example, is one thing, but proprietary languages are complete cancer.

1) tiobe index does not mean what you think it means
2) rust is a fine language but does not replace c++ any more than go replaces C (it doesn't)
3) if the primary feature of a "language packager manager" is to provide a way to install shit from github on your command line, then it's a toy program not for production use

>out of bounds
use std::vector
>use after free bugs
use std::unique_ptr

You're a fool. C is made to be low-level. What if you had to b work on systems code? you can't trust some garbage collector or some baked in abstraction. YOU MUST DO IT ALL YOURSELF.

You use the right tool for the right job.

>just read the CoC
What do furry futas have to do with Rust?

>tiobe index does not mean what you think it means
Regardless of what you think tiobe index means, losing two thirds of that value in 15 years is an indication that C++ is getting replaced by other technologies.
>rust is a fine language but does not replace c++ any more than go replaces C
Rust and C++ are targeting the same audience and use-cases. Go and C are not.
>if the primary feature of a "language packager manager" is to provide a way to install shit from github on your command line
It should do more than that If the entire purpose of your programming language is to compile to binary and make your life easier then it's a toy program not for production use.

>use std::anything
Various methods of std::anything return references that can (and will) become invalid without a warning.
It has been proven time and time again that humans can't write safe code in an unsafe language.

why do cultural marxists think it matters to converge coding? Inefficiencies they introduce will just drive it offshore to India and China. Is that the point?

Rust has been known to compile to microcontroller targets, at least if you leave out the standard library.

Stable support for CPU/OS/ABI triples other than common desktop systems doesn't seem to be a priority, though.

>use std::vector

Hell no.

>realloc
Pretty inconvenient
>it does, you can build your own pascal-style strings too
char* is a poor mans string type
>useless bloat
Function overloading is useful and leads to cleaner code.
>it does with macros
Which is vastly inferior and awful to work with.

Corruption of champions?

Great conspiracy theory, anons

I bet you think the reason you can't get laid is (((white genocide))) and not that you're simply intolerable

C cucks BTFO!

>Another anti-C Rust thread
You people are like lepers. Take your dying language and fuck off already.

These posts are fucking wonderful.

If the CoC is meaningless, why not get rid of it?

>Go has the same "impede productivity and put everything on crutches so Pajeet can shit out code" mentality that Rust does.
Pretty much this.

Go: Pajeet wants to code too, so we've removed all the features that can potentially make him fuck the project up.
Rust: Pajeet and Zihr want to code too, so we've made it so hard for you to do anything productive that they can keep up with you in the name of safety.

>TIOBE
>Not an artifact of lepers joining github and shitting out code that no one uses.

>justice is not morality
Have you tried reaching adulthood? Why did you fail?

Only people who have never really tried to write a non-trivial program in Rust say that.

Terry A Davis invented that though

Not a chance. The Linux community discovered that decades ago.

Yes you are right OP, new processors should start interpreting ASM.js so everybody can do everything on master race pure beautiful em6

The only people pushing rust are the NEET who had never worked on IRL problems.

>google employs NEETs

I am almost 100% complete sure this rust cancer wont reach embeded development, why? , because we firmware engineers love unsafe memory maped model (C / C++ its enought) , rust its for fucking brainlets.

You can do unsafe code in Rust too you know.

what other options we have?use that piece of shit rust that was made for sensitive and dumb millenials who needs their safe-spaces because the internet is mean?

rust code of conduct:
>On IRC, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe and welcoming environment for all.
>Please be kind and courteous. There’s no need to be mean or rude.
>Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
>Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others.

rust-lang.org/en-US/conduct.html

You cherrypicked that last line as if it's something bad. Did you even read what it says?

>please use rust

I don't understand what part of expecting proper behavior triggers some people so hard.
Is it a murica thing?

It's because they're spergs

no im hungarian.also shouldnt you'd be writing your shitty blog about trump instead of wasting your time here?does your mom knows what kind of websites are you visiting?dont forget to delete your browser history or she will give you one more week in the chastity cage.

If only these lobotomised Feminists need safety features, why does old C legacy code written by men break?

>too retarded to add a space after a sentence
Why should I even consider your opinion?

> toddler language
> makes you do everything yourself
Pick a coherent argument, cause this ain't it.

That said, I only use c on 8bit micros anymore, c++ on 32 bit arm embedded stuff, and when I get to write code for real computers I don't care what I write in because I'm used to having 256 bytes total for all variables and stack

wat aboot c# u guys

If you were talking about Go, I would agree... But Rust is a godsend in my workplace.

why not fix it instead of making a hard reset?
the task of migrating code will kill and or make a lot of software disappear we already saw this with Distros and their package management where some programs get dropped or unmaitanied because people are to focus on pushing their systemd or wayland memes all around the community.
I see a regression no an advancement, this new languages are just splinting programers into more lillte and niche groups all commanded around by religious a like dogma, google with their golang and firefox with rust will be just two more meme languages that wont survive C.

>C has no advanced features like C++ does
And here we see that OP fundamentally misunderstands the intended purpose and use cases of C

cant be used for writing drivers or os-es.also its only really useful on windows.its a great language but cant replace c.

That's more for business applications and logic, like Java or Go, not low-overhead systems programming.

>why not fix it instead of making a hard reset?
That's what C++11/14/17 are for and yet they can't fix everything, precisely because of backward compatibility.
Or you can do like Firefox and replace bits of C/C++ progressively like they're doing with Stylo in 57.

C, C++ or Rust?

I don't care

>muh superior organic gluten-free programming language
>w-why can't people simply put aside their biases and face the truth of the oppressive orthodoxies of the programming community
:^)

Love how you cherry picked this shit:

>We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behaviour. We interpret the term “harassment” as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.

Linked to citizencodeofconduct.org/:

>Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.

>ableist

>Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.

>precisely because of backward compatibility
That's horseshit, C++17 actively breaks backward compatibility to fix things.

>C doesn't have resizable arrays
realloc
>C doesn't have strings
string.h
>C doesn't have string concatenation
strcat
>C doesn't have namespaces
Unnecessary in most cases
>C doesn't have exception handling
Exceptions are evil™, retvals are superior, although variant types are needed for it to be ideal
>C doesn't have closures in the standard
Make your own
>C doesn't have Function overloading
Use _Generic
>C doesn't have memory safety of any kind
>C doesn't prevent memory exploits and has no bounds and runtime checks
C is concerned with speed, not safety
>C doesn't even have generics and templates
Acceptable complaint, but void* and token pasting macros exist if you're desperate.
>C doesn't have higher order functions
Function pointers can be passed or returned. Structs containing function pointers can be passed or returned for stateful closures.
>C doesn't have inner classes
Unnecessary to have classes at all
>C doesn't have function literals
Use a static or scoped function.
>C doesn't have array slicing
Literally just offset your pointer and size.