We have a person on our C++ dev team who is an ANSI C zealot and refuses to write anything that wouldn't compile under -std=c90 -pedantic-error.
It's actually getting difficult to integrate his changes to the codebase because his style of programming is much more terse and difficult to read, it clashes with the rest of the team, sometimes he'll even write get/set wrappers around classes in C++ and extern "C" them just so they'll work in C. He puts them in files named "wrapper.cc".
He refuses to listen and the project manager doesn't want to hear it because they don't care about "technical debt". How do we sabotage his efforts at avoiding C++ so he can finally cooperate with the rest of the team?
This. If he's been able to do these great works and avoid the chopping block thus far in a corporate environment, you should bow to him.
Evan Lewis
Why can't you just fire him or push him to another team? Working on a team means making sacrifices towards teamwork, and coding in manner that makes it hard to work with the rest of team is pretty counterproductive.
Mason Baker
>How do we sabotage his efforts at avoiding C++ so he can finally cooperate with the rest of the team?
Make your codebase completely incompatible with C.
Mason Bennett
Sounds like he's better than you and you should conform to him instead
>his style of programming is much more terse and difficult to read Become smarter and it will be less difficult.
Jack Peterson
>I can't keep up with the smart guy so how do I sink him down to my plebian ways of thinking
Kevin Kelly
He needs to understand it's not his project, so he'll need to follow the correct guidelines or his PRs won't be accepted. If he gets his own project he can use his own styling.
Connor Sullivan
Some 21yo fresh out of a coding camp is butt flustered that a 40yo that has been coding in c for longer than xe has been alive refuses to use react.js and instead prefers to work in c.
Nathaniel Flores
What a hero. Get fucked, sepplesfags.
Ryan Anderson
Give me one good reason why anyone should ever write C++ over C? Templates and classes as a complement to C style programs seems appealing, but idiomatic C++ is absolutely disgusting. I even saw a bisqwit video where he tries to claim that C++ has no cost abstractions, yet his C example is written the idiomatic C++ way, with for (int i = list_start(&a); i < list_end(&a); i += list_next(&a)) So basically you call 3 functions to verify unchanging values for every iteration of a for loop, disgusting.
Chase Mitchell
C++ has greater scalability.
Owen Rodriguez
Wrong. C is just as scalable if you are competent. C++ just allows for incompetent programmers to achieve some of the same feats.
Jordan Wood
>not programming in machine code spotted the brainlet
Levi Jackson
he probably browses Sup Forums and makes angry posts about rust SJWS
Gavin Allen
>DERRRRR WRITING CODE THAT'S MORE LIKELY TO INTRODUCE BUGS AND IS HARDER TO MAINTAIN MEANS YOU'RE SMARTER HAHAHA XDDDDDDDDDDDDDDDDDDDDDDDDDDDDD this meme needs to die
Jack Baker
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.
Christopher Robinson
is this pasta?
Ayden Johnson
As soon as you git gut
Jonathan Cox
Yes, but it's true
Leo Clark
continue to write your shitty vulnerable C code, I will continue fuzzing it for vulnerabilities :^)
remember that memory safety is a concept made up by SJWs and therefore bad
Jacob Ross
Don't worry, I'll continue fizzbuzzing your shitty Rust code while raising awareness of SJW shit, because that's the only thing anybody ever does with it.
Remember that a language is only as good as the people who use it.
Oliver Nguyen
>Remember that a language is only as good as the people who use it. t. openssl developer
Hudson Taylor
>that shitty code A sane person would use iterators
Caleb Gray
Objects were a mistake
Colton Gonzalez
>saved in meme archive thanks user-kun :3
Jaxson Wood
>yet his C example is written the idiomatic C++ way that's not idiomatic C++, use iterators
>So basically you call 3 functions to verify unchanging values for every iteration of a for loop start and end are almost certainly compiled inline as constants
That's why companies have code guidelines, user. If someone doesn't follow them, they get fired.
Adam Lewis
Yeah about that...
Some comm hardware company we had to integrate with kept having the buggiest firmware issues that were holding the whole project up. I offered to help them out and signed an NDA to have a look at the C++ code their PhD engineer had written. Motherfucker was putting function calls on the stack 20-30 levels deep that all instantiated some inherited class or another, all to create a monster state machine that was impossible to debug without printing out a flow chart on 6 sheets of A3. Ended up scrapping the whole state machine and rewriting it in C with three functions and some lengthy, but easily digestible, switch statements. Months of frustration could have been avoided by not teaching "theory" programmers C++, it's just too damn easy for novices to make a cluster fuck of it. Sure, he could have gotten into some trouble with C, but it would have been a lot easier to unclusterfuck.
The moral to the story is that C++ isn't for smart people, it's for people who've already mastered C and really know when all the extra bells and whistles are justified.
Alexander Diaz
> the project manager doesn't want to hear it because they don't care about "technical debt". Go above your bosses head and get him fucking fired you retard
Jose Phillips
This is why small companies, and companies that are otherwise big but their core business is not software should just not do software.
If you want to start a discussion with the team at large about what the right programming language to use is, that's fine, but not working with the team like this is retarded and he should be fired.
The fact that your PM doesn't know or care about technical debt is a classic sign of a shitty small company that will eventually outsource your job because they clearly do not care about code quality or maintainability, they just want something that is barely passable right now.
Adrian Reed
Fire him. Team integration >>>> Technical "rigor"
Kevin Wilson
Fire him for being too retarded to write C++. What a gay autistic baby.
Wyatt Phillips
Start writing ANSI C like him.
Jose James
This video is a pretty good argument. I've always thought encapsulation was ass and this just gave me a massive confirmation bias boner.
David Diaz
technical debt is a meme, along with all those numale coder buzzwords like "code smell" "test coverage", and "idiomatic". OP probably thinks of himself as one of those "code artisans" who sips coffee and takatakas away on his keyboard and gets paid big bucks to glue other people's libraries together, and the ANSI C guy simply intimidates him.
Isaiah Evans
>technical debt, smelly code and testing is a meme
What are you smoking? Get some standards.
Sure technical debt and testing do not make a lot of sense for small programs. But if you are going to be programming on the same thing for more than a year you make sure you are doing it right.
People like you are the reason why all programs have so many bugs, but instead of fixing them they add new features. You cannot guarantee a working program when it has spaghetti code all over it.
Jaxon Reyes
>std=c90 I list C99 and C11 variable declaration and scoping inside for loops, etc for (int i = 0; i < 10; i++) { /* do stuff */ }
Older C code feels clumsy and bloated without it
Parker Diaz
I just reuse iterators throughout the function. Don't be so wasteful.
Kevin Wilson
Sup Forums's C zealots in a nutshell >I hate sepples so much even though I'm a sepples developer, I'm just going to write C wrappers everywhere to fuck with my teammates and make this codebase unmaintainable
Evan Reed
He's doing it right you moron. C++ APIs are absolutely useless outside of C++ and the ABI issues are even worse. It's much better to wrap all your C++ code in a clean C API anybody can interface with.
Hope that guy quits working with you faggots. There are better jobs out there.
Jayden Cook
OP never said anything about API/ABI though
External C wrappers are fine, cluterring up the intenals of your program because you're too autistic to just write C-style code in C++ is pure spaghetti code.
Thomas Bailey
Sounds like the guy wrapped up the part the code he had to interface with in a C API and then wrote code targeting that API. Yeah, it essentially creates a barrier between you and the rest of the team. That's the whole point. Honestly, it's much better to abstract away all the C++ crap you don't need. Ever tried to embed V8 in an program? There's a reason Lua is the best embedded programming language. It's written in C and ridiculously small and self-contained. It's easy to work with.
Gabriel Jackson
>How do we sabotage his efforts at avoiding C++ so he can finally cooperate with the rest of the team? Start using variadic templates and features from C++14 that are incompatible with C99.
Henry Reed
>So basically you call 3 functions to verify unchanging values for every iteration of a for loop, disgusting. Given list_start is a const method in all likelihood and list_next is a const method on its calling class, list_end also being a const method means that all these "functions" are inlined or constant.
David Morales
>digging yourself into an even deeper compiler complexity hole
Luke Nguyen
Trips and saved.
James Green
Do you have any actual evidence of Rust's feminism, or is it because it has one of those silly code of conducts GitHub people pressured them into adopting?
Connor Russell
>muh bug free code
Yours is just a buggy fag. I guarantee it. I don't care what panacea language you claim to use.
Christopher King
What is this bullcrap? C++ doesn't scale well at all. Compilers have issues optimising very simple shit. There's no way C++ is more scalable with all the garbage you throw in there that's hard to optimize.
Ian Jackson
>actual evidence Just look at their parent company Mozilla.
>feminism You don't get it do you? It's not about that. That's an "inter-sectional issue". Just look how much artificial support the project is getting.
Dylan Anderson
>Terse code introduces more bugs than Enterprise[TM] "Strategy"-"Interface" bullshit.
James Moore
>scalability
Wow programming really has become a buzzword hell.
Joseph Foster
>terse and difficult to read Yeah. OK. That has nothing to do with C or his compiler flag preferences. >technical debt No, first of all technical debt is about writing code that's hard to reuse (which you haven't spoken about, what's the interface problems?). Secondly that's what you guys are doing. You're using features that a team member deems inappropriate making it harder for him to work. You should communicate on what's actually problematic. You're just making up excuses for why he's problematic because you are in fact the C++ zealot. Not him. What's the problem with him wrapping classes (for free, given there's link time optimization now)? Nothing. His terse style isn't related to his language preference at all. If the team is really having trouble with it explain that to him. >how do we sabotage his efforts See? Do you really think he's the zealot if you're planning to sabotage a team member instead of talking about it? You're not even addressing the problem. If he moved to C++ why would he be less terse? Nothing in C++ forces you to write less terse code. I'd say it's the opposite. Plenty of C++ features enable all kinds of crazy contacts that make for very terse code but more often than not harder to understand.
Kayden Rodriguez
Who cares about Mozilla and how much support Rust has?
>You don't get it do you? It's not about that.
It's about what then?
Landon Rogers
>contracts Constructs.
Elijah Thomas
Find his car and key "Code in C++ or else" on it.
Jack Edwards
>Join C++ dev team >Refuse to use C++ >Everyone else is the problem
Ryder James
Maybe the interview should have had him not join of this was such a problem. I don't see how it's his fault at all unless he lied at the interview. Regardless you're not addressing the argument. Much like how you're not addressing the problem you're facing.
I'd probably do shit just to spite you given how bigoted you are.
Aaron Price
>keying other people's cars
There are limits for everything
Christian Allen
That's what you get for coding in C in a fucking C++ project. He could at the very least just use C++ as C with constructors and namespaces like a sane person.
Chase Wilson
I don't care about your autistic ramblings. You don't join a C++ team and refuse to write C++. OP has stated that he refuses to listen to the rest of the team's complaints. That means he is the problem.
Gabriel Taylor
I'd shoot you dead, dissolve your body with acid and force your whore mother to take your remains back into her body.
You fucking subhuman.
Joseph Gonzalez
Note to self: Key all C developers' cars
Sebastian Torres
>working with code monkeys >not being this badass engineer
How is that wasteful? Seems like an easy thing to optimize by the compiler.
John Morgan
>It's much better to wrap all your C++ code in a clean C API anybody can interface with. Inherently object oriented APIs are fucking awful in C. Look at gtk for fucks sake.
Oliver Allen
Nobody said it had to be object-oriented, even if the implementation is.
Look at ICU.
Brandon Gomez
>ANSI C zealots I like them, but really just tell him to fuck off. The project should conform to the standards set by the team and management, not to his personal favorites. Just set the fucking rules for the project and don't let anything in the codebase that doesn't conform to these rules.
t. someone who hates angular but has to deal with it because decisions decisions
Noah Carter
I have a guy like this in my team, he's a kernel contributor and all that stuff. Fortunately, I was able to gradually show him the joy of C++, so now he's pretty comfortable with TMP, lambdas and stuff.
Jace Nguyen
Templates and lambdas are delicious, I don't know why a C fanboy who loves unsafe crap like macros and function pointers.
Not to mention they produce faster code since the compiler can inline all the stuff at the compile-time.
Daniel Bailey
would not want to have access to those features.
Anthony Fisher
3/4 of these apply to C as well tho. If anything, this is an argument for Rust.
Matthew Price
> technical debt is a meme
Sup Forums in a nutshell
Caleb Kelly
Well I'm not artificial
Xavier King
>what is coq >what is why3 So when will you be able to write actually safe code in rust? And why would you want to write in glorified Ada(with ugly syntax), when you have the spark platform to write actually safe code in Ada? Rust brings absolutely nothing. Mission critical is still going to be C+Ada/SPARK. Rust will die as does every webdev fad
Joshua Gomez
Ada doesn't have linear types and ADT.
Connor Phillips
Rust doesn't have linear types either. In what way is ADT better than tagged union?
Josiah Lewis
Wrong. You can match patterns on it.
William Davis
install gentoo, faggot
Jaxon Reyes
Rust's linear types are "linear types". I thought that was common knowledge even among Rust Evangelism Taskforce. You need to brush up on that theory, famalamalam. And you can destructure tagged unions in ada in a similiar way you would with pattern matching in, say ocaml. Ada's compiler also warns you when you have incomplete "switch", not to mention the SPARK platform.
Jayden Perry
>match patterns
The fuck does this even mean? Looks like a glorified switch statement that navigates nested structures.
Nolan Bailey
Oh and from that screenshot, idris is actually much more interesting language than rust. Dependent type theory is quite powerful (see coq) and i would very much like it to replace the SPARK
Isaac Jones
> Rust's linear types are "linear types". It's still better than whatever Ada has to offer tho. > And you can destructure tagged unions in ada in a similiar way you would with pattern matching But it's not pattern matching?
Jaxson Torres
It is absolutely not better. You can't prove rust code correct. You can easilly do in Ada. Your "linear" types are actually affine types, big difference.
It is dual to pattern matching, so in a sense, it is.
Ian Foster
You can't prove your Ada code is correct either, it's just a bunch of contracts to check, partially in the runtime, it's nothing like Coq or seL4. Meanwhile, you can actually prove your Rust code has no memory-related error by simply compiling it in safe Rust.
Alexander Price
What? SPARK is a full-featured verification tool. It can use whatever backend you plug it into (z3,coq,...) On that note, while seL4 itself is verified, the binary isn't because for whatever reason, they chose to build their own support infrastructure around Isabelle/HOL instead of using the existing infrastructure around coq. So while there is formally verified compiler, it uses different C model than seL4 does and the result is that you can't even build the seL4 and claim safety. And on the memory safety, rust's memory model isn't proven yet, so you still can't claim even that much.
Nathan Ward
Sounds like Squarepusher (Retroarch main dev)
Jose Brown
this
Jackson James
this
Isaac Sanchez
Take him outside and beat the crap out of him.
Justin Reyes
>hates ansi c >c++ babby we've yet to confirm if the dev team is actually centered around c++ or you just assumed it is. most programs these days have a mix of languages. either step up your shit and quit bitching. also this >relying on something that might break when the react devs accidentally the whole thing when c can do almost anything for everything enjoy your unfixable c++ shit and that guy is right.
>anons telling op to fire a co-worker stupidity?
>sabotage co-worker who's literally programming stuff while OP bitches about it in an anime imageboard
Joseph Martinez
If you must write C++, write C with Classes and label all your files .cc to denote that you use only the strict subset of C++ that makes your life easier.
Jaxon Cook
C with classes is the worst way to write C++. Write C++ like you would C, but with a bit of STL and templating to make your life easier.