this post was submitted on 18 Apr 2026
2 points (51.0% liked)

Programming

26599 readers
134 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

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

top 50 comments
sorted by: hot top controversial new old
[–] mech@feddit.org 69 points 2 days ago* (last edited 2 days ago) (16 children)

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.

[–] squaresinger@lemmy.world 34 points 2 days ago* (last edited 1 day ago) (1 children)

Thanks for warning before I clicked the video. Saved me the click.

Edit: wasn't AI after all. Just a cheap microphone.

[–] eah@programming.dev 2 points 1 day ago

Or it's low bit rate audio which is easier for AI to generate.

[–] nooch@lemmy.vg 8 points 2 days ago (1 children)

The voice is not AI, the video is quite good imo minus the slop pics.

load more comments (1 replies)
[–] solomonschuler@lemmy.zip 8 points 2 days ago

I was thinking about that as well, why the fuck does he sound like Patrick star.

load more comments (13 replies)
[–] Skullgrid@lemmy.world 43 points 2 days ago (18 children)

javascript exists; his point is invalid

[–] namingthingsiseasy@programming.dev 2 points 1 day ago (2 children)

I also agree that Javascript is worse. C++ has two excuses for being bad:

  1. It has to be compatible with C, a language that's multiple decades older than it, and
  2. 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.

[–] Custodian6718@programming.dev 2 points 1 day ago* (last edited 1 day ago) (1 children)

My Brother Here are 2 for you from a java guy:

  1. JS was hastily put together
  2. it was Never meant to be used for something other than some interactivity in the web Actually Here is a Third one:
  3. it had to be redesigned from a lisp to a java Like Language for Marketing purposes..

It also has a Lot of footguns but isnt nearly as cluttered and complicated and lets you Focus on your task at hand more

Sure, I'm familiar with the conditions under which Javascript was created, but those are all political issues, not technical ones.

If you had to go back and recreate another C++, you would be forgiven for creating a bad language, because making a good, usable language without a garbage collector is really hard, and even moreso when it has to be compatible with C. If you had to recreate Javascript... I would think it would be expected that you don't make a language with the same kinds of flaws JS has today. There were plenty of examples of languages Javascript could have been based off of when it was written (like Java).

Case in point: it took decades for Rust to come around which was the first real challenge to C++. In the same period of time, we saw several GC languages appear (Java, C#, Go, PHP, Swift, Ruby, Python, all younger than C++), all competing against each other. Javascript would have been abandoned if it didn't have a monopoly on web programming.

[–] BB_C@programming.dev 2 points 1 day ago (1 children)
[–] namingthingsiseasy@programming.dev 3 points 1 day ago (1 children)

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.

[–] BB_C@programming.dev 2 points 1 day ago

mostly compatible with C

It's not mostly compatible, not even on the surface level, with any version of C post C89. And most of the ever-growing crap in the language came after the early years anyway, with constructs that are C++-exclusive.

[–] bleistift2@sopuli.xyz 10 points 2 days ago

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.

[–] masterspace@lemmy.ca 10 points 2 days ago* (last edited 2 days ago) (11 children)

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.

[–] coriza@lemmy.world 6 points 1 day ago (5 children)

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.

load more comments (5 replies)
load more comments (10 replies)
[–] FizzyOrange@programming.dev 1 points 1 day ago

JavaScript isn't even close to the worst language to ever exist.

[–] fallaciousBasis@lemmy.world 9 points 2 days ago

Visual Basic Requires A Registered OCX.

Which one? Hahahahaha.

load more comments (13 replies)
[–] Redkey@programming.dev 10 points 2 days ago* (last edited 2 days ago) (4 children)

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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.
[–] squaresinger@lemmy.world 4 points 1 day ago

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.

[–] fruitcantfly@programming.dev 10 points 1 day ago (1 children)
  1. 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/

[–] Redkey@programming.dev 7 points 1 day ago (3 children)

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.

[–] squaresinger@lemmy.world 2 points 10 hours ago

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.

This would be a valid argument if to read someone else's recipe you'd need to know every way of potato cutting they might use.

The problem with C++ isn't that you can't use it in a good way. The problem is that you can use it in a million different ways. The best way for your application is often not readily visible and reading someone else's code might be really difficult because they have a weird favourite way of doing things that you might not know.

Python does that quite well (it's got other failings, but in this regard it's good):

There's a class that's just called List and there's a literal that creates an instance of it: []. It's implemented using an array list, since that's the most sensible options for most list use cases. If you need another type of list, they are still available, but the default implementation is clearly visible and uses a sensible implementation.

[–] fruitcantfly@programming.dev 1 points 19 hours ago* (last edited 19 hours ago)

That is not just a book about how to "cut potatoes". That is "A Creative Cooking Guide for Exercising Knife Skills", using potatoes as a medium. Similarly, your Rust book is an book on concurrency using Rust as a medium, as per the title: "Low-Level Concurrency in Practice". Both are complex topics, and both have picked a medium. Thus, they do not necessarily reflect on the underlying complexity of the medium, though concurrency in Rust is a complex topic due to the fact that the core language itself does a lot of work to make it "safe". Async would probably be an even better example of that.

However, in the case of initialization in C++ and in the case of move schematics in C++, these are topics that are complex because the core language has been accumulating complexity for a long time, and because the language designers cannot afford to break backwards compatibility. Which makes implementing and using move-schematics in C++, as an end-user of the language, much, much more complicated than in a language like Rust, that did not have to bolt this behavior on top of an already complicated language. Similarly with initialization, where C++ has accumulated many, syntactically overlapping forms of initialization, for both member and non-member variables variables

[–] ISO@lemmy.zip 1 points 1 day ago (1 children)

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.

[–] Redkey@programming.dev 2 points 1 day ago

Your comment seems to be trying to disagree with me, but I think you wrote almost the same things that I wrote in the comment that you're replying to:

  • The Rust book is about much more than just what's in its title (my point being that this also goes for the cited C++ book).
  • C++ is a baroque and sometimes unwieldy language.

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.

load more comments (1 replies)
[–] Custodian6718@programming.dev 0 points 1 day ago (1 children)

I really cant Tell if the downvotes stem mostly from the AI usage or c++ copers

[–] MrQuallzin@pie.eyeofthestorm.place 3 points 13 hours ago (1 children)

I downvoted because OP shared a video they couldn't be bothered to finish themselves

[–] aivoton@sopuli.xyz 2 points 5 hours ago* (last edited 5 hours ago)

Found this Gem....
I havent watched it all the way through ...
... ventfest
See if you cant agree with something he said

Just some casual engagement farming. Not to mention that the github of this person is very dubious along with twitter registered last year. Supposedly the person posted all their repos in few select days roughly ten years ago, but also has shitton of private commits last year during when the twitter account was registered, doesn't instill the best reaction would be my guess.

[–] LodeMike@lemmy.today 12 points 2 days ago (5 children)

Im sure his point could be made in less than 2 hours

[–] anton@lemmy.blahaj.zone 4 points 1 day ago

And it was, the last half hour is not about c++ but his bad editor.

load more comments (4 replies)
[–] ell1e@leminal.space 11 points 2 days ago* (last edited 1 day ago) (1 children)

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.)

load more comments (1 replies)
load more comments
view more: next ›