Nobody is advocating for blindly trusting data from the user.
comments
Huh. Says my cats last name is 4
Ask yourself why you just can't pay your taxes in British pounds (or yen if you're british).
It's a rabbit hole and'll take awhile, but you'll emerge a better person.
That statement is right on the money !
You must be an AI. Could I have likened it to a money shot too ? Enumerate the differences.
Opposite, living in a house of cards is when you blindly trust data that comes from user. Regardless of the language. eqeqeq isn't in the recommended linting presets because if you end up needing it, you're probably already in big trouble because of insecure software design.
Personally, I'd love to break compatibility for better features and consistency. We should be able to declare the version at the top of the file or something. Nothing at the top = legacy crap. 🤷♂️ I dunno.
I wonder how many millions of programmer man-hours have been wasted working around JavaScript's design mistakes that could've been saved simply by putting Scheme or Python (which were actually being considered) in the browser instead.
4
4
I did not wish to believe... but then I saw.

"LLMs are non-deterministic and often create bugs that weren't there before with no accountability, and are therefore different from compilers."
"Well, they used to do that a lot, but they hardly ever do it anymore. And besides, the bugs aren't hard to spot."
"That doesn't change what I -- whatever. LLMs cause your skills to atrophy."
"Not if you use them smartly. Like I do. I'm proud to say I haven't written a single line of code in over a year. In fact, I barely even read it anymore. But I make all the architectural decisions, and therefore, even though I haven't even verified that the code does what the LLM says it does and blindly trust the unit tests it writes to catch any bugs, I understand the code perfectly and have not lost any skill. I could stop using it tomorrow if I wanted to. But why would I, when it's so useful?"
"Datacenters burn natural gas and pollute the environment! OpenAI and Anthropic both give their technology to the military to make self guided bombs! The number of suicides directly attributable to LLM interactions is climbing by the day and none of the LLM companies care!"
"You really can't accurately speak on whether LLMs are good or bad unless you've used one in the last six months."
"..."
"They're really useful now."
Not with that attitude
"I have no problem living in a house of cards as I make sure to never bump against the walls."
Chaotic lawful 😂
== has never, ever caused me a single issue. Parsing all server input with type-safe schemas makes sure that where I expect a string, I get a string; where I expect a number, I get a number. Bad data must result in an error before it reaches logic.
The problem is that you can't break compatibility.
Only in some exceptional cases. 🙃
Gzip is old-school. The majority of modern sites use Brotli now. It's slower to compress, but that's not normally an issue for static resources (CSS, JS, etc) because they can be pre-compressed during the build and the web server serves the pre-compressed files instead of dynamically compressing them.
Class Template Argument Deduction (CTAD)
For anyone wondering, like I did.
Yeah. I kept reducing my sane "C with classes" subset until I just ended up back writing C99 too, and just about the only difference that made for my use case was better compilation times. If I ever need more than that, I'll likely reach for Zig or C3 before C++.
When I had to use JS I wrote JS 1.2 because why not. Fun how I had strings of numbers instead of actual numbers in some for loops, yet it all sort of functioned until something didn't. I then decided to add Number() to random values just in case.
A few examples:
- CTAD: Instead of
std::pair<int, int> myPair{ 1, 2 }, you just writestd::pair myPair{ 1, 2 } - std::optional, std::variant and std::any
- Guaranteed copy elision in some cases, making it more feasible to apply the rule of 5 everywhere
- Attributes like [[nodiscard]] (compiler warning if an object or return value is discarded) and [[fallthrough]] (suppress a switch fallthrough warning)
- Generic lambdas (
[](auto it){ /* do something */ }) - std::string_view, which is much safer as a function parameter than
const char*
Modules
As someone who last touched any C++ books when C++11 was very new and has only written like 20-30 lines of non-tutorial C++ since then, what are some significant changes to the language that I should be aware of if I wanted to give it a try now?
As someone trying to learn Javascript, it just makes me mad that at this garbage heap of a language is so widely used.
Even C++11 is pretty old. I would recommend at least C++17
If anyone is starting to learn C++, make sure to use books or training materials based on C++11 or later.