@twotwenty feel free to continue pushing them wrong and look stupid, I'm just saying
@twotwenty sure, pointing out stupid things you do is an ad hominem attack, that's what it is, you cracked it
@twotwenty where did I mention a vaccine? As I already said I'm not playing your game whatever it is.
@twotwenty cute ad hominem attack, but why are you shredding the thread?... look you press the reply button from the bottom of the thread, no some random location, but good to see you took my advice to practice a bit
@twotwenty why don't you just spend some time to practice pressing the reply button, instead of repeating the same nonsense over and over again. I did not criticize your wording, I criticized your reasoning, it's not stupid cause it's over-dramatic or exaggerated, it's just plain stupid. Your endless pussy-ass "but I didn't mean it", "I'm just joking bro", "plz dun judge me sir" excuses are not making it any better.
@twotwenty So being dramatic means justifies being stupid? I don't care about whatever noble war of pretense you are trying to wage here, I'm just pointing out an obvious flaw in your reasoning, but you are unable to even recognize it thus far, let alone address it.
@twotwenty so now the evil them are dehumanization and you are the angel who is forced to dehumanize back? Eye for and eye, the ultimate philosophy. When the neighbors dog shits on your lawn, what do you do? Go shit on their lawn like a dog.
Meanwhile not a word about dehumanization in the OP, which you present as some sort of grand act of retaliation now, while all it actually is a revelation of your own delusional stupidity.
@twotwenty club
@twotwenty the "cause of worst wars" is dehumanization, welcome to lowest pond scum of humanity
@swiley oh yes, it all is just so forced, I can feel how reluctant you are, how much you wish you didn't have to do this. And before this horrible curse fell upon you the amazing things you publish were so numerous, I mean the timeline was overflowing with swiley genius, wasn't it? hmm... or could be perhaps that you don't like talking publicly about anything other than politics, and now that an opportunity presented itself you're going ham on it? Oh no, that couldn't be it...
@kornel You keep bringing up project that are notorious for being poorly designed from the language lawer's perspective, and try to present them as some kind of quality standard. If you can tell me how big of an issue memory errors are in C++ standard library implementations for example I might be convinced you know?
Obviously "regex replace" was an exaggeration, the point is, Chrome for one, is a huge unmaintainable monolith, as in not modular, and they are constantly looking for ways to automatically fix/inprove it somehow, through changes in the language and tooling, because hard to impossible to do it otherwise.
And what do you mean by insult? Who's person did I attack? Or did you mean I insulted a codebase? Unacceptable.
I actually used snakeoil specifically in reference to the state of the industry that is largely run on pop culture and marketing alone, without fair competition or any quality standards, but sure it's just an empty rant.
@kornel personal offense? I guess I have to chew it up for you after all. I don't take a personal offense, my point was that i don't believe that language developers are better at programming than the entire userbase of the language. But I guess you are too emotional to read through the flare.
@kornel There were no programming fads in 1957, you need pop culture to have fads.
I critique your philosophy with a bit of flare.
Tou dismiss it as emotional posturing.
It's Super Effective!
GOOG and MSFT, of course, as a practitioner of the discipline I have much respect for these cesspools of snake oil. It's not like they accumulate all the bad practices over the years in giant indivisible monoliths, and then try to find ways to regex replace some stings in them to fix all the problems, which would explain the mindset in the writeups you linked here.
You will make a real world difference when you implement a system of same complexity and objectively proove it more stable and otherwise equivalent, not by counting all 0 memory errors in a language that was designed to eliminate memory errors. And then on top of that somehow prove that a similar thing can not be achieved with same effort re-implementation in modern C++. Until then it's not a real-world difference, it's marketing.
@kornel since when is ADT and pattern matching the same thing?
And oh yes of course let's use it wrong and still make it work. Lets design a drill that is monkey proof and apply it across the board wherever any holes need drilling. It's actually an single exoskeleton that doesn't fit most applications but we have change the world to make it fit.
That philosophy is flawed (yet surprisingly common), it presumes the language developers are better than anybody else and found the holy grail of programming. Many such holy grails had come and went. In time the hordes of illiterate apes whose incoherent scribbles rust is so desperately trying to contain will come up with superior programming patterns that it never even anticipated and completely deprecate it.
C++'s philosophy is to respect its userbase.
@trinsec @Acer
> use c++ as your main language
> don't follow c++ best practices
I mean, It's the biggest, most obvious sore point of Qt, it simultaneously pisses off people who love and hate c++, and that's why it almost always comes up in discussions like this. Most people don't care though. The bigger reason for it going out of fashion would be web taking over the desktop market. People choose Electron over Qt not because it's better but because they want to write a webapp and just tick the increasingly irrelevant box of desktop support.
I worked on a project that was essentially a small private notwork of desktop-esque machines, ideal candidate for Qt, but they went with Electron as a GUI framework, because executives wanted to be able to hook up to the network with their laptops and have access to everything from a browser tab. That and a pretty (even if dysfunctional) html/css UI is what sells these days.
@kornel I guess I'm a heretic, but to me the UB of optional is a feature, and I don't see variant as a standing for pattern matching, to me it was primarily presented as an alternative to traditional dynamic polymorphism, where you would naturally restrict yourself to common denominator interface, not branch on different interfaces.
You seem to overestimate the scope of features in c++. They are usually rather narrow and focused, with a purpose to get a certain specific thing right, not chase the latest fads in programming.
@kornel took a cursory glance and it seems all backwards to me. They are trying to wedge in a borrow checker into c++ move semantics, that immediately smells to me as a dead end. It again seems to me as this weird fixation, like they have rust as a premise and try really hard to sell it. What they want is to be able write some safe code, and then unleash the spaghetti monster on it and make sure it can't introduce memory errors. What a noble goal it is.
Instead to understand what I have in mind you have to ask "can I have a library, the invariant of which, given that I don't break it on my side, is equivalent for most intents and purposes to the borrow checker". You shouldn't use std::move and try to design try to change the whole language to allow borrow checking. Whatever move function you use (be it separate or a overload of std::move) it should not get a lvalue reference and return a rvalue reference, it should deal with special types, that don't have the necessary lifetimes according to language definition, but emulate the necessary lifetimes. The immediate hurdle you run into then is lack of mutable compile type counter, by just adding that, you can already do a lot as a library. Template meta-programming a subset of prolog? Yes please!
And yes the borrow checker is way harder than rust developers thought it was, it has a lot more gray areas and tradeoffs to make, I would prefer a library of primitives that would allow me to make the all the meaningful choices there are to make.
@kornel compatibility with old C and C++ code will need to be kept regardless. Rust has to do it too, and it often has serious problems in that regard, hence the ridiculous chase to rewrite the whole world in rust.