race conditions
-
This post did not contain any content.
Not a word of a lie, I saw a "segmentation fault" error in JavaScript.
Can't remember how we resolved it, but it did blow my mind.
-
This post did not contain any content.
I find it funny that the pufferfish blows up at its own gunshot
-
Not a word of a lie, I saw a "segmentation fault" error in JavaScript.
Can't remember how we resolved it, but it did blow my mind.
Ive also seen this, but not from js but node
-
Rust would be some borrow checker compile error like
borrowed data escapes outside of associated function
argument requires that `'1` must outlive `'static`
rust errors are funny if you don't know rust
-
rust errors are funny if you don't know rust
Those also happen to be errors you'd typically run into, if you don't yet really know Rust...
-
This post did not contain any content.
No NullPointerExceptions in Kotlin.
-
rust errors are funny if you don't know rust
News at Ten: Borrowed Data Escapes Outside of Associated Function
-
As at least one nautically themed childrens' book surely has it: C is for crab.
Coming at programming sideways feels more like a Haskell or Prolog thing, though.
Apple is for ADA
Ball is for BASH
Crab is for C
Dog is for D
Elephant is for Ecsmascript
Fox is for F#
Goat is for Go
House is for Haskell
Igloo is for
...okay I got stuck there.
-
NullPointerException can be related to a race condition.
it can also not be.
-
I mean, at the end of the day, if you really understand your language of choice, you know that it is jusf a bunch of fancy libraries and compiler tricks of top of C. So in my mind, I'm a fully evolved programmer in a language, when I could write anything I can write in that language in C instead.
Or, rather, most compiled languages are just syntactic sugar on top of assembly, and that's especially true with C. (Oh, you can use curly brances and stuff for blocks? That's sure easier to read than the label mess you get with assembly.)
-
"NPM install" isn't going to be the direct result of a race condition in JavaScript. And while I'm not familiar with Python, I'd guess that an "Indentation error" wouldn't be one either. A missing library or syntax error that's only discovered by executing a particular branch is still just a missing library or syntax error, not a race condition.
Also, while Node.js is popular, it isn't an integral part of JavaScript in the way that the other errors are integral to their respective languages.
I had to come up with a title, this was it.
It's a cartoon. -
Labelling the crab as C is sure to ruffle some exoskeletons..
Only those who lack a sense of humor.
-
No NullPointerExceptions in Kotlin.
The humble
!!
operator. -
Not a word of a lie, I saw a "segmentation fault" error in JavaScript.
Can't remember how we resolved it, but it did blow my mind.
I have seen a Java program I wrote terminate with SIGSEGV. I think a library was causing it.
-
Not a word of a lie, I saw a "segmentation fault" error in JavaScript.
Can't remember how we resolved it, but it did blow my mind.
Technically any language runtime can end in a segmentation fault.
For some languages, in principle this shouldn't be possible, but the runtimes can have bugs and/or you are calling libraries that do some native code at some point.
-
Those also happen to be errors you'd typically run into, if you don't yet really know Rust...
wrote on last edited by [email protected]I do run into them even though I use Rust for ~3 years now, but only in non-obvious cases, e. g. when all references to the borrowed data are dropped before the end of the function.
-
This post did not contain any content.
Rust is still in the locker room having an argument with their coach (borrow checker).
-
Rust is still in the locker room having an argument with their coach (borrow checker).
C++ is home sick, currently the doctor (compiler) is not sure whether it's got the flu or a terminal cancer.
-
But how does the Rust compiler do that? What does it actually check? Could I write a compiler in C that does this check on a piece of Rust code?
C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.
It is often pointless to actually implement the feature in C, since the feature already has a good implementation (see the Rust compiler for the memory safety). But understanding these features, and being able to mentally think about what it takes in C to implement them, is still helpfull for gaining an understanding of the feature.
Could I write a compiler in C that does this check on a piece of Rust code?
Well yes, but that code has to be written in Rust. The human has to follow rules to give the compiler a chance to check things.
C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.
I don't think that's particularly more true of C than Rust or even Golang. In C you are frequently making function calls anyway for the real fun stuff. If you ever compile a "simplistic" chunk of C code that you think is obvious how it would compile to assembly and you open up the assembly output, you are likely to be very surprised with what the compiler chose to do. I've seen some professional C developers that never actually had a reason to fully understand how the stack works, since C abstracts that away and the implications of the stack don't matter until you exceed some limitations.
-
This implies that Javascript will get moving in the correct direction once it finishes installing dependencies, but it's just going to get fucked with incorrect behavior that doesn't even have the courtesy to throw an actual error.
incorrect behavior that doesn’t even have the courtesy to throw an actual error.
To be fair, this can be said of C. A C executable only really forces a crash out when you royally screw up beyond the bounds of your memory. Otherwise functions just return a negative value and calling code that never bothers to check just keep on going.
Golang is similar, slightly mitigated that if you are assigning any return value from a function, you must also explicitly receive an error and you know full well that you are being lazy if you don't handle it. Well unless you use a panic/recover scheme but golang community will skewer you alive for casually suggesting that and certainly third party libraries aren't going to do it that way.