People who say C++ is a good programming language are dumb...

People who say C++ is a good programming language are dumb. Y'all motherfuckers need to shut the fuck up and go back to CS 101. C++ an ass of a language and is still doing nearly as well as it does out of sheer inertia and literally nothing else. Every single real developer who says C++ is good is either a lying little kid who thinks he's cool for using a "real" language or a crusty old fart who've been too busy manually hardcoding his own diabetes medicine to look outside in the last 15 years.

>b-but, but...
NOT BUTS. C++ is shit. Every single possible positive thing you could say about C++ involves C++ acting like some language other than C++. Even now I can hear your filthy cheetos-stained mechanical keyboards rattling away, typing those same old tired bullshit arguments about "performance", "optimization" and how it gives "good coders" the power to do amazing things (and make lots and lots of hair-pulling mistakes). Except you pissheads forget to mention one fatal detail: All these amazing things are only possible because C++ allows you to drop down into C and manually reinvent the wheel every fucking time. C++ is at its best... when it's actually C.
In contrast, when C++ is used As Intendedâ„¢ you get literally nothing out of it but a compiled version Python with irritating syntax, annoying header files, frustratingly obtuse compiler errors, aggravatingly small standard library and a rage-inducingly fussy manual memory management.

>b-b-but doesn't that m-mean C++ p-possesses flexibility that other langua--
I SAID NO BUTS YOU STAMMERING DICKSHEATH. C++ is only that way because it's a frankenstein's monster of a cruft-ridden idiotic attempt at modernly squaring a 1967 circle. If you had any sense you'd realize what a goddamn mess it is and switch to Rust already.

Other urls found in this thread:

youtube.com/watch?v=rpLoS7B6T94
cs.nyu.edu/~pcousot/
microsoft.com/en-us/research/wp-content/uploads/2016/12/popl11-synthesis.pdf
cl.cam.ac.uk/~pes20/cpp/popl085ap-sewell.pdf
youtube.com/watch?v=KH5fCmOVglc
cs.colorado.edu/~bec/courses/csci5535-s09/reading/abramski-absintintro.pdf
fbinfer.com/docs/separation-logic-and-bi-abduction.html
twitter.com/SFWRedditGifs

>switch to Rust already
stopped reading there

>No arguments

I never see C++ niggaz talking shit on Rust like this. Bunch of fucking faggots, all of you Rustaceans.

>faggots
Uh, homophobic much?

...Since that's the last phrase, doesn't this mean you'd already read the entire thing?

OP's being a bit of a chauvinistic douchebag, which won't help their cause, but I essentially take their point.

Everyone knows Python is the master race.

>complains about manual memory management
>endorses rust

Unless you can do something like this
youtube.com/watch?v=rpLoS7B6T94
don't talk shit about C++.

Grad student here. You don't know anything. Nothing will convince me you're not a junior in CS.

>C++ is at its best... when it's actually C.
C++ is C with features to build great APIs. You write unsafe C code and wrap it up in a little package, complete with templates that the client can use instead of void *. It's a good language.

My money says you're a grad student in something like systems, databases, graphics, computational natural science (eg bioinformatiics) and not one in compilers, PL, or theory.

>switch to Rust already
Nah I'll stick with C. Isn't it time for your dilation?

>everyone knows slow interpreted dog shit is the master race

>theoryfag can't actually code for shit
surprise

Do you realize where you are?

He's so tilted, he doesn't even recognize his fatal ERROR.

>HAHAHAHAHAHA
>PRESENT DAY
>HAHAHAHAHAHA
>PRESENT TIME

The only reason C++ ever got popular is because of the name.
If it wouldn't have C in it's name, nobody would have looked at it much.

All that text, and yet you wrote literally 0 (zero) arguments for your position.

> theoryfag can't actually code for shit
As an undergrad researcher, I set a record for number of apps ingested for an API usage study. That's on the order of 100k loc that have to work correctly in Scala and C++. Techniques I helped develop for several phases of the extraction are the most efficient that exist right now. My paper comes out in March.

What compels you to assume you have nothing to learn from me? I never assumed the same about you.

Wow, that's a real waste of time.
Become a NEET and use your powers for something good instead.

>lemme sperg out some random big words to masquerade as a great researcher

>avatarfag trying to make himself sound worth listening to
Nothing new here. What does any of that shit have to do with the topic anyway?

> Getting second author on a paper at a good conference and getting an expenses-paid trip to present my work to a DARPA panel before turning 22 while securing stellar letters of rec is a waste of time.
lolok

Admittedly, it's pretty far from what OP was mentioning.

I just find it weird that sepples people immediately assume anyone who doesn't share their enthusiasm for it have never had to maintain a large codebase in it, as if the only reason someone could disagree with them is just not being informed.

If you could look past your narcissistic need to tell everyone shit they don't care about, you'd see that his post wasn't serious.

Quite ironic to say when the exact opposite is true.

t. webdev
it just werks

>it just werks
There is literally nothing wrong with this.
In fact, most normal people would consider this an advantage.

rust doesn't have manual memory management (only optional with unsafe)

Like being in grad school and therefore knowing everyone else hasn't finished undergrad because they don't like C++?

yeah. whenever a normie ask me what 1st language to pick i say python because in the slight chance that he or she will actually try to learn it at least he or she will become more productive.

Yeah quit being Sup Forumsay

My post was serious.
I think academic CS work is a waste of time in 90% of the cases.
Nobody needs that shit.
Work on something that has an immediate use for yourself and those around you instead.

Who cares about that shit? Seriously, the other user said it well; It's just narcissistic bullshit you tell yourself to justify spending your time on such unnecessary garbage.
Nobody will ever use it. Create something useful and creative instead.
Also second author? Lol. If I was into this academic bullshit I would never do anything that wouldn't put me as first author.

You'll probably never use my (incremental) work. I'm completely to terms with that.

But I think dismissing 90% of "academic CS" (as opposed to...industrial CS?) is really odd. The model checker MS uses to test driver patches for correctness, the abstract interpreter that verified the A380's flight controllers, FlashFill, elliptic curve crypto, fully homomorphic crypto, backpropagation are all recent "academic" (by which I mean theoretical) CS, indispensible and used daily. Google, MS, and IBM wouldn't agree that 90% of academic CS work is a waste of time.

And believe what you want: I obliged this dick measuring contest because "I'm in grad school" was used to stone-wall all other opinions. It's fascinating how salty people get when you challenge their claims to being peerless.

Graphics, you got me. I think compilers people belong in the first group, by the way. I guess you like PL... what book should I read, then? I've read Sebasta and the Dragon Book, but that second one doesn't touch on PL at all, really.

Consider this: if people who say c++ are dumb, they will be dumb in any language. Thus, it is better that they keep writing C++, so that their idiocy is kept contained.

okay but riddle me this: how could an undergrad student who's busy doing nerd shit all the time cultivate such a chinese cartoon pictures collection?
i'll just let that sink in....

*who say C++ is good

Rust is such a great language that Rust faggots have to spam every single place on the Internet begging competent developers to adopt their meme language

I hate this meme defense. I also hate the Rusties who spend more time talking about Rust than writing Rust.
What the Rust community really needs to do is keep plodding along and building an ecosystem until companies start adopting it en masse, or they don't. It's pretty binary.

OP I am interested to know what low level languages you actually think are superior to C++ and can back it up with evidence?

What you listed constitutes not even a percent of CS work.
And they aren't recent at all.
And with academic CS I didn't mean it's mathematical aspect, but rather the semi-practical CS part.
>(as opposed to...industrial CS?)
No, as opposed to every other form.
>Google, MS, and IBM wouldn't agree that 90% of academic CS work is a waste of time.
They would, since they don't even read a percent of the shit that gets produced all over the world in CS.
Also they often just tend to do things themselves instead of relying on academic CS.

Stop doing this shit, and start working on yourself.
What would you develop if you had the time to develop anything you wanted?
Probably not the shit you are doing right now.

I grant you the compilers people are more applied. A lot of their work revolves around clever heuristics rather than proving theorems. I have plenty of respect for this (and other applied disciplines; I hope I gave no other impressions).

You're right. I do like PL. I wish more people knew the basics. I honestly think they'd write better software.

As for book recommendations, it depends on what you want.

For a PL-oriented take on compilers, I think Andrew Appell's "Modern Compiler Implementation in ML". It goes hard into dataflow analysis, which I think is very valuable. Standard ML really shines for compiler implementation.

The most underappreciated aspect of language design is probably type system design. I recommend Benjamin Pierce's "Types and Programming Languages". The best all-around type system-oriented PL book is probably Robert Harper's "Practical Foundations for Programming Languages", but it's so theoretical that it turns people off. The best way to read it is probably to watch OPLSS crash course lectures Harper gives on it and try following along. There are lectures like it every year.

Abstract interpretation and model checking are more practical fields because they underpin all deep semantic analysis of programs, which BTFOs everything less powerful, but only a few people really know how to do it well. I wish there would a good textbook to recommend. Patrick Cousot's lecture material is highly recommended:
cs.nyu.edu/~pcousot/

Everyone I've mentioned is part of the DeepSpec project to formally verify a whole software stack for correctness. The lectures online should be good.

I also like to watch POPL paper talks summarizing new research in the field. They're intuitive and fast-paced rather than super technical.

While I have your ear, what graphics texts would you recommend? There seem to be a lot. Always found graphics interesting but never got into it.

>superior
This notion does not exist.
Superior in what regard?
The point is, that C++ might seem to be a good solution (to someone who doesn't understand yet), while in fact it is a badly constructed mess of anti-patterns and bullshit in it's core.
Just programming C is superior. Just pick plan9 C and you even have a modern Version.

> What you listed constitutes not even a percent of CS work.
90% of CS publications are unremarkable, but so is 90% of everything. That's hardly reason to dismiss everything.
>And they aren't recent at all.
FlashFill is recent (2016). So is work on concurrent models of C++ (2016) and the most recent breakthrough on bootstrapping homomorphic encryption (2016).
> Rather the semi-practical CS part
I'm not sure what this means.
>They don't even read a percent of the shit that gets produced all over the world in CS.
If so, why do they sponsor all the good conferences?
> Also they often just tend to do things themselves instead of relying on academic CS.
They do a lot of in-house research because they see the value in it. They also hire lots of people from the academy. To give an example I know of, Facebook and MSR gobble up PL reseachers like no one's business.
> Stop doing this shit, and start working on yourself. What would you develop if you had the time to develop anything you wanted? Probably not the shit you are doing right now.
I also worked for a bretty cool VR startup. And why assume I don't work on myself? I still read (news, textbooks, manuals). I still practice programming. I think the shit I was doing in undergrad was way more interesting than writing CRUD apps or data serializers (which, be honest, is like four fifths of all programming jobs), and I feel I was lucky to be involved with it.

>90% of CS publications are unremarkable
This is pretty much what I said. I see, so you seem to agree with me.
>Flashfill
if this is that excel shit, it is really unremarkable and nothing special at all.
>concurrent models of C++
C++ is a garbage language, and there are good, useful, and performant parallelism models since ages.
Actually the most important paper is from 78.
Adapting those to the piece of shit that is C++ is nothing special.
>the most recent breakthrough on bootstrapping homomorphic encryption
Useful, but also more math than CS in a sense.
>I'm not sure what this means.
CS that pretends to be practical. I don't know what it's called in the States. Possibly applied CS or something.
The branch where they will produce applications that nobody ever uses or would even want to use.
>They also hire lots of people from the academy.
From where else should they get people instead for their own bullshit?

at least it's fairly consistent not jit just kicked in now yo ram is gone

I don't think we disagree all that much. We were using language differently.
> if this is that excel shit, it is really unremarkable and nothing special at all.
It's a much harder problem than you're giving it credit for.
microsoft.com/en-us/research/wp-content/uploads/2016/12/popl11-synthesis.pdf
This paper is older than I remembered, but there were lots of follow-ups generalizing this further.
> C++ is a garbage language, and there are good, useful, and performant parallelism models since ages.
I personally don't like C++, but the problem is an important one.
cl.cam.ac.uk/~pes20/cpp/popl085ap-sewell.pdf
Slightly relatedly, here's new work proving math.h correct automatically:
youtube.com/watch?v=KH5fCmOVglc

Obviously, not all academic research on topics like this is practically applicable, but more is than lots of people realize. That's all I was saying.

what I see here is basically "C with classes", which only reinforces faggot's, err, I mean, OP's point.

P.S. OY VEY

I did! And I like C++.

retard here
Why the fuck do I have to do function prototypes in c++? Why can't the compiler just check and compile in the right order like other languages do?

Why did you make this thread if you don't want any discussion on the topic of C++? What kind of hive-mind spits out mongoloids like you OP?

>Why can't the compiler just check and compile in the right order like other languages do?
No reason at all.

Not OP, but you can't discuss with people who like C++.
They are lost. It's just better to let them go.
Just informing newbs to not go down the C++ path is enough to justify this threads existence.

OP is a faggot, but C++ is still shit.

muh single pass compiler
even though e.g. classes discard this rule

>rust
>not java
Opinion discarded.

The whole reason C is considered a 'systems language' compared to other languages is that C is extremely weak typing, it will try and cast anything to make it compatible with the types it is being applied to. It has absolutely no restraints on pointers and bounds of any container. The fact that the language has no type rules means it crashes a lot less than a strongly typed or bounds checked language. This is the exact opposite of where every modern programming language is going toward which is strong typing, strong bounds checking, and controlling wrong types instead of just building systems that are broken by design and just held together by debugger fixes

This is correct. C was designed so it could be compiled in a single pass, back in the paleolithic when computers had about 8 bytes to work with. Because of muh backwards compatibility, it's still necessary to forward declare function prototypes for mutually recursive definitions even though C++ can't be compiled in single-pass fashion and Clang and GCC will fucking exhaust system memory on any platform where single-pass is necessary. If you're targeting such platforms nowadays, you'll just cross-compile on a powerful box anyways.

This is mine. I'm sorry for the confusion. I meant to reference this:

>rust

can i feed my family with that?

You certainly can, but it will be harder to find a job.

>not a single job posting in my country

I mean, if that's the case, you probably live in a country where there aren't jobs writing OS kernels or program analyses either.

I'd move to a different one for work desu.

I'd shut up you retarded tranny.
Systems programming is dead. There won't be another big mainstream Kernel anymore since Linux is enough (worse is better), and even if there came a new commercial one into existence, it wouldn't be written in Rust.
>inb4 Redox
It's shit. The designflaws could only come from someone who thinks writing Rust is a good idea.

t. triggered third-worlder

>OH LOOK IT'S ANOTHER C++ THRED

Sup Forums - Battle stations, Vidya Gayms, C++

Wow, you sure showed me.
I am really triggered by Rusts unpopularity.
Damn I really WISH I could program Rust for a living, fighting that retarded kiddyglove compiler every damn day.

Btw, I am not the one who can't find a Rust Job in his country.

Oh fug, the song started playing in my head.

> I can't do systems programming, let alone with an affine type system, therefore no one can or needs to.

The point is that I can do (and actually DO) systems programming without the need for Rust.
I have tried it out, and at one point I stopped and just thought it was retarded unnecessary garbage.
Who knows if that has changed though, since the Rust Devs can't even keep their gay language stable.

>Systems programming is dead.
>The point is that I can do (and actually DO) systems programming.
user, assuming these are both you (or at least both of these posters inhabit the same nervous system Fight Club-style), you do realize at least one of these has to be false, right?

obviously rust is a white male's language, no one else is so heavy with guilt to mewl about diversity constantly

COBOL > everything else.

We're getting tears every single day this week.

>more plebby ad homs
Color me impressed.

...

Your shit thread doesn't deserve anything better.

>Your shit thread.
Not my thread. I'd still be embarrassed if the best argument I could give against a programming language is calling its userbase fags.

Thank you for all these great resources.

All dynamically typed languages are fucking awful.

i agree with OP desu

t. haskell user

...

No problem! Very happy to help in your auto-didactic project.

It's always great to meet people interested in learning about new shit on the Korean cartoon/neo-nazi mouthbreather and Marxist-Leatherist with Somalian characteristics BDSM enthusiast website.

>compilers
Not him, but what are you implying about students studying compilers?

Shut up and acknowledge C++'s superiority!

If they have a serious education in the foundations of compilers, then you understand the value of a good type system and know what one looks like.

Granted, you don't need that to do babby stuff, but you're not going to get far into high-octane shit like monomorphization or escape analysis without some actual PL theory.

>an actually funny thread on Sup Forums
wow, that's been a while

Oh, I guess that doesn't really apply to me then. My focus is on the backend.

Actually, I like the following as a gentle intro to abstract interpretation:
cs.colorado.edu/~bec/courses/csci5535-s09/reading/abramski-absintintro.pdf

It's pretty goddamned old, but it's a lot easier to start reading than most of the other literature.

Here's a plebby but still good introduction to the idea behind separation logic for the docs in Facebook's Infer tool:
fbinfer.com/docs/separation-logic-and-bi-abduction.html

C++ is awful because of the programming concepts it pushes, namely a heap heavy object oriented methodology.

not type safe, literal Pajeet language that doesn't have the ability for abstractions

>preprocessor macros are literal textual copy paste

I am not a professional developer anymore, I just write a random program in Rust from time to time

but I would never go back to JS, it's cancer to me after I've tasted a GOOD statically typed language

>namely a heap heavy object oriented methodology
But that's all object-oriented languages.

Google is literally making Fuchsia based on a microkernel

> There won't be another big mainstream Kernel anymore

shows how much you know

> The point is that I can do (and actually DO) systems programming without the need for Rust.

people had the same argument for programming in Assembly instead of C

you're really being a Luddite here, that's not reason not to adopt another language

> But that's all object-oriented languages

Yes, all OOP languages are crap. We've known this for years now, and people are still waking up to it?

That's why everything is horrible to write in. And then if not that, it's bad for performance reasons.

Why would anyone pay attention to these kinds of threads?

Just started learning perl and its fun. Like C, like bash scripting, a nice marriage between the two.