Found this gem. A single well made video in a channel. The Channel owner probably made this channel just to house one video I guess.
I havent watched it all the way through but it seems to have alot of substance. By the looks of it the guy probably has spent atleast a year developing professionally in C++ and is pretty pissed to make that video as a ventfest
See if you cant agree with something he said
Removed by mod
Your comment was auto-removed for profanity, an admin will review it and undelete it soon if there has been an error. Sorry for the inconvenience.
what’s worse it’s people like the mod here 🖕
It’s 2h of AI pics with text read by an AI voice, which you didn’t watch all the way through, but still felt you needed to share anyway.
Thanks for warning before I clicked the video. Saved me the click.
Edit: wasn’t AI after all. Just a cheap microphone.
Or it’s low bit rate audio which is easier for AI to generate.
It’s wrong. The voice is not AI.
Clicked it, and you are right. It’s not AI at all, just not a professional microphone.
The voice is not AI, the video is quite good imo minus the slop pics.
I personally treat it as a feature movie length podcast without video. I don’t like that the video uses AI slop pics, but since I’m not looking at them I still enjoy it greatly.
I was thinking about that as well, why the fuck does he sound like Patrick star.
Because of his voice. Do you need justification for your meat flaps to sound the way you do? His voice is real and just sounds like that. Rude.
yet none of that makes the criticism invalid
“AI bad” people around here are as insufferable as the sloppers
This isn’t about “AI bad”.
This is about how incredibly rude it is to expect people to spend 2h on a video OP didn’t even care about enough to watch it themselves, and the uploader didn’t even care about enough to make it themselves.The video is great. The voice is real, the script too. If you have carpal tunnel you won’t be able to illustrate it any other way except for by commissioning someone. And would you do that for a video that you give out for free?
The video appears to be manually voiced and manually scripted. I agree though that the AI slop images are annoying.
If you can’t be bothered to put any effort into creating content, then why should people waste their time reading / watching it?
I watch things because they’re good, not because they were hard to make. It’s a good video, I couldn’t care less they used AI images because they’re there to support the content, not be the content.
I’m not even an AI-bad person and I can’t stand AI videos. I’d rather watch a reaction video with a real person than this original.
it’s likely a manually scripted video using a good AI voiceover and some AI images to support it.
This AI voice is better than a lot of human voiceover and the images are not the center of the video, so I couldn’t care less.
Or the entire thing could be AI. Who can say? The video author’s credibility has been destroyed by using AI at all. And so has yours for not recognizing the issue.
lol
Is there any source for the voice being AI? I’m pretty sure it’s just a guy.
javascript exists; his point is invalid
I also agree that Javascript is worse. C++ has two excuses for being bad:
- It has to be compatible with C, a language that’s multiple decades older than it, and
- It is not garbage collected.
Javascript has neither of those two excuses. People only use it today because of the ubiquity of web programming. In fairness, it did kill off a few other technologies, like Flash and Java applets, but that was more Webkit and Chrome picking it as the winner than anything else.
Maybe these arguments are a bit hand-wavy, but the way I see it, it’s like the C of the web programming era.
compatible with C
myth
It may not be perfectly compatible, but being mostly compatible with C was a large part of its selling point when it was originally announced. Without that, it probably wouldn’t have seen as much adoption. However, that choice also led to a lot of difficult design decisions which have become a liability today.
JavaScript isn’t even close to the worst language to ever exist.
Visual Basic Requires A Registered OCX.
Which one? Hahahahaha.
Which one? Hahahahaha.
Nice one.
There are two types of languages:
- Ones people complain about
- Ones that don’t get used
JavaScript, especially when using TypeScript, is quite frankly one of the most pleasant development experiences. Yes, there are still footguns here and there due to poor early choices and maintaining decades of backwards compatibility (===, etc), but literally all of them are caught by basic linting.
Go try using Salesforce’s bastardized version of old Java (Apex) if you want to experience a truly unpleasant language.
I don’t have a dog in this fight, but I want to point out that you can’t say the JS is pleasant to use while at the same time saying that that is the case if you are using another language that transpile to it. And specially when said language or “improved syntax” was created with the sole purpose to address shortcomings in JS.
Well two things:
-
yes I can. It’s perfectly possible for a slice of pie to be pleasant, and a slice of pie with ice cream to be more pleasant.
-
the original point of discussion to kick off this thread was claiming that js is the least pleasant.
It’s perfectly possible for a slice of pie to be pleasant, and a slice of pie with ice cream to be more pleasant.
In my personal opinion though, that’s not how I would describe Javascript vs. Typescript. Javascript was basically replaced overnight, to the point where you should be very harshly criticized for ever using it these days unless you’re maintaining a legacy project.
Yeah, we’re describing it the same way. A slice of pie with ice cream is preferable unless you don’t have ice cream available.
If you want to go on a rant about JavaScript then just do so, stop trying to goad someone into an argument about it.
I’m not trying to goad you into an argument, though I could have admittedly phrased things better. I just can’t think of any reason why someone would want adopt Javascript as it is with all of its problems. A slice of pie is better than nothing at all. On the other hand, using Javascript when a much better alternative exists (namely Typescript) would be a significant liability in my opinion.
-
They managed to make a worse version of ColdFusion, truly impressive.
Go try using Salesforce’s bastardized version of old Java (Apex) if you want to experience a truly unpleasant language.
I have. I like it more than JS as a language.
I just fucking hate the fact that it’s basically useless outside of salesforce; no one gives a fuck if you can code in apex except for people that need you to program some useless shit in salesforce
Apex doesn’t have namespaces. It doesn’t even let your organize your classes into subfolders. It is an absolute F-Tier language.
Try TypeScript, try React, try Go / Swift / Kotlin, spend more time with C#.
Apex doesn’t have namespaces.
Why do you need namespaces? Apex has a singular purpose on a single platform.
If Apex had a “singular” purpose then they wouldn’t have built it as a turing complete generalized programming language.
And the reason you need namespaces is for basic code organization. Classes organize functional objects with a module of code, namespaces let you’re break code into modules.
If you have two distinct modules of code, each with their own
loggerclass you suddenly have a confusing naming conflict with both loggers being exposed everywhere (or forced you to rename one).So then it forces you to try and name your classes like RenderingLogger or Service_Logger and then you very quickly run into the fact that Apex imposes arbitrary length limits on class names.
If you’re writing a simple db access script then whatever, it can get the job (worse then other languages but it can). If you’re actually trying to build a proper application like you publish on AppExhange then it’s shortcomings become apparent everywhere.
Hell it didn’t have a reasonable unit testing framework until a side project from some devs introduced Apex Mockery, and it still sucks compared to Mockito and actual professional testing frameworks.
C++ and JS are objectively shit languages from the pool of used languages.
What you quoted is one of the many COPEs Bjarne used in his lifetime. Because unlike JS people. who admit that JS is shit that was originally hastily put together, Bjarne needs the C++ bureaucracy, and the facade of superiority (even if it only lives in his own mind), to keep going because he has nothing else to show for.
C++ and JS are objectively shit languages from the pool of used languages.
This is a great point. There are a lot of even worse languages that are dead/dying and deserve to do so.
But personally, I see a lot of people who continue to defend JS. And I have worked in C++ for about 5 years now and nobody I have worked with praises the language - most want to ditch it entirely and switch to Rust. I can think of maybe one person who claims that C++ is good enough, which is hardly any praise.
This is all anecdotal stuff, so maybe we don’t see eye-to-eye though. I personally love C++, because it’s a really fun language to write, but I simultaneously think it’s an awful language, and the people who write/standardize it keep making the same kinds of bad mistakes over and over again.
I program JavaScript for a living. I’ve noticed how I’ve become blind to my language’s idiosyncracies, but I still believe it isn’t super bad. Especially with all the new shiny features that were piled on ever since 2018-ish (I think).
It is definitely nowhere near as bad as C++. And I’m only 6 minutes into the video.
I hate JS and I feel miserable writing it… but 5 minutes in and I’m convinced CPP is worse than JS. Even having learned some of it before I did JavaScript.
Would be true except it is not a programming language, it is a scripting language.
it’s turing complete and has syntax. you’re splitting hairs.
I am not. A programming language can be directly compiled into assembly to program the instructions. A scripting language isn’t compiled and can only provide instructions on when and what to do to a program that has already been told how by an actual programming language.
This distinction is both illogical and ahistorical. Python is a scripting language that has a compiler. Indeed, any scripting language can be translated into a compilable language and then compiled, a process called transpiling.
There’s also Java, which definitely compiles down to bytecode, but for a machine which physically doesn’t exist. The Java Virtual Machine is an emulator that runs on supported hardware, in order to execute Java programs. Since the Java compiler does not produce, say, x86 assembly, your definition would assert that Java is not a compiled language, despite obviously having a compiler.
As an exercise for everyone else, also have a look at Lisp, a very-clear programing language with a compiler, but some specially-built machines were constructed that optimized for Lisp programs, with hardware support to do checks that would take longer on other architectures.
You are talking about the compiler, not the language itself. Humans program in programming languages such as JavaScript and C to write computer programs. The code is human readable text in both cases. Both are code to describe how a program operates. Therefore C and JavaScript are programming languages.
With your logic, is Python not a programming language? The common compiler is an interpreter. But there are also real compilers that produce machine code. What about C# and Dotnet langauges and Java? They produce Bytecode that needs to be interpreted by an interpreter and executed at runtime, as these are not machine code yet. Are those not programming languages?
I’ve seen many people use a very different definition of “programming language”.
Yeah you clearly don’t know how modern languages work. Most “scripting languages” are compiled nowadays, in a preprocess step.
Why is a scripting language not a programming language? I am not sure if you are joking (would be fitting to be honest, but ask nonetheless in case it is serious). JavaScript is a programming language, and scripting is a sub category or type of it. The language itself does not define if its a scripting language, this is defined by the compiler.
What about compilers that compile to C first and then machine code / self running executable? I think this is how some Python compilers work (no I am not talking about bundles). What about C# and Dotnet? Java Bytcode?
Aha, so it is like HTML
HTML is not a scripting language, it is a markup language to describe text and give it meaning. You can’t write programs in HTML itself.
The guy called js not a programming language. Could my comment have possibly been a hommage to an old joke and old discussions on the internet?
HTML is a markup language. It only defines layout.
HTML with CSS is Turing complete.
The fuck?
Actually, CSS is Turing complete, ever since you could do math in it.
I’m all for humourous roasts of things, but does anyone really find this funny? Was the author possibly being serious? I don’t know. What I do know is that I stopped watching after the first four examples because they were all deliberately incorrect or misleading, but also didn’t seem funny to me.
- Crazy initialization
That sure is a lot of ways to initialize a variable! Even though some of these variables are quite different and would be initialized differently from each other in many other languages, even only counting the initializations that are functionally equivalent, there are a bunch of abuses of syntax that I’ve never seen used in the wild.
At this point I had hope that this was meant to be amusing.
- Printing to the console
C++ has had a version of C’s printf function from the very beginning. That weird stream syntax has some hardcore fans but many people ignore it. I did my CS degree close to 30 years ago, and the only time I used stream syntax was for one lab class exercise in which we had to show that we understood how to use stream syntax.
They still could be going for a comedy roast, I guess.
- Getting a random number
Much like the printf statement for number 2 above, C++ had its own version of C’s rand function from the start. I’ve never even heard of the stuff that’s being shown in this part of the video.
OK that was virtually the same fake point as the previous one, and still no punchlines in sight.
- Having to type “static_cast” every time you recast a variable
Nope, you don’t. You’re free to ask the compiler to automagically recast your variables to another type without giving any further detail just like you can in C. In fact, they’re often called “C-style casts”. There are even implicit casts, where you literally don’t add anything, and just cross your fingers that the compiler does what you think it should do. It’s like a little bit of the thrill of dynamic typing brought into C++! By using the static_cast keyword, you can tell the compiler that you understand that there’s a potential issue with this recast, but that you expect that the standard way of handling it will be fine. There are other keywords for more unusual situations; it’s not just a random bit of busywork added for no reason.
I don’t think it was a comedy roast, more like a rant.
The core message of the video (and I do agree with that) is that C++ is incredibly cluttered and that there are dozens of ways to do the same simple thing.
And sure, you don’t need to know them all when writing code, but when reading someone else’s code you need to know all of the options to understand it.
- Crazy initialization That sure is a lot of ways to initialize a variable! Even though some of these variables are quite different and would be initialized differently from each other in many other languages, even only counting the initializations that are functionally equivalent, there are a bunch of abuses of syntax that I’ve never seen used in the wild.
Initialization in C++ is so simple that somebody wrote a nearly 300-page book on the subject: https://www.cppstories.com/2023/init-story-print/
I plan to read it after finishing this 260 page book on move schematics in C++: https://www.cppmove.com/
Initialization in C++ is so simple that somebody wrote a nearly 300-page book on the subject
There’s a book about 101 ways to cut potatoes. Perhaps that could be a real mike-drop bit of evidence that we shouldn’t be cooking potatoes.
Here’s a 249-page book “just” about atomics and locks in Rust. Does a book this large about only one aspect of Rust prove that it’s a terrible language? No, because as with the C++ book, if we look at the summary of contents we can see that it actually covers a great deal more, simply with a focus on those topics.
Luckily we don’t have to be compete masters of every aspect of a language in order to use it.
Honestly, I think that modern C++ is a very piecemeal language with no clear direction, and it has many issues because of that. But the title and page count of a single book is not a convincing argument of anything.
Here’s a 249-page book “just” about atomics and locks in Rust. Does a book this large about only one aspect of Rust prove that it’s a terrible language? No
If that book was about a million ways of how to just use atomics in Rust, then yes, that would be potentially bad. But SURPRISE SURPRISE, it’s not. As you can see for yourself.
Not sure what you were getting at there. Even hard C++ copers don’t attempt to argue against the fact that C++ is huge, and not only that, it’s the biggest language around by an easy margin (this can be roughly and superficially measured by comparing spec sizes).
It’s not the size, but rather everything on top of it, and contributing to it, from general incoherence to bad design to countless misfeatures, that require non-trivial argumentation.
All criticism in the video is both well-founded and serious. The presentation is humorous.
if you like C++, you dont know it well enough
Or you are a masochist and just used to the abuse.
The video isn’t humorous, it’s dead serious. C++ is terrible language.
I think the video is intended to criticize what is modern C++. From what I’ve heard, at least a large crowd of the modern C++ movement considers the C APIs outdated and is of the opinion you’re meant to use the C++ ones. Seen from that angle, many of the examples in the video make more sense.
- Crazy initialization
You don’t need a specific video to understand this simple truth.
Im sure his point could be made in less than 2 hours
And it was, the last half hour is not about c++ but his bad editor.
I’m sure he spent less than 2 hours making the video.
It’s all AI.What was the point? Something something too many features (which I agree with)?
Lots of points that just aren’t true or strawmans.
No idea, I didn’t let the LLM steal more than a minute of my time.
No, the voice is real, the script is real, it goes immensely in depth, and I really enjoyed it despite the images.
I knew what this was before I clicked the post… since this is a feature movie I quite like and it’s a guilty pleasure of mine. 😆 (No offense intended to anybody who likes C++. To each their own.)
We are a weir bunch, programmers, aren’t we? We have entire movies about inanimate objects that we get extremely worked up about.
Isn’t JavaScript is the worst programming language to ever exist.
I learned C++ as my first language, but haven’t touched it since really. Since it was my first language, I always liked it. But, watching this video and reflecting on my understanding of other languages, I have to agree. The language is a bloated and inconsistent mess. The fact that this video is over 2 hours says a lot.
The one thing that was good about learning c++ first was that every other language was extremely easy to pick up. And, to be clear, I learned c++ out of a textbook, which means I learned it pretty thoroughly. I did not need a textbook to learn other languages. They tend to be much more intuitive and simple if you know c++. The exception is JavaScript which is just buggy by nature and really requires knowing the bugs so they don’t bite you.













