• 13 Posts
  • 228 Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle
  • It’s mainly horrid, because it means you have to code extremely defensively (or I guess, use a different API).
    You can’t rely on new Date("not a date") aborting execution of your function by throwing an error. Instead, you have to know that it can produce an Invalid Date object and check for that. Otherwise a random NaN shows up during execution, which is gonna be extremely fun to try to find the source of.

    I understand that it’s implemented like that partially for historical reasons, partially because it’s often better to display “NaN” rather than nothing, but it’s still the sort of behavior that puts me in a cold sweat, because I should be memorizing all kinds of Best Practices™ before trying to code JavaScript.







  • Yeah, the wording is confusing. A long time ago, there was no paid software, there was only software where you got the source code and other software where e.g. it was pre-installed on some hardware and the manufacturer didn’t want to give the source code.

    In that time, a whole movement started fighting for software freedom, so they called their software “free”.


  • The problem is that corporations are not holistic organizations. In theory¹, a company could not have any juniors and always just hire seniors from the outside. And if your boss has reason to believe that this is more cost-effective, then they have to strive for that, even if they’re well aware that it cannot work when all companies strive for that.

    ¹) In practice, I’ve actually found that juniors are important, too. If you staff a project team with only seniors, you quickly end up in a situation, where they don’t talk enough to each other. They know how to solve things technologically, so they don’t need to tell each other about their challenges and what solution they chose.
    Similarly, you likely end up in a situation, where only big problems are being tackled, because everyone can tackle big problems and they’re just very visible, highly prioritized problems. But when you add up enough small problems, they become just as problematic.



  • I don’t have much experience with IPv6 yet either, but as I understand, the primary benefit is that you can get rid of a lot of the crappiness of IPv4, which you might just deem ‘normal’ at this point, like NAT and DHCP. It does happen quite a bit, for example, that we’d like a unique identifier for a host, but with IPv4, you need to store a separate UUID to accomplish that.




  • I mean, B does make some amount of sense, if you realize that it’s supposed to give you the maximum among the parameters (so you’d normally call it as Math.max(5, 3) === 5).

    Well, and you can call that with zero parameters, because you can spread an array into it, which might have zero length. And then given these conditions, and if you don’t want to throw an error, then -Infinity is kind of the least bad remaining option, as it’s likely to generally work with the rest of your logic.



  • I think the main reason why Word is losing mindshare, is because it was designed for paper. The whole formatting system makes the assumption that there’s a fixed width and height into which your text and images fit. In reality, a phone screen is a lot narrower and a widescreen monitor a lot wider.

    Markdown never made these assumptions. For the most part simply because plain text reflows to fill whatever space you give it. But there’s no way to position an image either, I imagine mostly for simplicity’s sake. It can look goofy at times, but it never looks broken.
    That’s why I can write this comment on my phone and someone else can look at it on desktop and it’s perfectly readable in both scenarios.





  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlJava Bros
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    Well, on the JVM side of things there’s Scala and Kotlin. Scala supports all the object-oriented paradigms + the functional paradigms. Kotlin supports about the same number of features as Scala, although it puts more restrictions on them. On the Microsoft side of things, I’ve never tried it, but I’m guessing F# has to cover a similar object-oriented + functional feature set. Well, and from what I’ve heard about C++, it’s presumably the language with the most features across all languages.


  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlJava Bros
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    Eh, I’d argue that Java and C# are in the niche of having few features. While I don’t like this niche, Java having even less features makes it stand out more in this niche. If you’re looking for a language with more features than that, then there’s so many more feature-rich choices than C# that I just don’t feel like you’d choose C#, unless you want Java with integration into the Microsoft ecosystem.