Skip Navigation

Posts
12
Comments
318
Joined
3 yr. ago

  • TOML

    Jump
  • Their stated justification is that people would abuse comments, using them to carry semantic or syntactic information. That’s a shit justification IMO.

    As far as the additional complexity that comments bring, I understand that from a technical perspective but from an engineering-for-real-humans-in-the-real-world perspective that’s the kind of thing you just have to deal with if you want to design a good format.

  • TOML

    Jump
  • Once you’re used to it, indentation makes code soooooooo much easier to read. When I was in school and a classmate asked me for help with their code, I outright refused to touch it until they properly indented it. It makes it easy to see the structure.

  • TOML

    Jump
  • Using YAML as an intermediate format between steps of a process is a mistake. I love YAML for configuration but I’d never use it for machine-to-machine anything. If the tool you’re feeding data to requires YAML as input, just give it JSON. All JSON is valid YAML.

    Edit: I realize you weren’t the one who made that decision. I’m saying the problem isn’t YAML, the problem is someone using YAML inappropriately.

  • TOML

    Jump
  • Anything can be abused. That’s not a legitimate reason to take away perfectly reasonable features. Looking at you, Java (unsigned integers).

  • Depends on what you mean by “basically a class”. If you mean inheritance, overriding, and more generally class/inheritance based polymorphism, no, it does not. Those require dynamic dispatch, which Go does not have (for concrete types, which is what we’re talking about here).

  • When I first started using Go I bemoaned the lack of true inheritance and classes. Now I love it.

  • How is that useful? Because if your answer is “I boycott devs that have type errors”, I got bad news for you. Unless you’re working on mission critical systems, like pace makers, airplanes, spacecraft, financial systems, etc, sinking the necessary engineering time to 100% prevent those kinds of errors is a bad business decision.

    An error message should either be instructions for the user, or something they copy-paste into a bug report (or equivalent). That’s it.

  • How would telling the user there’s a type error be helpful at all? If the user isn’t a programmer that would be utterly useless to them. If they are a programmer it’s probably still useless because the probably don’t have the source on hand.

  • I did not because the only part I actually cared about was the bullshit clickbait title.

  • Upstream infrastructure was compromised. Implying it’s a fault with Notepad++ fault is disingenuous. What OSS maintainer is going to think, “I need to pick a hosting provider that’s not going to get hacked by the Chinese government”? Unless your favorite editor is being hosted on infrastructure hardened against state level hackers, it’s not any better.

  • … with a debugger

  • I, on the other hand, would not consider someone a serious, competent professional if they were unable to do their job without an IDE. Sure, every serious developer I’ve known uses an IDE or similar for day to day work, but that’s a matter of convenience. In my book “competence” includes being able to do your job without needing your hand held by the IDE.

  • Feel free to not use a debugger for your software. But I don’t hate myself so I’m going to stick to using one whenever possible.

  • Because I don’t hate myself

  • We need better distributed connectivity. It wouldn’t be that hard to build a project management system (issues, etc) on top of Git, but DVCS only gets you so far without a way to connect directly to the other contributors.

  • They’re different signals. The default handling is the same - terminate - but they’re triggered by different things and (if the process handles them) handled by separate handlers.

  • I tried for a good 20-30 minutes to get it to generate something that worked. It just gave me a sequence of garbage. Each one looked plausible but as soon as I really read the code it was clear there were issues. Different issues each time. I wasted more time trying to get it to produce correct code than it took to write it myself, once I gave up on the AI.

    For me the most productive way to use AI is to ask it to suggest a strategy and to implement that myself. If the code is simple enough for the AI to get it right, I can often write it myself with less effort. If it’s something that requires multiple reprompts to get right, I can almost always do it faster myself.

  • Or something more complicated than it can handle. Ask it to implement an ASN.1 floating point parser. It looks good but the closer you look at the code the more trash it is.

  • A good teacher will do that. And even the best teacher can’t force you to learn if you don’t want to. LLMs can be a powerful tool for learning if you’re sufficiently motivated.

  • Programming @programming.dev

    The Curse of Knowing How, or; Fixing Everything | Blog

    notashelf.dev /posts/curse-of-knowing
  • Experienced Devs @programming.dev

    Is GitHub Copilot worth it to you?

  • .NET @programming.dev

    What am I losing by not using the C# Dev Kit?

  • Programming @programming.dev

    Why is crypto.subtle.digest async?

  • Programming @programming.dev

    What search engine do you use?

  • Programming @programming.dev

    What scientific journals do you recommend?

  • Experienced Devs @programming.dev

    Self taught = no imposter syndrome?

  • Experienced Devs @programming.dev

    Systems engineering in the software industry

  • Programming @programming.dev

    What languages are well suited for testing SDKs written in multiple other languages?

  • Programming @programming.dev

    Why should I use rust (as a Go enthusiast)?

  • Programming @programming.dev

    How often does branchless programming actually matter?

  • Experienced Devs @programming.dev

    How do you organize miscellaneous tasks?