• 3 Posts
  • 419 Comments
Joined 1 year ago
cake
Cake day: August 18th, 2023

help-circle

  • The first part is confusing what “middleware” means. Rather than “duplicating” functionality, it connects libraries (I’m guessing this is what you meant). But that has nothing to do with a language being compiled versus “directly executed”, because compilation doesn’t connect different services or libraries; it just transforms a higher-level description of execution into an executable binary. You could argue that an interpreter or managed runtime is a form of “middleware” between interpreted code and the operating system, but middleware typically doesn’t describe anything so critical to a piece of software that the software can’t run without it, so even that isn’t really a correct use of the term.

    The second part is just…completely wrong. Lisp, Fortran, and other high-level languages predate terminal shells; C obviously predates the shell because most shells are written in C. “Most original code” is in an actual systems language like C.

    (As a side note, Python wasn’t the first scripting language, and it didn’t become popular very quickly. Perl and Tcl preceded it; Lua, php, and R were invented later but grew in popularity much earlier.)






  • BatmanAoDtoProgrammer HumorWorks on my machine
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    14 days ago

    I agree that it’s a “cop-out”, but the issue it mitigates is not an individual one but a systemic one. We’ve made it very, very difficult for apps not to rely on environmental conditions that are effectively impossible to control without VMs or containerization. That’s bad, but it’s not fixable by asking all app developers to make their apps work in every platform and environment, because that’s a Herculean task even for a single program. (Just look at all the compatibility work in a codebase that really does work everywhere, such as vim.)






  • BatmanAoDtoRustWhen Zig is safer and faster than (unsafe) Rust
    link
    fedilink
    arrow-up
    3
    arrow-down
    2
    ·
    24 days ago

    I don’t think it’s fair to consider unsafe Rust such a small subset of the language that it requires calling it out as a separate thing from “Rust” in the title of an article. Unsafe constructs are necessary in the standard library and many crates, whether or not you use it in the code you actually write.







  • BatmanAoDtoProgrammingDear OAuth Providers
    link
    fedilink
    arrow-up
    4
    ·
    1 month ago

    Yeah, consistency is good, which is why it’s good to follow the spec. I’m saying that the decision to make errors be flat strings in the spec was a bad one. A better design would be what you have, where code is nested one level below error, plus permitting extra implementation-defined fields in that object.



  • BatmanAoDtoProgrammer HumorMicrosoft Please Fix
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Tortoise git is probably what convinced me to just use the CLI for everything back in the day. Tortoise SVN is basically 1:1 with the SVN CLI (as far as I could tell, at least); Tortoise Git was…not.

    Maybe other git UIs are better. I hope so! Maybe even Tortoise has gotten better. But it was not good back then. (This was around 2013.)


  • For anyone else wondering, here’s the text of the actual email cited as the CoC violation:

    Michal, if you think crashing processes is an acceptable alternative to error handling you have no business writing kernel code.

    You have been stridently arguing for one bad idea after another, and it’s an insult to those of us who do give a shit about writing reliable software.

    You’re arguing against basic precepts of kernel programming.

    Get your head examined. And get the fuck out of here with this shit.