[–]▶ No.812363>>812367 >>812445 >>812449 >>812464 >>812487 >>812497 >>812845 >>812994 >>813040 >>813335 >>814855 [Watch Thread][Show All Posts]
How come people still hate on C++?
With C++17 the language got a complete overhaul and is better than ever before. There is literally no reason not to use it instead of any of the meme languages that try to replace it.
▶ No.812365
Cool. Maybe in 10 years C++17 will be widely supported.
▶ No.812367
>>812363 (OP)
>complete overhaul
Did they remove any bad features? I would assume not.
▶ No.812368>>812372 >>812382 >>812388 >>812506
Why should I use C++17 over something like rust with memory safety or plain C for portability? What use case exactly does C++17 fullfill over targeting C++11 for me?
▶ No.812372>>812377
>>812368
Only 3 replies in, and already the Rust fag appears.
▶ No.812376
>How come people still hate on C++?
C still exists.
▶ No.812377>>812388 >>812579 >>814803
>>812372
He's not wrong though. Everyone who is thinking of writing something in C++ should be encouraged to use Rust instead.
Those who refuse should face some form of social stigma to correct their behavior.
Only in this way will we eliminate memory leaks as a bug in future software.
I think of it like vaccines. It's too important to allow people not to use it.
▶ No.812381
no thanks NSA, I don't want your backdoored compiler and ez buffer overflows
▶ No.812382>>812493 >>812763 >>813728
>>812368
C++17 is still C++. Rust is not C++.
▶ No.812388>>812390 >>812394 >>812741
>>812377
This >>812368 is me. Your arguement for rust is poor. Vaccinces are fucking kike poison to fuck peoples bodies up against any real plague or diseases.
>Those who refuse should face some form of social stigma to correct their behavior.
>Only in this way will we eliminate memory leaks as a bug in future software.
Or you could only let competent people write software in the first place such as whites and the occasional asian. Sure there are shit coders amongst them too, but they tend to have the better skill sets for programming. The whole point of idiot proof solutions like rust was originally to make it cheaper to outsource coding jobs worldwide to people like pajeet and niggers. Even though you could proof your program by using something like ADA already I still don't see why anyone should target C++17 over C++11. Someone have an arguement?
▶ No.812390>>812391
>>812388
So you're an anti-vaccer...
▶ No.812391>>812403
>>812390
Fuck.... I hate it when people I side with turn out to be completely retarded.
▶ No.812394>>812519
>>812388
Consider the following:
std::unique_ptr<uint_fast16_t[]> var(new uint_fast16_t[N]());
which is C++11
VS the C++14/17 variant
auto var = std::make_unique<unsigned int[]>(size);
C++11 is not a dealbreaker but everything afterwards further refines the language.
▶ No.812395>>812398 >>812399 >>812400 >>812403 >>812569 >>812582 >>812586
What can C++ do that Rust can't?
▶ No.812398
▶ No.812399
>>812395
Earn you a job as a white male.
▶ No.812403>>812405 >>813047
>>812391
Injecting mercury and/or aluminum alongside poorly crafted "vaccines" which even if they did work, the aforementioned heavy metals would mar the body's immune system to properly create antibodies, of which would only last months at best, is what's truly retarded.
>>812395
Reinvent itself without having to ride off the backs of low testosterone hipster sjws from silicuck valley.
▶ No.812404>>813448
What's a good way to learn C++?
▶ No.812405>>812408 >>812489
>>812403
>Reinvent itself without having to ride off the backs of low testosterone hipster sjws from silicuck valley.
No, it just had to ride of the back of C, and add even more ways to create buggier code.
Rust is not riding off the backs of hipsters, they are trying to ride off the back of Rust.
▶ No.812408>>812410 >>812427 >>812680 >>812716 >>813784
>>812405
the biggest traps in C are pointers and strings neither of which have to be used in modern C++ so it can't have more ways to produce buggier code.
▶ No.812410>>812417
>>812408
if you don't use pointers then you probably use an unpaved road to shit on
▶ No.812417
>>812410
>if you don't use pointers properly then you probably use an unpaved road to shit on
Fixed. Go take your street shitting crap somewhere else and use rust.
▶ No.812427>>812429
>>812408
The biggest traps in Rust, are the creators...
▶ No.812429
>>812427
looool
get it?
catamites!
LOOOOOL
▶ No.812443
modularity is curse and blessing
▶ No.812445>>812516 >>812626
>>812363 (OP)
it's too big, too hard to understand, too ugly, and too much to learn, with too little to gain. You could learn C, ARM and x86_64 assembler, Lua, JavaScript ES5, HTML5, CSS3, and three scripting languages in the same span of time required to master the thousand-dollar IDE you need to not want to kill yourself from even looking at C++.
People have done some good with C++. This is proof that companies could be built on brainfuck if that were promoted strongly enough.
As terrible as Java and Go are, they were inevitable once C++ caught on.
If you want high-level and low-level code in the same language, while being able to call out to C libraries, then some better options are Common Lisp, Forth, Nim. A popular route is still "learn a dozen technologies instead of C++".
▶ No.812449>>812459
>>812363 (OP)
>How come people still hate on C++?
It's easier to be an edgy piece of shit on an imageboard than walk the walk.
▶ No.812459
>>812449
>imageboard opinions are to be discarded
oops, I discarded this opinion of yours first, and then I got a segfault trying to continue to apply your wisdom.
▶ No.812464>>812473
>>812363 (OP)
>How come people still hate on C++?
People who are bad at programming blame C++ for their own ineptitude. Rust is marketed solely to people who suck at programming.
▶ No.812473>>812479
>>812464
it's true. I've learned at least enough to appreciate pretty much every other language of note. There are just a few left, that I didn't get to during the years that I was addicted to programming novelties.
But I gave up on C++ the very first time I tried to compile my very first OO code in it.
This means that I am an awful programmer. Similarly if I were offered some small-business job to do in an open office on the floor of a rendering plant, I would be a bad programmer for immediately turning away from the choking smell of death. I just can't hack Microsoft Access or spreadsheets or whatever they'd wanted.
▶ No.812479
>>812473
I don't understand what is so difficult about it. The hardest part is making sure everything is up to the current standard tbh.
▶ No.812487
>>812363 (OP)
C++03 master race
▶ No.812489
>>812405
>Rust is not riding off the backs of hipsters
At first I thought you were just a troll, but after reading your other posts it's clear you're just retarded.
▶ No.812493>>812673 >>812763
>>812382
>Rust is not C++.
Rust is shit.
Rust posters should be banned.
▶ No.812497
>>812363 (OP)
>C++17 the language got a complete overhaul and is better than ever before
Have they considered rewriting C++17 in Rust?
▶ No.812506
>>812368
>over something like rust with memory safety
Because C++ is usable today.
>or plain C for portability
C++ is portable, and you can always use it as 'C but with that other feature I like'.
>What use case exactly does C++17 fullfill over targeting C++11 for me
Various things are less shit. Like std::regex which was all sorts of retarded (despite the boost::regex it was copied from not having its issues) was finally fixed in C++17.
▶ No.812516>>812525
>>812445
>it's too big, too hard to understand, too ugly, and too much to learn
Other than "too ugly", git gud. If you've not noticed, half the US population is headed into careers in webdev and other low skill tech paths. If you don't want to be crying about the minimum wage in a few years, you need to be able to handle the stuff that is "too much to learn".
>If you want high-level and low-level code in the same language, while being able to call out to C libraries, then some better options are Common Lisp, Forth, Nim.
How odd that every coding challenge we have here never sees functioning or practical entries from these three, since they're so much better.
▶ No.812519>>812627
>>812394
auto is a bad keyword as it winds up duck typing the language and then you get error propagation like in a scripting language. 'auto considered harmful', etc..
▶ No.812525>>812527 >>812551
>>812516
>git gud
>minimal wage
I'm one promotion away from six figures, so not much time left in the day to learn this one shitty language. I'll see what I can do about git-gudding in some other languages though.
>we never see those
check the catalog. Forth OP. Common Lisp entry in the next.
▶ No.812527>>812533
▶ No.812533>>812536
>>812527
born the 80s. My dad was making twice my income at my age and he wasn't a boomer either. Do you think boomers are the only people making money anywhere? Man, look around your area for tech companies, then look them up on glassdoor. Look for trends in the bitchy negative reviews. When you find a company "that would hire anybody! standards are so low!" but that "won't train you or give you time enough to train! It's impossible to get better", then apply immediately to that company.
▶ No.812536>>812546 >>812554
>>812533
>Do you think boomers are the only people making money anywhere?
Yes. Boomercucks and anything that isn't white.
>Look for trends in the bitchy negative reviews. When you find a company "that would hire anybody! standards are so low!" but that "won't train you or give you time enough to train! It's impossible to get better", then apply immediately to that company.
Oh I have considered and tried that route. But no one hires if you are a white male. Especially if you can't affort to pozz yourself at the local prison/college with jewed eduacation bullshit. Don't even mention certificates as those cost a hand and a leg ontop of only hiring pajeets down that route. I've already decided I will never be able to get a job that doesn't make me go into debt permenantly and have planned accordingly with what little I have, which is to say knowledge. Farming and making everything myself is all I could do now on land I don't buy for SHTF. Or else I will be executed in a prison for farming on unused land before SHTF.
▶ No.812546>>812628
>>812536
most colleges suck but HR just looks for 'college', not 'sucky college'. Find something private, without electives and campus life, and get an Associates in Virtualized Compu-BS Computer-Virtualness. A few ten k of debt sucks but it's not infinite, and it's very easy to kick the repayment can until you can start to comfortably repay. If you spend a few years in the military first you can live off of the GI bill while owing nothing for the college courses you're taking.
the white male situation I guess depends on the area. I'm not a job board. I just really recommend at least getting an entry level job in some kind of tech thing, even if it's helping old ladies set up WordPress.
sage because there's no relevance to C++ except that you shouldn't learn it.
▶ No.812551>>812553
>>812525
Never sees "functioning or practical entries". The one lisp entry in the thread with objective measurement ran nearly 100,000 times slower in 3,000 times more ram.
▶ No.812553>>812557
>>812551
very sad. I guess the next CL programmer will have to try harder when his job is on the line in the field of
...
uh, picking inane numbers out of a stream of lines of comma-separated numbers, represented as text.
▶ No.812554>>812556
>>812536
You're just making excuses. I've taken several contracting jobs where they don't know if I am literally a dog and I work remotely.
Also, the SHTF scenario we have to look forward to is a "refugee crisis" where entirely unexpectedly the bumper crop of niggers we're raising in Africa by sending them all the food that should have been given to our children can't survive in their country anymore. It's why black culture is being promoted so hard right now, it's to prepare us to accept shipping them to the US by the tens of millions. If you want to prepare for that, land and a gun isn't going to do shit, you're going to need to be ready to blow those boats as they try to dock.
▶ No.812556>>812559
>>812554
It's already happening you stupid faggot. I am hungered and will soon be unable to buy food, for shitskins don't let whites earn jobs anymore. They are simply denied unless a boomercuck with tons of experience in a very specific field applies or you lie to get the position.
▶ No.812557>>812558
>>812553
I'm sure the lispfags would have had a much easier time on a hard problem.
▶ No.812558
>>812557
Sure, lots of categories of harder problem. You're not a programmer at all are you?
▶ No.812559>>812560
>>812556
Could you even be more millennial?
I have literally zero experience in the field I'm contracting in right now and I'm a white supremacist. Exert yourself.
▶ No.812560>>812563 >>812564
>>812559
>could you be more millenial
T.boomercuck who lied and deceived his way into a position.
You probably aren't even white or you would have said national socialist you faggot larper. Call me when you can bake your own single layered pcb from nothing but your hands inna woods.
▶ No.812563
>>812560
Nice try pajeet. You can go back to shitland.
▶ No.812564>>813118 >>813372
>>812560
I'm gen X and I don't lie, I get hired because people see that I'm really fucking good and they don't care about my education or experience as they figure that it won't matter.
>You probably aren't even white
dohoho
▶ No.812569>>812583 >>812584
>>812395
- Integer templating. https://internals.rust-lang.org/t/pre-rfc-integer-templating/2974
- Multiple inheritance
- Operator overloading (but why would you want that?)
▶ No.812579
>>812377
Why not Zig though?
▶ No.812582
>>812395
• A lot easier to deliberately plant backdoors in code and plausibly deny that when someone calls you out
• Easier to write code with data races (sometimes this is needed for low level data structures or something)
• Often can include existing C code as is, if it's written in the common subset of C and C++.
• If you code in C++, you get the added troll bonus: call pajeets/monkeys everyone who doesn't code in C++.
▶ No.812583
>>812569
>- Multiple inheritance
Rust doesn't use inheritance really.
And if you're saying about trait implementation, then one type may have implementations for any number of traits (IIRC).
▶ No.812584>>812585 >>812587
>>812569
>rust cant into operator overloading
what? the only operators that you can't directly overload are >, <, >=, <=, ==, !=.
https://gist.github.com/tamamu/7ec2242d95a81990be129cd9ed7bcdc9
▶ No.812585
▶ No.812586>>812588 >>812620
>>812395
Compile a large project in less than 24 hours.
▶ No.812587
>>812584
Wait, you can overload math but not equality? How does that even make any sense?
▶ No.812588>>812591
>>812586
Not an issue of the language itself.
▶ No.812591>>812592 >>812603 >>812606
>>812588
Except that it is. The design of the language requires having the full representation of a method available when compiling a call to remove bounds checking. That's going to be getting near O(N^2) to compile, and is why they try to steer you away from compiling in release mode. As it's a language problem and not a compiler problem, it will literally never scale (unless they redesign the language).
▶ No.812592>>812596
>>812591
>bounds checking
this has literally nothing to do with compile times.
>compiling in release mode is discouraged
also literally bullshit.
read this and please stop posting bullshit: https://news.ycombinator.com/item?id=12269950
▶ No.812594>>812595 >>812597
>People who shit on rust encourage others to write sepples code with safe pointers, move semantics and RAII everywhere
Why not just use rust at this point?
▶ No.812595
>>812594
>muh syntax
>muh sjw
>muh coc
▶ No.812596>>812599
>>812592
>this has literally nothing to do with compile times.
You have absolutely no idea how any of this shit works under the hood, do you? This is the optimization of the LLVM IR he mentions. The elision is implemented as a transform on that IR. And like I said (and he said), they have to have all those methods available which is a huge amount of IR. His post is about an unrelated feature of the language which also requires having a boatload of methods available, but it's the same problem in general with Rust. And it will never, ever be fixed.
▶ No.812597
>>812594
>Why not just use rust at this point?
Try it. Download Rust, compile it, change one single line of code in librustc (which is implemented in rust, despite the name), recompile, and verify it runs. How long did that build/run/test cycle take you? 1 second? 10 seconds? ... 2 hours?
▶ No.812599>>812601
>>812596
>You have absolutely no idea how any of this shit works under the hood, do you?
actually i do
>This is the optimization of the LLVM IR he mentions.
but he didnt mention that. but you are right that the llvm optimization passes are what takes the most time
>And it will never, ever be fixed.
well of course not. it literally is a feature.
▶ No.812601>>812603
>>812599
>but he didnt mention that
<slow compilations are dominated by generating and optimizing LLVM IR
You're a mess, anon.
▶ No.812603>>812605
>>812601
uuuum... >>812591
no you are a mess
▶ No.812605>>812607
>>812603
It's your own fucking link, anon. I thought Rustfags could check their own pointers.
▶ No.812606>>812608
>>812591
Complexity alone doesn't matter. How big are your projects? If your projects aren't going to scale infinitely then the language doesn't have to either.
Also since this is a C++ thread, please tell me about its compile time complexity.
▶ No.812607>>812609
>>812605
what the fuck? are you literally retarded? what even is your argument? because what you just posted is mine. maybe you should read the post which i posted the hackernews link in reply to.
▶ No.812608>>812611
>>812606
>How big are your projects?
Our largest internal project is 200k LoC (twice the size of librustc). I also work on Linux (I hear it's fairly large), and a game that is 850k LoC.
>If your projects aren't going to scale infinitely then the language doesn't have to either.
If you choose a language that does not scale and your project outgrows it, you're killed by your own success. Wise men think ahead.
>since this is a C++ thread, please tell me about its compile time complexity
What matters in development is the length of the build/run/test cycle. C++ can have similarly short cycles like C even on massive projects which is why it's a good choice but it requires considerably more discipline than C to keep it fast.
▶ No.812609>>812612
>>812607
Go be a child somewhere else.
▶ No.812610>>812622
cat-v can be right. It is about C++, at least.
http://harmful.cat-v.org/software/c++/
I particularly like
http://250bpm.com/blog:4 (the zeromq guy)
from it.
▶ No.812611>>812617
>>812608
>What matters in development is the length of the build/run/test cycle.
Then how about you enable incremental compilation for Rust?
▶ No.812612
>>812609
lol. not an argument
▶ No.812617>>812618
>>812611
Try it. It's still shit.
▶ No.812618
▶ No.812620
▶ No.812622>>812640
>>812610
>the zeromq guy
I'm failing to see how any of his examples are sane. Exceptions are used when the error has to be handled, but has to be handled by calling code ie when a library has an error that should be handled by the caller. Constructors don't need to handle a partially initialized state, they can just throw the exception and then the calling code can handle it. The destructor should handle the partially initialized state. Note that partially initialized is not the same as uninitialized.
▶ No.812626
>>812445
The amount of LARP in this post is incredible.
▶ No.812627>>812629
>>812519
But its okay when rust does it?
▶ No.812628
>>812546
>here is my anecdotal evidence as to why c++ is bad and no one should learn it
i'd rather work in c++ than java any day
▶ No.812629>>812631
>>812627
Rust doesn't have auto though
▶ No.812631>>812632
>>812629
It has type inference which is literally the same you faggot
▶ No.812632>>812634
>>812631
It literally isn't though. Please read up one what auto is.
▶ No.812634>>812636
>>812632
>auto five = 5
>let five = 5
???
▶ No.812636>>812650
>>812634
auto lol() { 5 }
you cant do that in rust
▶ No.812639>>812688
C++ is shit. All the languages that claim to replace it are even worse.
pic unrelated
▶ No.812640
>>812622
zeromq itself is streetshitter-tier so I'm not surprised to hear he has bad opinions.
▶ No.812650
▶ No.812673>>812674 >>812677 >>812693 >>812763
>>812493
I think there’s a resurgence of anti-Rust shills like yourself because at this point in time /tech/ has not yet learned how to be memory-safe, and I think we Rust promoters are going to be part of the throes of that transformation, which must take place.
/tech/ is not going to be the C-centric board that it once was in the last few years. Rust enthusiasts are going to be at the center of that. It’s a huge transformation for /tech/ to make. They are now going into a memory-safe mode, and Rust users will be resented because of our leading role. \
But without that leading role, and without that transformation, /tech/ will not survive.
▶ No.812674>>812761
>>812673
Don't forget: Rust is also thread-safe.
I agree with you 100% though.
▶ No.812677>>812761
>>812673
You sound very idealist, even by /tech/ standards. I would not want to be in the same physical space with you.
▶ No.812680>>812682 >>812716 >>813791
>>812408
C doesn't have strings. You are thinking of C++.
▶ No.812682>>812685 >>812716
>>812680
A string is normally a "string of characters". In that sense, any array of data is also a string of data. It's also known as a list of data.
▶ No.812685>>812687 >>812716
>>812682
Arrays, lists, and strings are different things. Please learn more about this topic before you try to speak as if you have some expertise.
▶ No.812687>>812689 >>812716
>>812685
A "string" is simply a "stringed together set of data". It's that simple.
▶ No.812688>>812699
>>812639
C++ is THE shit.
I don't even get why exist languages besides ASM, prolog, ocaml and C/C++.
They are all you can possibly need.
>webm related
▶ No.812689>>812692 >>812716
>>812687
No, a string is a C++ class containing a char array and a set of methods designed to work with said char array.
A list is not an array at all, but is instead a struct containing a pointer which can reference the same type of struct.
An array is a contiguous block of a given data type.
Please educate yourself before spewing nonsense.
▶ No.812692>>812694 >>812716
>>812689
>reddit spacing
A "string" is simply a "stringed together set of data". It's that simple.
▶ No.812693>>812695 >>812761
>>812673
This language wankery is honestly going out of hand. Resistance to Rust is a consequence of promoting your language in a wrong way. You don't come here and start telling everyone how great this language is, how safe can your programs be or how nice of a community it has. By doing that you achieve exact opposite of what you wanted to achieve. People view you as a bullshit merchant, since all you do is brag about superiority of rust and talk shit about everything else. Instead of presenting language itself, you should present its practical applications (and don't even mention what language you used, let people find out by themselves). If people see that your language solved particular problem with great success, they will become interested in it and start using it. Forcing people to replace C with rust won't get you very far. And now that we've seen that rust is basically a religion at this point, even less people will approach it.
▶ No.812694>>812696 >>812698 >>812716
>>812692
>A "string" is simply a "stringed together set of data". It's that simple.
But that's wrong you retard. I already explained to you what a string is. "string" the way you are using it is not a thing. There is no such terminology in the C programming language. You are probably thinking of arrays. Please stop trying to act like you have any level of expertise regarding this subject because it is very clear that you know nothing about C or C++.
▶ No.812695>>812705
>>812693
>If people see that your language solved particular problem with great success
hmmmmmmmmmmmmmmm
▶ No.812696>>812697 >>812716
>>812694
>But that's wrong you retard.
Not it isn't you retard.
>I already explained to you what a string is.
You were wrong you retard.
>"string" the way you are using it is not a thing.
Wrong, retard.
>There is no such terminology in the C programming language.
Yes there is you retard.
>You are probably thinking of arrays.
An array is a string you retard.
>Please stop trying to act like you have any level of expertise regarding this subject because it is very clear that you know nothing about C or C++.
Other languages have strings too you retard.
▶ No.812697>>812700 >>812716
>>812696
>An array is a string
[citation needed]
>Other languages have strings too
You are moving goalposts. We are specifically talking about C and not other languages. Terminology differs between languages.
▶ No.812698>>812701 >>812716
>>812694
hint: a string's meaning it's in the name of the thing - it's a string of characters! If you can make a string of characters, then you can also extend that principle to a string of other types of data. String = list of characters, list of characters = string.
▶ No.812699
>>812688
I only need C++. I can write that code and run it anywhere, even compiled to webassembly, and call it from any other language (given I expose a C-like API), and I can be confident it will continue to be very well supported 20 years from now.
▶ No.812700>>812701 >>812716
>>812697
>[citation needed]
Common sense. Basic understanding of the english language.
>We are specifically talking about C and not other languages.
C has strings you retard.
▶ No.812701>>812703 >>812716
>>812698
> a string's meaning it's in the name of the thing - it's a string of characters
No, you mean an array of characters. How are you so retarded that you don't understand what an array is or that you can't define a word using itself?
>>812700
>C has strings you retard.
No, it has char arrays. Strings were a C++ addition.
>Common sense. Basic understanding of the english language.
So you still have no citation and you expect dictionary definitions of words to have any relevance when it comes to programming terminology. Got it. So basically you are mentally disabled.
▶ No.812703>>812704 >>812706 >>812716
>>812701
Arrays literally are strings.
>muh citations
Open a dictionary you retard.
▶ No.812704>>812716
>>812703
>Arrays literally are strings.
string has a very specific meaning in this context, and to make the claim that all arrays are strings is absolutely retarded and shows that you know literally nothing about C or C++.
▶ No.812705>>812707
>>812695
If you're pointing to "solving memory safety issue", then I've yet to see how rust is a great success. There is no large or successful software project to my knowledge, that I can use as a reference, to tell people how great rust is. Only thing that rust shills tell us is how something could have been prevented if it was written in rust.
▶ No.812706>>812709
>>812703
>Open a dictionary you retard.
pointer - "a useful suggestion or hint"
I guess programming terminology is defined by dictionaries, yeah? You are definitely wrong here.
▶ No.812707>>812723
>>812705
>There is no large or successful software project to my knowledge
Then you didn't even look. How about the compiler itself? Or maybe servo???
https://en.wikipedia.org/wiki/Rust_(programming_language)#Projects_using_Rust
▶ No.812710>>812711
>>812709
Terminology used within a programming language is defined by the people who created the programming language. Not by English dictionaries. I am going to stop responding to you because I suspect you might actually have low functioning autism and I don't consider arguing with autistic people to be a good use of time.
▶ No.812711>>812712
>>812710
Right out of my Oxford Advanced Learners Dictionary 7th edition:
>pointer
>2 (to sth) a sign that something exists
>string
>2 a set or series of things that are joined together
▶ No.812712>>812713
>>812711
Terminology used within a programming language is defined by the people who created the programming language. Not by English dictionaries.
▶ No.812713>>812714
>>812712
But the terminology wasn't created by the programming language designers. They used already existing english words.
I am going to stop responding to you because I suspect you might actually have low functioning autism and I don't consider arguing with autistic people to be a good use of time.
▶ No.812714
>>812713
Terminology used within a programming language is defined by the people who created the programming language. Not by English dictionaries
▶ No.812716>>812717
>>812680
>>812408
>>812682
>>812685
>>812687
>>812689
>>812692
>>812694
>>812696
>>812697
>>812698
>>812700
>>812701
>>812703
>>812704
Within the context of the C programming language, a string is specifically an array of characters. That is not open for debate. It is a fact about C. In C++ it's a specific class defined in iostream. Again, not open for debate. It's a fact about C++.
You are both dumbasses. Now shut the fuck up.
▶ No.812718>>812719
>>812717
reddit spacing would have an extra newline after each post reference.
▶ No.812719>>812721
>>812718
Only if the Reddior actually typed those. But he didn't. He clicked on the post numbers.
▶ No.812721>>812722
>>812719
You realize that sage does literally nothing when there are other people posting in the thread without sage, right?
▶ No.812722>>812725
>>812721
You realize that pooing in the loo does literally nothing when there are other people pooing in the street, right?
▶ No.812723>>812724 >>812726
>>812707
Let's be honest here. Some of projects listed there are a pure waste of time:
>servo
Oh great another browser engine. There aren't enough incompatibilities between them so we are creating a new one. Now you'll have to add servo-* prefixes to your css.
>REmacs -- a port of Emacs to Rust
Just what the fuck? You have too much time so you decided to port emacs to rust? For what purpose? You could instead improve original emacs.
>Pijul -- a distributed version control
What's wrong with git, svn, mercurial or any other 100 vcs' out there that we need another one?
>Rustation - a PlayStation emulator
I'm pretty sure there are tons of emulators written in other languages as well.
>Piston -- a game engine
Now we have 1 more game engine out of 500 already existing.
>Amethyst -- a data-oriented, data-driven game engine
+2
>Tor
They added few lines of rust to a project mostly written in other languages. Tor is now a rust project.
Why is no one developing software that could actually benefit from safety features? Where is Nginx/Apache rust equivalent? SQL servers? OpenSSH?
▶ No.812724>>812730
>>812723
>Why is no one developing software that could actually benefit from safety features?
Huh. Really makes me think..... (protip: servo)
>Where is Nginx/Apache rust equivalent?
https://github.com/hyperium/hyper
>OpenSSH?
https://nest.pijul.com/pijul_org/thrussh
Shall i continue spoonfeeding you? Or maybe you want to start using a search engine?
▶ No.812725>>812727
>>812722
You don't seem to understand what sage does so I'm going to explain it to you. Sage prevents the thread from getting bumped when you post. If someone else posts immediately after you without sage, the thread gets bumped anyways. It would appear by the way you are using it that you think sage is some kind of downvoting system. A bit ironic given your autistic screeching about "reddit spacing".
▶ No.812726
>>812723
>What's wrong with git, svn, mercurial or any other 100 vcs' out there that we need another one?
https://pijul.org/manual/why_pijul.html
▶ No.812727>>812729
>>812725
>muh downvoting
No i'm not using as a downvote. I'm using it when I'm posting stuff not relevant to the OP because it actually prolongs the lifetime of the thread.
▶ No.812729
>>812727
But to be honest: this thread is pretty shit. There is no need for me to sage.
▶ No.812730>>812732
>>812724
>servo
Yes, no questions here. But it's still another browser engine.
>https://github.com/hyperium/hyper
That's just a http library. I can't use that like I can use Nginx as static/application server without programming in it. Also
>Be aware that hyper is still actively evolving towards 1.0, and is likely to experience breaking changes before stabilising.
Which means it's useless for production.
>https://nest.pijul.com/pijul_org/thrussh
I'm sure going to trust some random implementation that I've never heard of before that doesn't even have official web page. It also uses crypto library written in pure C.
So far the solutions you've offered are inadequate for use in real world applications.
>Shall i continue spoonfeeding you?
Please, do continue.
▶ No.812732>>812742
>>812730
>But it's still another browser engine.
Yes, but only an experimental one. Parts of it will be included in Firefox.
https://wiki.mozilla.org/Quantum
>It also uses crypto library written in pure C.
https://github.com/briansmith/ring
>Assembly 42.0% C 35.5% Rust 19.0% Perl 2.1% Python 0.7% Shell 0.4% Other 0.3%
>ring exposes a Rust API and is written in a hybrid of Rust, C, and assembly language.
>So far the solutions you've offered are inadequate for use in real world applications.
Parts of servo are actually used in Firefox 57. Also Rust is not even 2.5 years old. Of course most stuff is unfinished.
>Please, do continue.
ok
▶ No.812733>>812735
>>812731
How did you even find that? Good read.
"Discussion of the representation of strings in C is not fruitful
unless it is realized that there are no strings in C. There
are character arrays, which serve a similar purpose, but no
strings."
▶ No.812734>>812740
>>812731
But arrays literally are strings. Dennis Ritchie can't just change the definition of words just so that he can go full acktually.
▶ No.812735
>>812733
>How did you even find that? Good read.
I originally found it because of a magnificant spergout by Eric Raymond later in the discussion.
>Dennis Ritchie wrote:
>The question arose: why does C use a terminating character for strings instead of a count?
>Discussion of the representation of strings in C is not fruitful unless it is realized that there are no strings in C. There are character arrays, which serve a similar purpose, but no strings.
>Things very deep in the design of the language, and in the customs of its use, make strings a mess to add. The intent was that the behavior of character arrays should be exactly like that of other arrays, and the hope was that stringish operations on these character arrays should be convenient enough. …
>Given the explicit use of character arrays, and explicit pointers to sequences of characters, the conventional use of a terminating marker is hard to avoid. The history of this convention and of the general array scheme had little to do with the PDP-11; it was inherited from BCPL and B.
>Robert Firth replied:
>A correction here: the C scheme was NOT inherited from BCPL. BCPL strings are not confused with character arrays; their implemetation is not normally visible to the programmer, and their semantics are respectably robust.
>Eric S Raymond replied to Firth:
>I’ve seen bonehead idiocy on the net before, but this tops it all --- this takes the cut-glass flyswatter. Mr. Firth, do you read what you’re replying to before you pontificate? Didn’t the name ‘Dennis Ritchie’ register in whatever soggy lump of excrement you’re using as a central nervous system? Do you realize that the person you just incorrectly ‘corrected’ on a point of C’s intellectual antecedents is the inventor of C himself!?!
>Sheesh. No wonder Dennis doesn’t post more often.
>Next time dmr posts something, I suggest you shut up and listen. Respectfully.
>While Dennis Ritchie also replied to Firth:
>Robert Firth justifiably corrects my misstatement about BCPL strings; they were indeed counted. I evidently edited my memory.
▶ No.812740
>>812734
>words aren't allowed to have different meanings in different contexts
Cry harder faggot
▶ No.812741
>>812388
Right about rust, wrong about vaccines.
▶ No.812742>>812743
>>812732
>written in rust AND..
so not written in rust 100%, making the rust memory buzzword useless
▶ No.812743>>812746
>>812742
epic. Do you know that Rust has an unsafe keyword that allows you to write memory unsafe code? Do you know that there is a lot of unsafe code in libstd/libcore?
▶ No.812746>>812748
>>812743
>rust contains unsafe code
then why even tout it as memory safe language?
what a meme
▶ No.812748>>812751
>>812746
epic. Do you know that there are bugs in the borrow checker, that allow segfaults, use after frees, double frees, etc to happen?
https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AI-unsound
▶ No.812751>>812757 >>812783
>>812748
as i said, nice meme language
▶ No.812757
>>812751
But mozilla is so diverse, they even donated money to human rights activists. How can you be so ignorant. Typical white trash :(
▶ No.812761>>812762
>>812674
>>812677
>>812693
It's copypasta you dumb fucking aspies. Cleverly edited copypasta, but copypasta nonetheless.
▶ No.812762
>>812761
So? It is still true.
▶ No.812763>>812764 >>812768
>>812673
topkek I recognize that pasta
10/10
>>812382
>>812493
Here's some food for thought.
Both Rust & C++ are shit.
Maybe the solution is NOT to cram High Level AND Low Level Language Constructs into the same fucking language.
▶ No.812764>>812765 >>812766 >>812776
>>812763
>G-g-g-guys! I totally recognize that pasta. Please don't pay attention to the fact that I'm posting this right after another anon said that it is pasta.
Please define what you mean with high and low.
▶ No.812765>>812766 >>812767 >>812768
>>812764
What kind of low-effort bait is this? That's my first post in this thread.
▶ No.812766>>812768
>>812764
>>812765
oh, I forgot there's no IDs here. Well, that explains the nonstop bait & shilling.
▶ No.812767>>812769
>>812765
LOL! Dp you want to know how I know that you are a newfriend?
▶ No.812769>>812770
>>812767
m8, I've been in the IPFS threads for years.
>>812768
do you even try? I got those from here.
▶ No.812770>>812771 >>812842
>>812769
>IPFS threads
they are literally /g/ tier though
▶ No.812771>>812772
>>812770
>No True Scotsman
▶ No.812772>>812773
>>812771
I am going to stop responding to you because I suspect you might actually have low functioning autism and I don't consider arguing with autistic people to be a good use of time.
▶ No.812773>>812775
>>812772
>I have lost the ad hom argument, and will close with another ad hom out of desperation.
>I will also signal that this is my last post, to avoid any further confrontation that will hurt my ego
▶ No.812775
>>812773
LOL! UPBOATED!!!11
▶ No.812777>>812778
>>812776
So what you are saying is that Rust and C++ actually dont have low level language constructs?
▶ No.812778>>812779
>>812777
No, that they try to do both at the same time.
▶ No.812779>>812780
>>812778
But neither Rust nor C++ have low level language constructs
▶ No.812783>>812785 >>812786 >>812816 >>813041
>>812751
Those who dismiss Rust as a meme language should be dismissed themselves.
You are preventing a future of fast, bug-free code due to your petty political grievances.
You are not only harmful to the community, but to the technical foundations on which our future, post-national civilization will depend.
You should be ashamed that you let your own pettiness get in the way of true progress in the field of language design.
Rust is something that only happens once every few decades. It is chance at redemption, and we can't let it fail.
▶ No.812786>>812788
>>812783
lmao just use java if you want fast, bug-free code
▶ No.812788>>812789 >>812794
>>812786
Java is not thread safe
▶ No.812789>>812790
>>812788
>safety
If pajeet can code in java you can too. A real programmer doesn't need crutches
▶ No.812790>>812791
▶ No.812791>>812792 >>812794
>>812790
Don't be ableistic!
▶ No.812792>>812793
>>812791
How large is your Klabnik folder?
▶ No.812793
>>812792
i only have eleven pics of him
▶ No.812794>>812795
>>812781
>>812785
>>812788
>>812791
why do you save so many pictures of that thing?
▶ No.812795>>812796 >>813118
>>812794
To trigger /tech/ of course. Look how fat he is in this one. LOL
▶ No.812796>>812797
>>812795
>To trigger /tech/ of course.
well it's not hard to post triggering things
▶ No.812797
>>812796
That is a nice mashup of my favorite series and movie. Two internets to you good sir!
▶ No.812812
reminder that this is a C++ thread
▶ No.812814>>814582
Jesus, guys. Allow me to help:
C has strings: encoding-unaware sequences of nonzero chars, terminated by a zero char. They're handy (and cumbersome) in that you can sufficiently pass them around as a single pointer, and that you can get free tail-sharing substrings out of them ala lists, and that you can handle them more or less the same regardless of where they're coming from (provided you don't take responsibility for cleaning up after them, and provided the caller expects any mutation).
C++ has no strings. People who cite std::string are just mocking you, much like Haskellers who cite Strict Haskell.
HTH
▶ No.812816>>812825
>>812783
We are not claiming that all ideas that have come from the Rust people are retarded but that they have oversold their project, bordering on fraud. They say it's memory safe but then it turns out you have to be very careful if you want it to be memory safe. That was the whole point! Instead of first focusing on writing a great language, they hold conferences and pay shills to shit up (((social media))) and imageboards with their unfinished meme language. It reeks of "Fake it 'till you make it".
(pic not related)
▶ No.812825>>812844
>>812816
I actually shill Rust for free. There are no paid Rust shills here. Stop being so paranoid.
▶ No.812842
>>812770
It's true to say that /g/ is leagues above /tech/ in terms of actually having technical discussion, yes
▶ No.812844>>812847 >>812855
>>812825
why do you do it for free?
▶ No.812845
>>812363 (OP)
>How come people still hate on C++?
Calling the shitstains that flooded this thread "people" is giving a bit too much credit, don't you think? These are rats to be exterminated.
▶ No.812847>>812848
>>812844
Less bugs = better software. Better software means I don't have to bitch at upstream maintainers when something breaks as often. So use rust already.
▶ No.812848>>812964
>>812847
Absolute shit syntax = more bugs. So use C/C++ already.
▶ No.812855>>812860
>>812844 (checked)
Because I really like Rust.
▶ No.812860>>812866 >>812871
>>812855
Do you actually code things with it? Like in your free time?
Say, something like an image viewer, a torrent client, or a color picker.
Or is it like every other Rust apologist I've seen, who do a few small tutorials, maybe a shitty project a year ago, and their only continued interactions with it is on reddit?
▶ No.812866>>812868 >>812871 >>812875
>>812860
He's a post-ironic memester who constantly praises Rust while making fun of Steve Klabnik. He holds no actual opinions. His posts contain zero information about whether Rust is a useful language or not.
▶ No.812868
>>812866
im sdeve glabbnik XDDDD
▶ No.812871>>812873 >>812875 >>813044
>>812860
Of course I Kode stuff with it. I contribute a lot to Rust itself, servo, ripgrep and various other rust programs. All of that under my real name which means that I can't post it here lest I get my shit kicked in by CoC wielding antifa goons.
>>812866 (checked)
That is so obviously not true. Every time someone actually posts something else than >muh coc >muh sjw >muh syntax I always reply seriously and give good information.
▶ No.812873
>>812871
Why do you contribute to a pozzed language?
▶ No.812875>>813043
>>812866
Ahh I see
>>812871
>I contribute a lot to Rust itself, servo, ripgrep and various other rust programs
Contributing isn't the same thing, m8. I've contributed to a lot of projects. Often easy work, patching stuff other people have thought of before you.
You prove your worth by putting together entire applications.
Not basic CLI shit either. Too easy.
▶ No.812964
>>812848
>Absolute shit syntax = more bugs.
That's why C code has so many more bugs than Ada. Rust looks like shit because it was created for C++ programmers.
▶ No.812994>>813224
>>812363 (OP)
>C++
>OOP
Keep trying.
▶ No.813040
>>812363 (OP)
>complete overhaul
If it got more retarded features pushing for high level object stuff, more abstractions, and more walls against direct memory management count me out. I'll keep using C-like c++ until the hell freezes over.
▶ No.813041>>813053
>>812783
>Pettiness
Cool, glad to see a forward thinking individual. 50% of obstacles for Rust adoption is CoC ingrained in the language development itself. Since it's an open source project, and you're so interested in its future and humanity future, you can evangelize more properly this board, which seems to be important enough for you to shill for free, by forking the project and removing the CoC.
>But the Rust CoC doesn't apply to your project-
Get out
>But CoC is actually just being a decent person
Get out
>B-but you're just a shitlord
What the fuck are you doing here.
Present your git repo with the fork, preferably not hosted at github, asap so we can confirm your good will.
▶ No.813043>>813055
>>812875
Working on other people's code in large projects is considerably more difficult than writing one yourself.
▶ No.813044
>>812871
>Every time someone Savagely beats me in an argument I cower and cry while acting as I've won, no one believes me but they will surely not notice on the next thread that I'll create in 5 minutes.
Fixed that for you. All those "Muh's" are serious issues.
There's an episode of southpark closely related to this issue. Garrison makes a super fast medium of locomotion that requires people to sit on a dildo to work for no apparent reason.
All the things you mention are dildos. You might like them, or you might be able to live with them. You might have no pride watsoever.
But the dildos are not needed for the idea to work. The dildos are in fact, something few people here can stomach.
▶ No.813047
>>812403
Go away you fucking retard
▶ No.813053>>813056
>>813041
Nobody except /pol/ cares about the CoC. As soon as it's going to be an actual issue, people will start to ignore it.
▶ No.813055
>>813043
Absolutely not. The creative process of realizing a vision is many times more difficult than stepping in someone else's shoes.
It's easy to follow, but hard to lead.
▶ No.813056>>813060
>>813053
I care about it, Steve. And you know as well as I that when it becomes an actual issue it will be because people are pushing it, not ignoring it. And it's just a matter of time given this is under the control of the organization that is funding Antifa.
▶ No.813058>>813060
So how is cargo handled? Like, if I upload a white pride crate, can Mozilla delist it? If they delist things, what happens to anyone with my crate as a dependency or who downloads my code and tries to build it?
▶ No.813060>>813063
>>813058
The Rust CoC applies to crates.io. However you can specify git repository urls in your Cargo.toml so you don't need to use crates.io.
>>813056
your
>50% of obstacles for Rust adoption is CoC
is still bullshit
sage because this is a C++ thread
▶ No.813062>>813225
What's the best C++ IDE in current year? I've noticed there are some pretty reputable contenders.
>text editor with plugins
>Jetbrains Clion
>QTCreator
▶ No.813063>>813065 >>813070
>>813060
So if I don't pretend that a guy cutting his dick off is a mental disorder they'll delete my shit. What a great community, I can't wait to be a rust missile. This is like the other community Mozilla funds, riseup, which also pulls service from anyone identified as right wing.
▶ No.813065>>813066
>>813063
I doubt they'll remove your crates just because of your opinion that you state elsewhere. But I'm interested in seeing how they'd react!
▶ No.813066>>813068
>>813065
>I doubt they'll remove your crates just because of your opinion that you state elsewhere.
So this Mozilla-funded project will differ from that other Mozilla-funded project, then?
▶ No.813068>>813069
>>813066
Removing stuff might break other crates that depend on it. I don't know. Let's find out?
▶ No.813069>>813077
>>813068
Maybe we should port C+= to Rust as a test.
▶ No.813070>>813071 >>813073 >>813075 >>813077
>>813063
>WHAT DO YOU MEAN I CAN'T NAME MY CRATE NIGGER-NIGGER-WATERMELON????
seek help
▶ No.813071>>813077
>>813070
I bet they'd have deleted BitchX.
▶ No.813073>>813077
>>813070
Kill yourself nigger
▶ No.813075>>813077 >>813078 >>813085
>>813070
It also means your package can be removed when you write something some faggot does not like in a public forum completely unrelated to the project, or because the documentation for your statistics library is not trans-inclusive enough, or because you did not hire a feminist consultant to review your code, or because you ignored a bug report from a cross dresser...
▶ No.813077>>813079
>>813069
>>813070
>>813071
>>813073
Go and find out. I'm genuinely curious about the result.
>>813075
Citation needed
▶ No.813078>>813079 >>813080
>>813075
coc only affects official rust spaces, not the internet as a whole. This has been talked to death if you've payed any attention to the coc drama in Node and Ruby
▶ No.813079>>813080 >>813082
>>813077
>Citation needed
Not anymore. We had enough cases like that now. You can't keep pretending they did not happen without being or pretending to be ignorant.
>>813078
You know this is bullshit.
▶ No.813080
>>813078
CoC applies to crates.io.
>>813079
Seems like I missed most of these cases. But I'm interested in reading about those.
▶ No.813082>>813084 >>813085
>>813079
Everyone who posts "Citation needed" is a leftist fedora. He knows they'll use their ability to delete things for political purposes, he's just lying to us.
▶ No.813084
>>813082
[Citation needed]
▶ No.813085>>813104 >>813131 >>813717
>>813082
Everyone who posts 'Everyone who posts' is a fucking zog shill.:^)
I know mozillafags will try to force their CoC upon as many people as possible. But I doubt how much is possible for them. I've seen a lot, but some of the claims made in >>813075 just don't seem plausible.
>because you did not hire a feminist consultant to review your code
>because you ignored a bug report from a cross dresser...
I find these two claims particularly interesting. I'd like to add their proofs to my proof collection and forward them to a friend who claims CoCs are useful.
On the other hand, your D&C is harming literally everyone on this board, including people who hate Rust for whatever reason. You're wasting everyone's time and make those of you who oppose the rust look retarded.
▶ No.813104
>>813085
Always accuse your adversary of what you, yourself are doing.
▶ No.813112
i think i cracked it
its not that they using c++ for what it is
they stick to core concepts of c++ and program everything else themselves (because its really a horrible language in many ways)
why they stick to it is because after that, when you run into wierd ass problems(more obscure or complex the language, bigger this is) you can have c++ magic belt sort of, just whip a solution out from millions of lines of code someone else has created
see? this way you can program anything and when going gets tough even if you fail you still sort of can solve it by finding out if someone else has solved it
▶ No.813114>>813226 >>813299
maybe early on c++ had architectual advantage but now many have passed it,
attribution and modularity, somewhat useful standards is all its got left in it
▶ No.813118
>>812564
Papillon Roquefort is one of the best cheeses I have ever tasted.
>>812795
He looks like some ultrafag that ate John Ritter.
▶ No.813131>>813163
>>813085
It's happening in several projects with CoC.
It's happening already in rust own repository, where you can see people talking about "offensive sintax" while leaving other errors open for literal years.
The CoC is already affecting the community. We know it, you can claim to be ignorant in every thread but we're just the same people repeating you over and over that we don't want it.
Fork it. Fork it or well, you will have no advance here.
Show us how you don't care about the CoC by dismissing and erasing the CoC. Show us how much you don't think the CoC doesn't make rust community dangerous by forking the project and publicly attaching your name to rust minus CoC.
If you can't. Fucking shut up please.
▶ No.813163
>>813131
>where you can see people talking about "offensive sintax" while leaving other errors open for literal years.
nice disinfo. Those errors that are left open for literal years are actually being worked on. It just takes a while because the solution isn't that easy. You would know that if you would actually read the discussion in the issues.
But of course you don't because you are just a LARPer that has seen my thread on it.
Btw >muh Coc: https://github.com/rust-lang/hoedown
▶ No.813224>>813299
>>812994
Are you mentally challenged? Where in the OP does it say oop?
▶ No.813225>>813228
>>813062
Why would you need an IDE for anything other than Java?
Retard.
▶ No.813226
>>813114
>many have passed it
such as?
▶ No.813228>>813234 >>813238
>>813225
I like using a computer to support me in doing my work. I have no problem sparing CPU cycles and memory for an application to support me in writing my computer software. It's no longer the 1980's where we had to share time slices on a mainframe or count CPU cycles on a microprocessor.
▶ No.813234
>>813228
>I like using a computer to support me in doing my work.
Then Vim it is.
▶ No.813238>>813239
>>813228
And what exactly does the IDE do that "helps you write your computer software"?
Fucking LARPer.
▶ No.813239>>813242 >>813254
>>813238
It has a text editor with syntax highlighting to give some visual clues about elements of the code. It has a debugger system that will step through the source code and maintain variable watches for the variables in play. I can group together distinct applications into an overarching project. I can do all these things with windows provided for me by the people who wrote a specific purpose environment that integrates these main features into windows and buttons.
▶ No.813242>>813244
>>813239
t. never wrote any signifcant amount of code
▶ No.813244
>>813242
ps. nice buzzwords
▶ No.813254>>813255 >>813333
>>813239
>It has a text editor with syntax highlighting to give some visual clues about elements of the code.
So does every single post-1990 text editor with the exception of acme.
>It has a debugger system that will step through the source code and maintain variable watches for the variables in play.
So does every GNU system.
>I can group together distinct applications into an overarching project.
So does every text editor with the appropriate plug-ins.
▶ No.813255
>>813254
That's why it's called the integrated development environment. Imagine that!
▶ No.813299>>813306 >>813323
>>813224
C++ claims to be multiparadigm... but any approach to do something non-oop will be derided and treated like shit, when in several fields most of the oop stuff simply work worse.
It's kinda like rust, where they say "sure, there are fields where safety isn't important, we're cool and reasonable" however will reject between curses every single scenario where you claim safety isn't the most important thing.
>>813114
>architectural
This is a buzzword by people that believe themselves to be doing superb work while drawing flowcharts of structures and objects for hours and forcing everyone to follow them.
In truth their flowcharts run against EVERYTHING if you consider for a second the hardware they're running their programs. If we're going to be strict, there's a good guideline to follow, what runs best on the machine. However, for some reason it's not that what we should follow, instead we should follow some retarded GOF scheme of multilayered ineptitude and no creativity.
People that "care" (note quotes) about architecture claim that singletons are evil but don't know why. Nest loops needesly and lose millions of dollars on things that end up running at super snail speed, They talk about the dangers of raw pointers but misuse memory with overly sluggish objects 99% of the time.
▶ No.813306>>813656
>>813299
Is your favorite language C?
▶ No.813323>>813334 >>813656
>>813299
Programmer time is almost always more important than computer time. There's a good guideline to follow, maintainable code is quicker and easier to maintain than "optimized" code. People do not need "creative" code and generally do not hire programmers for that purpose. People need boring code that the next developer can easily come in and start tinkering with it to extend functionality and hunt down bugs.
▶ No.813333>>814618
>>813254
Nothing in the Linux world compares to the power of Visual Studio. Try this with your "you don't need an IDE" editor: find only all the references to a class member across all files in your program when there are other unrelated members of the same name. For example, members with names like "node", "list", "x", etc. will often appear in hundreds of classes so a retarded search will hand you a haystack.
Those of you who have never worked on anything large won't understand the value of this.
▶ No.813334>>813336
>>813323
That's the line the Java people used to say to justify their bloated mess of a language before it became obvious that spending forever in hell near the end of a project trying to reduce garbage generation to an acceptable level was a very large amount of unaccounted for "programmer time".
▶ No.813335>>813340 >>813446
>>812363 (OP)
meh, I rather just use Java, or C.
▶ No.813336>>813339 >>813409 >>813446
>>813334
I'm not that guy but you sound like the guy who sucked at programming in general, but especially java.
▶ No.813339>>813365
>>813336
You sound like you've never worked on a large Java or .NET project and don't know how disgusting GC-optimized Javalike code is.
▶ No.813340
>>813335
>I rather just use Java instead of C++
THE ABSOLUTE STATE OF /TECH/
▶ No.813365
>>813339
>large Java
define large java project.
▶ No.813372
>>812564
Pas mal la collection de fromage.
▶ No.813373
Why is there no C++ widgets library based on Skia?
It seems to be the the preeminent drawing library presently, and is written in C++.
A Qt/GTK alternative with a well supported yes, by Google graphics base seems like a good idea to me.
Could make FOSS applications much nicer if it's well designed.
▶ No.813409>>813425 >>813446 >>813557
>>813336
I'm not the guy you replied to either, but he's right. I've worked on large Java projects that absolutely insist that EVERYTHING become an "abstraction" of something else.
Usually enterprise shit.
▶ No.813425>>813455
>>813409
Edsger W. Dijkstra (1989)
"TUG LINES," Issue 32, August 1989
"Object oriented programs are offered as alternatives to correct ones" and "Object-oriented programming is an exceptionally bad idea which could only have originated in California."
▶ No.813446>>813451 >>813517 >>813558
>>813335
>>813336
>I rather just use Java
>but especially java.
Java is a disgrace. Literally the only thing it has going for it is "portability" (as long as the machine you're aiming for has the right version of the JVM available and installed :^)). Otherwise, it is worse than C++ in every single regard:
<piss-poor performance, every object is fucking pointer to heap-allocated garbage-collected memory
<shit-tier generics
<worse capacity for abstraction, despite being supposedly higher level (but Java programmers sure like their cargo-cult "abstractions", as mentioned by >>813409 )
<more verbose, more boilerplate everywhere, making even trivial things tedious
C++:
auto x = [](double a, int b){ std::cout << a - b; return a + b; };
return x(2.45, 6);
Java:
interface EnterpriseGradeLambdaFactoryBean {
Double pajeetPls(Double a, Integer b);
}
//elsewhere, far, far away:
EnterpriseGradeLambdaFactoryBean x = (a, b) -> { System.out.print(String.valueOf(a - b)); return a + b; }
return x.pajeetPls(2.45, 6);
▶ No.813448
>>812404
Buy the C++ Primer and read cover to cover
▶ No.813451>>813457
>>813446
>shit-tier generics
still better than templates, sorry you have sepples stockholm syndrome
▶ No.813455
>>813425
OOP was all about message passing, people just got stuck on objects.
▶ No.813457>>813458
>>813451
>still better than templates
lol'd. good one
I'm sure you enjoy passing primitive types as generic arguments. Oh wait, you don't, because generics in Java only work with pointerobject types. Have fun paying for an extra indirection accessing your Integer because you can't make it an int.
▶ No.813458>>813460 >>813464 >>813496
>>813457
c++ generics are glorified copypasta preprocessor macros. They are objectively inferior and a hack
▶ No.813460>>813461
>>813458
Whatever you say, Pajeet my son. Keep that slow and clunkyEnterprise Grade™ code flowing!
▶ No.813461>>813464
▶ No.813464
>>813461
And neither is >>813458 . Just stating a retarded opinion is not the same as making an argument, friend.
▶ No.813469
▶ No.813496>>813513 >>813518
>>813458
Pro C++ programmer here. Templates are great for things that would have been copypasta in C projects, and absolute pure cancer for things that would have been generic functions in C projects. The problem is, C++ programmers only understand that very late in their careers and prior to that will create an unholy mess if not tightly controlled through code review. They're really too dangerous to have in a language as they're easier to use wrong than right.
The funny thing is, rust made the same bad decision here which they refer to as monomorphization. And it's one of the reasons why the language is too slow to use. But they had decades of hindsight so the only excuse is retardation.
▶ No.813513
>>813496
>muh monomorphization
Do you know that you dont have to use generics in Rust?
fn slow<T: Trait>(t: T) {}
fn fast(t: &Trait) {}
▶ No.813517>>813526 >>813657
>>813446
I don't like Java much either, but you are being purposely more compact in how you've written your C++ code, like having the curly braces on the same line as the statement, while not for the Java.
▶ No.813518
>>813496
Rust if fast though. Are you referring to compile times? That's being worked on.
▶ No.813526>>813530
>>813517
Just how fucking retarded are you?
>auto x = [](double a, int b){ std::cout << a - b; return a + b; };
>EnterpriseGradeLambdaFactoryBean x = (a, b) -> { System.out.print(String.valueOf(a - b)); return a + b; }
▶ No.813530>>813550
>>813526
Just how fucking biased are you?
let x = |a: f64, b: i32| { print!("{} ", a - b as f64); a + b as f64 };
▶ No.813550>>813600
>>813530
>missing the point
fuck off steve, this is not your fight
▶ No.813557>>813621
>>813409
> I've worked on large Java projects that absolutely insist that EVERYTHING become an "abstraction" of something else.
>
>Usually enterprise shit.
I work on large scale JAVA programs too. I guess the difference is I get to design the ultimate goals, etc. I'm the main planner.
It sounds like whomever decided how things work in your project isn't really doing a good job, to be honest.
▶ No.813558>>813657
>>813446
I find trivial things to be pretty easy. I dont really agree with your opinions listed except for verbosity. "making trivial things tedious" is really about the user programming it I think.
▶ No.813559
▶ No.813600
>>813550
>>missing the point
But your comparison is completely dishonest.
▶ No.813621
>>813557
>It sounds like whomever decided how things work in your project isn't really doing a good job, to be honest.
>I'm the main planner.
eg., the 1%
The 99% are at the total mercy of them.
▶ No.813656
>>813306
I hate c and c++, sadly most improvements upon them are shit (either by the c++ dark council or by memelang crafters) and my problem domain is still something that requires low latency and memory management so I'm simply stuck with them.
>>813323
"mantainable" doesn't mean anything. Just because you call overdesign and overabstraction "mantainable" doesn't mean it is mantainable.
To me your words sound like someone doesn't want to refactor their code when it breaks, so they build a lot of countermeasures that with time become just as unbearable.
Your code is not special, it's shit. And when you realize new requirements enter in conflict with old ones you have to write several parts again. Putting a band aid over it will not be something mantainable(without quotes, since I'm actually talking about something being mantainable unlike you) on the long run. There's no single structure that will manage to make things easier to scalate and mantain without a huge long term investment. At some point you will find yourself trying to make some OOP mess work and will realize what I'm talking about, there's no need for me to further explain this.
Either you'll find that the compilation server that you thought it was an obvious need for your application will become unaccesible at a critical time. And you will wonder why even such a small application needs a compile server to begin with.
Or either you'll find that you have whole teams working on very small features that could be taken by a single programmer if it was simpler. You'll find that the cost of programmers will rise up because even if you thought it was "easy to understand because it's object duh" the complexity skyrocketed far far away from the grasp of your common junior, and now you need suddenly 10 new hires able to understand it in a week.
OOP has shown that it brings much more problems than it fixes. Some of the things that attemps to fix aren't problems to begin with. At least not the most important ones. In fact, the solutions are problems on their own.
OOP acolytes love to say "premature optimization is a sin" not even realizing their whole scheme is standarized premature optimization. Only it tries to optimize things that aren't even important anyway.
I'll say it again. The things you care for are not important. I don't need to insult you. The fact that you think "programmer time is the most important" while favoring such time consuming measures is a good insult on its own.
But don't believe me. It will come to you, sooner or later, the feeling of changing works just because the codebase became an indigistible mess, or perhaps you'll start losing hair because your codebase can't keep up with demands of things that the market demands. Remember the vitriol I'm trowing at you at this point. You might have an epiphany then.
▶ No.813657>>813662 >>814892 >>814893 >>814934
>>813517
>purposely more compact
Did you miss the fact that in Java you have to define an interface for each lambda signature you want to use?
>having the curly braces on the same line as the statement
Read again. I did the exact same thing for the Java lambda.
>>813558
>I dont really agree with your opinions listed except for verbosity.
Excessive verbosity is exactly one aspect making trivial things tedious in Java. All that fucking boilerplate is a reason why programming in Java without an IDE is as pleasant as stabbing yourself in the face repeatedly.
>"making trivial things tedious" is really about the user programming it I think.
In the case of Java, it's not. Why does everything have to be in a class? Why do I have to repeat the access specifier for every class member? What's with the obsession with explicitly specifying thrown exceptions for every single method? Why do I have to write
System.out.print(String.valueOf(a - b));
instead of
std::cout << a - b;
or
printf("%f", a - b);
? Because Java was designed with the philosophy that the programmer is a dumb replaceable cog in a corporate machine, which means:
<everything should be written explicitly and verbosely so the code monkey doesn't fuck up (Java programmers still fuck up, i.e. with null pointers)
<everything should be "modularized" in a class "abstraction" so any dumb code monkey can replace another without having to understand much of the code base (fails when the project inevitably turns into OOP spaghetti, with tangled dependencies, tortuous data flows and mysterious side effects on hidden state)
Here, have a nice AbstractSingletonProxyFactoryBean "abstraction", the natural consequence of the language's design:
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html
▶ No.813673>>813675 >>813679
Look I have no idea. I actually really like C++17. It's very comfortable to work in. Rust came out of nowhere and looks like hipster bullshit and I can't see a reason to switch. I get that memory safety is important but can't people just -oh I don't know- program safely in C++? For one the syntax of Rust is garbage and has MORE random symbols than C++ and Rust isn't even an industry standard. It's just a fuckton of hipsters and autists squealing at you and I can't understand why...
▶ No.813675
>>813673
Rust is a nightmare to program in as they dumped every language concept they could find into a heap rather than keep it clean like Ada. It's significantly slower to get shit done in compared to C++ and in real use would thus be expensive to use. But people might still use it were it not for it not scaling at all. I don't know why they called it 1.0 seeing as it's completely unusable. In my industry, we took a look at it when they announced 1.0 and decided it was some sort of joke. It's likely doomed as even if they manage to fix their mess they have a lot of bridge rebuilding to do.
▶ No.813679>>813691 >>813763
>>813673
>can't people just -oh I don't know- program safely in C++?
How dare you?? It's the current year! Asking for aptitude and critical thinking in engineering is offensive to women, hipsters, Indians and transsexuals. Now is the time for safe spaces!
▶ No.813691>>813696 >>813700 >>813701
>>813679
why?
can women not into critical thinking?
▶ No.813696
>>813691
They cannot. They're supposed to be raising babies, not doing man's work. I'm sure companies love having twice the employees, but they're making money by selling our future. It will kill us.
▶ No.813700
>>813691
Women parrot ideas they heard from other women which heard them from men.
▶ No.813701
>>813691
Critical thinking is a white male supremacist social construct and women are an oppressed minority just like the others. They need to be propped up into cushy high-paying positions because sexism slavery patriarchy kill all men. It doesn't matter if they conform or not to your problematic ideas about "critical thinking", shitlord.
▶ No.813717
>>813085
>the /tech/ "community" is divided into 2 groups, those who oppose rust and those wh do not.
rust is a meme language created by sjw's with nothing better to do that will disappear into obscurity in a year or two. Anyone here program in F#?
▶ No.813728
>>812382
>Rust is not C++.
That's a feature.
▶ No.813730
Rust reminds me of subversion. It was shit but it got pushed uphill and everyone kept saying it'd have proper merge tracking any day now (kinda like rust's compile times). It was clear to tech masters that it'd never have the features required and they avoided it. Linus got a lot of shit for refusing to use it despite popular insistence of how great it is. And then git was created and everyone agreed that subversion had actually been shit all along and everyone stopped using it.
▶ No.813763
>>813679
>Now is the time for safe spaces!
I have just had an illumination about the reason behind all that Rust type safety circlejerk.
▶ No.813766>>813792
Go reminds me of subversion. It was shit but it got pushed uphill and everyone kept saying it'd have proper merge tracking any day now (kinda like Go's generics). It was clear to tech masters that it'd never have the features required and they avoided it. Linus got a lot of shit for refusing to use it despite popular insistence of how great it is. And then Rust was created and everyone agreed that Go had actually been shit all along and everyone stopped using it.
▶ No.813772>>813776
Most of the time people who want generics are trying to do something stupid.
▶ No.813776
>>813772
Like write type-safe code that isn't slow as shit?
▶ No.813784>>813791
>>812408
>C
>strings
pick one
▶ No.813791>>813793 >>813806
>>813784
>>812680
>C doesn't have strings
char *string="I'm a huge faggot pls rape my face";
▶ No.813792
>>813766
Go and Rust solve completely different things. No one that's using go is going to jump shit becaus something else came out.
▶ No.813793>>813794 >>813808
>>813791
That's not a string you retard. That is a char array.
▶ No.813794>>813795 >>813851
>>813793
that's what strings are retard.
▶ No.813795>>813801
>>813794
The creator of C disagrees with you retard.
▶ No.813801>>813805 >>813991
>>813795
Any kind of array is a string.
▶ No.813805>>813814
>>813801
That is incorrect. Please try again.
▶ No.813806
▶ No.813808>>813810
>>813793
A string is a null terminated char array. I'm a C expert.
▶ No.813810>>813812 >>813846
>>813808
>I'm a C expert
Apparently not since your definition of a string differs from the person who created the language. Dennis Ritchie himself has stated "there are no strings in C".
▶ No.813812
>>813810
Doesn't matter. Dennis Ritchie is dead. This makes me the preeminent authority on C.
▶ No.813814>>813819
>>813805
Any kind of array is a string.
▶ No.813819>>813829
>>813814
That will continue to be incorrect no matter how many times you repeat yourself.
▶ No.813829>>813831
>>813819
That will continue to be incorrect no matter how many times you repeat yourself.
▶ No.813831
>>813829
Show me a quote by the creator of the language supporting your assertion.
▶ No.813846>>813867
>>813810
Prove you're not taking this out of context and that he wasnt using it to say "strings are not special unique snowflake objects with special features associated with them in C, they're just arrays of characters instead"
▶ No.813851>>813862
>>813794
strings are actually a bit different than char arrays. char arrays just point to memory but they don't contain any niceties like operator overloads or small string optimization stuff.
sage because you're obviously trolling but it worked well
▶ No.813862>>813867
>>813851
>small string optimization stuff
how much more optimized can you get sticking each character byte by byte right next to eachother with zero bloat?
▶ No.813867>>813876 >>813879 >>814522
>>813846
That's like saying C is object oriented because you can do everything using function ptrs on structs. In most languages, a string is de facto defined as a vector of characters. C does not have a vector implementation, not even in the standard library.
On the other hand all the char* related operations are found in the string.h header, so I don't know, this discussion is completely meaningless and retarded.
>>813862
C++ strings are vectors, they have a pointer, a length, a capacity, and are padded to 32 bytes. Modern implementations implement shorts strings inside the struct itself, instead of allocating memory on the heap, this speeds up things quite a bit.
Then you have the algorithms themselves, which can be optimized by processing multiple chars at once.
▶ No.813876>>813883
>>813867
The kind of optimization you're referring too is implemented in C already:
> padded to 32 bytes
C has this feature with http://en.cppreference.com/w/c/memory/aligned_alloc
>Then you have the algorithms themselves, which can be optimized by processing multiple chars at once.
This is called vectorization and any good optimizing compiler will do this to arrays. Look up https://software.intel.com/sites/default/files/8c/a9/CompilerAutovectorizationGuide.pdf for detailed reading. It's not something special that C++ strings do, any eligible array operation will do this kind of thing. So, a C "strncpy" for example will be using this exact kind of optimization you are describing in a modern implementation.
▶ No.813879>>813886 >>814740
>>813867
>C++ strings are vectors, they have a pointer, a length, a capacity, and are padded to 32 bytes.
length, capacity and padding are bloat
▶ No.813883>>813889 >>813998
>>813876
My mention about being padded to 32 bytes is about having the string on the stack, which C obviously doesn't do.
>This is called vectorization and any good optimizing compiler will do this to arrays.
Compilers aren't that good at vector optimizations tho, a good implemented vectorized algorithm with hardcoded SIMD will do better than a compiler in most cases.
Even then, most libc include these optimizations in their algorithms. I'm just replying to the guy of "what can be done better than the obvious", not saying C cannot do these things.
▶ No.813886
>>813879
BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT BLOAT
▶ No.813889
>>813883
I see, I guess my reply is being pretty derivative at this point.
▶ No.813991>>814531
>>813801
>Any kind of array is a string.
Can't tell if trolling or just mentally damaged.
▶ No.813998>>814724
>>813883
So if I write
char *s = "Howdy partner!";
Somewhere in mu C program, you are telling me s is not on the stack?
▶ No.814496
▶ No.814522
>>813867
Not knowing what the language is actually going to do with a C++ string prevents reasoning about its complexity and writing optimal code around it. They are a mistake, do not use them except where you are forced to. They're also rarely used in ENTERPRISE GRADE code, instead a mix of C 'strings' and ICU strings are used.
▶ No.814531>>814537
>>813991
string of characters = array of characters
array of structs = string of structs
string of floats = array of floats
▶ No.814537>>814538
>>814531
I don't know what programming you learned where that is true, but in C that is definitely not true.
▶ No.814538>>814543
>>814537
we already did that bit in this thread. C is too stupid of a language to warrant autistic correctness anyway.
▶ No.814543>>814547 >>814578
>>814538
what language do you program in?
▶ No.814547>>814576
>>814543
when I program in C, I target an architecture and code as if C were a low-level language, instead of a faggy nasal-daemon language.
Since I mainly use C to make use of Linux interfaces that scripting languages are too cool and too portable to exploit properly, this usually works out. If I gets to the point where I start having to fight post-RMS braindead C compiler maintainers, I stop and write in Forth instead. Forth's standard is better written, so its ambiguities are understood as license to better-exploit hardware capabilities, and not as a license to "do whatever the compiler-writer wants, tee hee" because "the program is meaningless".
▶ No.814576>>814582
>>814547
>Forth
LARPer detected.
▶ No.814578>>814582 >>814585
>>814543
Just read through the thread and found his previous comments attempting to explain that all arrays are strings. It sounds like he thinks "English" is a programming language.
▶ No.814582>>814584 >>814586
>>814576
is NULL just zero? Go to Freenode. Join ##C. Ask Zhivago. You will learn that it isn't. An absurdist HostileGCC could compile your code in an environment where NULL is something else, and it would be correct. That is LARPing. It's like getting so into details and patterns in the Bible that you forget that it even has anything to do with God. The machine is what's important. Forth exposes it. People usually write C as if it were a language of the machine rather than the fag-ass language you all say you want it to be.
>>814578
tech doesn't have IDs, friend. My next-previous post on this thread was >>812814 , in response to the previous bout of string autism.
▶ No.814584
>>814582
bearing in mind NULL being zero isn't actually a property of the machine. It's just A) an extremely useful and obvious value for an 'invalid' address, B) what everything actually uses, so if HostileGCC produces a running program, if you spy its interactions with the OS you'll see that NULL is zero again: https://en.wikipedia.org/wiki/Application_binary_interface , and C) an example of fag C
▶ No.814585>>814631
>>814578
>It sounds like he thinks "English" is a programming language.
Good job misportraying my point. I never said that English is a pogramming language.
Anyways arrays are strings. It doesn't matter what the creator of C says. You can't change the definition of words.
▶ No.814586>>814588 >>814589
>>814582
>is NULL just zero?
In C++, yes.
>More Forth
Show us anything you've written in Forth that made it past 10k LoC. Hell, even 1k LoC. A weekend project in Forth, surely you have many to choose from since it's so important to you and you aren't a LARPer, right?
▶ No.814588>>814590
>>814586
>talk to anons
>demand credentials
>credentials that don't matter that you wouldn't accept
OK anon. I once wrote a thing in Forth to replace a thing in production. The new thing lacked a memory leak and was faster enough that I could go longer without multiples of the thing. I got paid for this and it made some other things nicer to work with.
But it wasn't 1000 lines long.
OK wait.
I have lots of things.
This one is unmaintained and doesn't yet suit the main purpose I had for it, so when the need arises I actually use a node program instead.
Because it contains several alternstive implementations of core things, this thing is easily more than a 1000 lines long.
Phew, I was almost a larper.
▶ No.814589
▶ No.814590>>814591
>>814588
You seem like you're lying to yourself more than lying to us. That's just sad. Go write some code, anon. Pick a useful language like C, C++, or Python and just go at it.
▶ No.814591
>>814590
You're projecting, anon. So hard you've forgotten or don't believe that I also write C. It's common to know more than a few languages, you know. I guess you started with C++ and fag C and now have a phobia? That's tragic. Get back on the horse anon. C++ is uniquely shitty and any language less useful than C that adopted this nasal demon cult would've long imploded already. It's not that there's nothing bad out there, but you shouldn't be afraid to encounter them.
▶ No.814618>>814619 >>814625 >>814723
>>813333
>what is a vim ctags file + `gt`
>what is YouCompleteMe clang semantic support
Do some research.
▶ No.814619>>814723
>>814618
>responding to obvious bait
lurk more faggot
▶ No.814625
>>814618
>what is a vim ctags file + `gt`
>what is YouCompleteMe clang semantic support
it is absolute shit
▶ No.814631>>814633
>>814585
>it doesn't matter what the creator of the programming language who defined these terms says
▶ No.814632>>814633 >>814644
No language has strings. It is a term meaning array of characters. So yes char arrays in c can be called strings you fucking autists.
▶ No.814633>>814639
>>814631
>Dennies Ritchie defined the meaning of the word string
Are you actually retarded?
>>814632
Agreed
▶ No.814639>>814641 >>814642
>>814633
He defined the terms in the context of the C programming language. Accept his authority.
▶ No.814641>>814648
>>814639
No. He used already existsing english words. He wasn't some fantasy author. Stop being so autistic.
▶ No.814642>>814645 >>814648
>>814639
English language != C language
▶ No.814644>>814645 >>814659 >>814711 >>814713
>>814632
>No language has strings
Incorrect. C++ has strings. C does not.
▶ No.814645>>814647
>>814642
That is correct.
>>814644
Arrays are strings.
▶ No.814647
>>814645
>Arrays are strings
Not in the C programming language.
▶ No.814648
▶ No.814659
>>814644
>include string.h
Oooooooops
▶ No.814711
>>814644
I'm pretty sure nul terminated arrays are the definition of strings in C.
▶ No.814713>>814717
>>814644
http://man7.org/linux/man-pages/man3/strcpy.3.html
>CONFORMING TO POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
>C89, C99
>One valid (and intended) use of strncpy() is to copy a C string to a fixed-length buffer
>C String
▶ No.814717>>814731
>>814713
Is the Linux man-pages project the prescriptive authority on the C programming language now?
▶ No.814723>>814726 >>814732
>>814618
ctags cannot do this. YouCompleteMe, as stated above, documents that it can only do this within 1 file, which is nearly useless.
>>814619
It's not bait. I even pull Linux code into Visual Studio when I need to make any large changes because of the excellent refactoring support. It also doesn't ask me to send money to niggers in uganda.
▶ No.814724
>>813998
I don't mean that. It's actually hard to compare since char* is just a pointer and I'm talking about what it is basically vector<char> in C++. I'm just saying that in modern C++ implementations of string, if the string is short enough it will live inside the struct itself, without an indirection.
That means, a char* pointer will always be an indirection, but a string struct may not have that indirection if it's short enough.
▶ No.814726
>>814723
>excellent refactoring support
such as?
▶ No.814731>>814737 >>814742
>>814717
https://www.gnu.org/software/libc/manual/html_node/Representation-of-Strings.html#Representation-of-Strings
"A string is a null-terminated array of bytes of type char, including the terminating null byte."
linux manual + GNU
▶ No.814732>>814734
▶ No.814733>>814738
>>812731
>"There are no strings in C."
<In my opinion, C's array/pointer scheme for representation of character strings has worked out reasonably well
<C's array/pointer scheme for representation of character strings
<character strings
<strings
He means there is no string type/struct/class/whatever like there is in all other languages.
▶ No.814734>>814735 >>814736
>>814732
>…what the code does is trigger an ETW event which, when it’s turned on, will emit timestamps and module loads events. The event data can only be interpreted if a customer gives us symbol information (i.e. PDBs) so this data is only applicable to customers that are actively seeking help from us and are willing to share these PDBs as part of their investigation. We haven’t actually gone through this full exercise with any customers to date though, and we are so far relying on our established approaches to investigate and address potential problems instead.
so basically it is just a big nothingburger
▶ No.814735
>>814734
>unrelated shit being put into your binary
>nothing
lol okay kid
▶ No.814736>>814738
>>814734
then why hide it and leave it undocumented until someone calls them on it? and why remove it afterward after they're called out?
no proprietary compiler should be trusted ever.
▶ No.814737>>814738 >>814739
>>814731
Neither of those takes precedence over the words of the man who created C.
▶ No.814738
>>814736
>he posts this using his proprietary hardware
ok kid
>>814737
see >>814733 (checked)
▶ No.814739
>>814737
>has literally a library called string.h
ok kid
▶ No.814741
>>814740
>jpeg
my os can't handle this
▶ No.814742>>814743
>>814731
I'd just like to interject for a moment. What you're referring to as C, is in fact, GNU/C.
▶ No.814743
>>814742
GNU libc + GNU gcc = GNU/C
▶ No.814745>>814746 >>814749 >>814854
>>812731
"C++ is a badly designed and ugly language."
-Richard Stallman
http://harmful.cat-v.org/software/c++/rms
"C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C."
-Linus Torvalds
https://lwn.net/Articles/249460/
▶ No.814746>>814748 >>814797
>>812731
>>814745
"Barney Starsoup has no idea what he is doing. He's never shipped a production program of any kind."
-Casey Muratori
https://www.youtube.com/watch?v=1i4-e1okZtw
▶ No.814748>>814801
>>814746
Btw Casey Muratori is such a fucking retard. Pick literally any video from his Handmade Hero series skip to literally any point in the video and ther is a >99% chance that he is chasing down some obscure bug resulting from his retarded approach to programming.
I mean just listing to this "epic rant": https://www.youtube.com/watch?v=_xLgr6Ng4qQ
>private is bad because im a low level code artisan and i want to do everything myself. preferably over and over again.
▶ No.814749
>>814745
there was a 'rewrite it in C++' movement.
▶ No.814797
>>814746
>Casey Muratori
Who?
▶ No.814801
>>814748
>have a value i want to expose for reading
>dont want people to get their grubby mits on it and change it
>make a const get function so people can access the value
why would it be better to make the value public? wtf
▶ No.814803>>814811
>>812377
C++11 with smart pointers and some static analysis tools is a better solution than rust.
Rust has some bullshit CoC and a terrible, verbose syntax. If you can't get up to speed in the C++ game just fuck off and be a javashit monkey and leave coding to those that are motivated and qualified.
▶ No.814811>>814833
>>814803
>muh syntax
fuck off anti-rust shill
rust is the (zero-cost) future
▶ No.814822
is there anything specifically preventing me from using a triple pointer for a multidimensional array of objects like a boss?
▶ No.814833
>>814811
>cost is the (zero-future) rust
fixed
▶ No.814850>>815088
Sepples is my go-to language whenever I can't decide what language to use. Essentially if I'm expecting something to be more than 50 lines or so, I'll scrap whatever python I have and make it in C++. I can also write it faster than pretty much anything else besids python. Does this make me a masochist? Probably. I don't have any major problems with the language that aren't replaced by even shittier problems with other languages, and the control you get over compilation is unmatched save for C. What's not to like?
▶ No.814854>>814857
>>814745
>Posted September 12, 2007
▶ No.814855>>814870
>>812363 (OP)
Because it's a fucking mess. I'd rather use golang or Rust for systems programming. Shit, I'd rather just use _fucking C_.
And I'm a Scheme programmer.
▶ No.814857
>>814854
if 8 years is enough for a language to go from complete shit to good, then its too unstable to take seriously anyway
▶ No.814870>>814874
>>814855
Most systems work in C has a painfully huge amount of error handling. It's easily 50% of the code I write in our projects that require C. Careful and limited application of C++ eliminates the vast majority of it which is great as error handling is notorious for bugs, difficult to test, and mind-numbing to write.
▶ No.814874>>814879
>>814870
Yes, this is because in systems programming you generally want to have as explicit control over error handling as possible. If you want error handling to be done for you, you should probably be using higher level language.
▶ No.814879
>>814874
I don't think you understand the problem. If I have a call chain that traverses 10 functions, the last of which might generate an error but only the first of which wants to resume from an error, I have to clean up and forward in the middle 8 around those calls. In C++, that could be completely eliminated with exceptions and RTTI. I still have full control over errors, I just don't have to drown my code in error handling.
▶ No.814892>>815090
>>813657
>All that fucking boilerplate is a reason why programming in Java without an IDE is as pleasant as stabbing yourself in the face repeatedly.
why not use one of the two very competent and free IDEs? I don't give a shit about this at all.
And honestly, I dont think C++ without an IDE is any nicer. And I have a bit of experience doing this.
▶ No.814893>>814894 >>814897 >>814898 >>814912
>>813657
>In the case of Java, it's not. Why does everything have to be in a class? Why do I have to repeat the access specifier for every class member? What's with the obsession with explicitly specifying thrown exceptions for every single method? Why do I have to write
>
>System.out.print(String.valueOf(a - b));
>
>instead of
>
>std::cout << a - b;
>
>or
>
>printf("%f", a - b);
>
>? Because Java was designed with the philosophy that the programmer is a dumb replaceable cog in a corporate machine, which means:
>
><everything should be written explicitly and verbosely so the code monkey doesn't fuck up (Java programmers still fuck up, i.e. with null pointers)
>
><everything should be "modularized" in a class "abstraction" so any dumb code monkey can replace another without having to understand much of the code base (fails when the project inevitably turns into OOP spaghetti, with tangled dependencies, tortuous data flows and mysterious side effects on hidden state)
>
This is just retarded.
I dont know about you, but since I've spent more than 3 semesters worth of time in my life programming in java, I am aware that you can just type "sout" and hit tab or control+space depending on IDE, and it automatically generates the System.out.println("); and places your cursor between the double quotes.
and printf is a perfect example of making something trivial "I want to write words to the screen" complicated "huh? what are these %f codes? I have to memorize this chart just so I can hello world with this?". (yes, I know about how it can format things nicely, personally, even in C and C++, I prefer to have formatted my strings exactly the way I want them before the print out).
and no, java was designed to make complete intrinsic sense with how classes, incoherence, and abstraction in general works. A lot of what you hate is actually a great help to coders, especially when they have to deal with another shit coder's work.
One of the biggest problems/hold ups in programming complicated applications is fucking understanding eachother.
▶ No.814894
>>814893
>incoherece
inheritance, lol.
▶ No.814897
>>814893
>I have to memorize this escape code chart just so I can hello world with printf?
>I have literally never used printf before
▶ No.814898>>814902 >>814903
>>814893
Which other languages do you know well, besides Java?
I agree with some of the things you're saying, but it seems weird not to consider System.out.println a problem.
Explicit is good, but Java tends to be more verbose than is necessary to be explicit.
Python does a better job at being explicit, to the extent you can compare the two.
▶ No.814899>>814901
▶ No.814901
>>814899
or you know, maybe I didn't feel like typing extra about character arrays, and I figure every human is capable of thinking of a "string" as a sequence of characters.
lets get as autistic as possible, please.
▶ No.814902>>815091
>>814898
I have a few years of experience in C and C++ and I learned all of them in college, and I also learned python and VB in college, but am a bit out of practice.
I also learned a lot about hardware design as a CEG student, but I eventually shied away from that as it was extra tedious and I preferred programming. In Java. Which is why I now have about 10 years of intensive experience in java. After school, I had about equal experience in java and C++ but had a definite preference for java, and I figure its best to really splurge into one area as long as you understand the basics of the others, and so I've pretty much just focused on java since.
▶ No.814903>>815014 >>815067
>>814898
> it seems weird not to consider System.out.println a problem
you need to explain how it is a problem unless its just "lol thats a lot to type". if thats the case, try typing "sout" + [tab] next time.
▶ No.814912>>815067
>>814893
>System.out.print(String.valueOf(a - b));
also, next time, try "System.out.println(""+(a-b));
▶ No.814934>>815014
>>813657
System.out is just a stream, but most people learning Java don't realize it. They think it's just verbose syntax.
PrintStream o = System.out;
Using objects for I/O goes back to Simula 67.
http://simula67.at.ifi.uio.no/versions.shtml
▶ No.815014>>815092 >>815313
>>814903
>verbosity goes away if you don't have to type it yourself
>>814934
>you'll never have to deal with how 100% of other programmers write code in a language
meanwhile this is all rhetorical tricks. You'd rather argue about trivial shit like System.out.println, making objections to Java sound trivial, than about the FactoryGeneratorFactoryFactory shit that even other very bad OO languages have somehow mostly avoided.
▶ No.815067>>815309 >>815311
>>814903
Code is read more than it's written.
>>814912
That's some javascript-tier operator abuse. How can you tell someone to do that while at the same time saying that understanding each other is the biggest problem? What the actual fuck?
▶ No.815072
I invented C++, wrote its early definitions, and produced its first implementation. I chose and formulated the design criteria for C++, designed its major language features, developed or helped to develop many of the early libraries, and was responsible for the processing of extension proposals in the C++ standards committee.
▶ No.815088
>>814850
[autistic screeching]
▶ No.815090
>>814892
>c++ without IDE is not feasible
>i have a bit of experience
Clearly not enough experience because you are talking out of your ass.
▶ No.815091
>>814902
>i prefer java
good choice!
▶ No.815092
>>815014
How is the factory thing bad? Java has extensive support for programming patterns which makes it the best language for business applications.
▶ No.815309
>>815067
>That's some javascript-tier operator abuse. How can you tell someone to do that while at the same time saying that understanding each other is the biggest problem? What the actual fuck?
Its pretty easy to understand and I wouldnt consider it operator abuse. neither is overriding the toString method.
>815090
>c++ without IDE is not feasible
strawman harder.
▶ No.815311
>>815067
>Code is read more than it's written.
and there is nothing confusing about "System.out.println();" its pretty easily readable.
▶ No.815313>>815436
>>815014
>vial, than about the FactoryGeneratorFactoryFactory shit that even other ver
Ive already made the point that ive pretty much never encountered any issues in this area. The only time ive seen this is in horribly designed code. Bad design patterns and bad coders are not language specific.
▶ No.815436
>>815313
>i never encountered this issue therefore it is not an issue
ebin