yeah i mean if you grok the underlying workings of scanf
then there’s no problem
i’d just argue that the problem is understanding what you need to understand is the problem with straight c, and with any language like c++ where you’re liable to shoot thineself in thy foot
How? They go where they point, or to NULL, and can be moved by arithmetic. If you move them where they shouldn’t go, bad things happen. If you deference NULL, bad things happen. That’s it.
what part of that is explicit to how scanf
works?
All of C++? That’s unreasonable, it’s even in the name that it’s very expansive.
similarly, “all of pointers” is unreasonable
“all of pointers” can have a lot of unexpected results
that’s literally why java exists as a language, and is so popular
Plus all previous operating systems, all supercomputer climate, physics and other science simulations, all the toaster and car and so on chips using bespoke operating systems because Linux won’t fit, every computer solving practical engineering or logistics problems numerically, renderers…
sure, and the quantity of code where true low-level access is actually required is still absolutely minuscule compared to that where it isn’t
Once you understand pointers
once you understand C++ the pitfalls of C++ are reasonably consistent
I’m not sure I’d class much of OS programming and all embedded and high-performance computing as small
there are like what, 3 operating systems these days?
assume those are all written entirely in c and combine them and compare that to all code ever written
a footgun isn’t inherently bad, it just implies a significant amount of risk
yes, if you need the ability to code on a low level, maybe C is necessary, but the times where that is actually necessary is smol
also rust
exposing the machinations of the underlying CPU with no regard for safety is like, the definition of a footgun
people say this but C is significantly more batshit than javascript
oh you used scanf
? one of the basic functions of our language? sorry that’s got a buffer overflow vulnerability so now your application is compromised
actually it says 8h meaning it’s only 8 hours old
i wouldn’t want to program in pure assembly either but asm is definitely powerful
use typescript and don’t look too hard at the infrastructure
good luck doing frontend development without it, but it can also do backend development
it can do everything
PHP is fine
i will fine you
sometimes allowing an outcome that should mechanically via the rules of the game and logically via the rules of common sense has more downsides than upsides
it doesn’t have to refer to exclusively player death
killing palpatine there would’ve been winning the war, even if yoda perished as a consequence
i feel like yoda would’ve been “enlightened” enough to sacrifice himself for the sake of the galaxy if that was an option on the cards for him
it has the meaning you assigned to it before rolling it, whether or not you’re pulling that meaning from a specific table, and whether or not you reveal the system to the players
if you decide ahead of time that a low result is going to be a tough encounter, and a high result is going to be a pile of treasure, then it comes up low and you decide to ignore that and give them treasure instead based on your gut feeling, you’re fudging the roll
if you decide what’s going to happen next based on your pull from a tarot deck, and somehow get “death” four times in a row, anything less than a disaster scenario is fudging the roll
it’s the exact same instinct that leads to “hmm, maybe this piss shit little goblin shouldn’t decapitate the barbarian in one hit because it happened to roll well”
Fudging rolls means stating the result of a secret roll was different than it was in reality
which is what you’re doing when you ignore it…? otherwise you wouldn’t be ignoring it
a band aid to poor planning
you think you can plan around your players’ actions?
But if you’re a thief and want to open a simple lock and nobody’s is trying to defenestrate you at the moment? No need to roll, failure is meaningless. You just killed a dragon? No need to persuade the king to help you.
this conversation is specifically talking about when you’re in a scenario where you logically need to make a roll, but where a bad roll coming up essentially ruins things for both the gm and players
it’s semantic
at the end of the day everything boils down to sequence and branchifs