Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)BA
Posts
1
Comments
288
Joined
2 yr. ago

  • Without one, the run time system, must assign some semantics to the source code, no matter how erroneous it is.

    That's just not true; as the comment above points out, Python also has no separate compilation step and yet it did not adopt this philosophy. Interpeted languages were common before JavaScript; in fact, most LISP variants are interpreted, and LISP is older than C.

    Moreover, even JavaScript does sometimes throw errors, because sometimes code is simply not valid syntactically, or has no valid semantics even in a language as permissive as JavaScript.

    So Eich et al. absolutely could have made more things invalid, despite the risk that end-users would see the resulting error.

  • Pain

    Jump
  • There are definitely more experienced programmers using it. I can't find the post at the moment, but there was a recent-ish blog post citing a bunch of examples. [edit: found it: https://registerspill.thorstenball.com/p/they-all-use-it ]

    Personally, I don't use AI much, but I do occasionally experiment with it (for instance, I recently gave Claude Sonnet the same live-coding interview I give candidates for my team; it...did worse than I expected, tbh). The experimenting is sufficient for me to recognize these phrases.

  • Probably moreso for expressing the opinion so strongly without actually knowing any of the three languages.

    Edit: I'm just guessing why a different comment got downvotes. Why am I getting downvotes?

  • Okay, yeah, I was indeed reading your original reply as a criticism of one of the people involved (presumably the security researcher), rather than as a criticism of the post title. Sorry for misunderstanding.

    Apparently GCC does indeed do tail-call optimization at -O2: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-foptimize-sibling-calls

    But in that case, I'm not sure why the solution to the denial of service vulnerability isn't just "compile with -foptimize-sibling-calls."

  • ...what is your point? Some software (in a language that doesn't have tail-recursion optimization) used recursion to handle user-provided input, and indeed it broke. Someone wrote to explain that that's a potential vulnerability, the author agreed, and fixed it. Who here is misunderstanding how computers implement recursion?

  • TypeScript is a language, and traditionally languages are considered separate from their implementations. When I first saw the headline I hoped maybe it meant a non-JS runtime for compiled TS, and I'm well aware of the difference. Yes, that would be a much larger undertaking than porting the compiler to a new language, but the headline doesn't indicate how large a project this is, and Microsoft certainly has the resources to write a new backend (even a native-code one) for the TS compiler.

  • Unless you work for the committee or for ISO somehow, then I don't think that really follows. C++ and JavaScript were both used in production for decades before they had standards, and the dissolution of the standards committee wouldn't cause compiler vendors to stop developing compilers.