• 1 Post
  • 80 Comments
Joined 2 years ago
cake
Cake day: June 10th, 2023

help-circle


  • Practicing loving-kindness meditation and trying to find an interest in the lives of others. When you feel a genuine interest in learning about the lives of the people you meet and are not worrying about your own self-image, people are less scary and easier to talk to.

    I used to be afraid of people thinking less of me for asking stupid questions, but now I don’t care so much about what they think about me. I come from a mindset of compassion rather than fear. It turns out that people generally prefer dumb but interested over insecurity.


  • Mathematicians are shitty communicators who like feeling special because they can understand their obscure language.

    I’m a programmer and in this field there have been tons of books published, conference talks, and heated internet arguments about how to make your code as readable as possible: formatting, function length, naming of variables and functions, keeping number of cross references low, how to document intent, etc. Mathematicians do none of that - it’s all single-character names (preferably from the Greek alphabet to complicate it further) and they rarely communicate intent before throwing formulas at you. You can easily tell when a mathematician has written code because it’s typically hot garbage in terms of readability.


  • Sure, I didn’t claim that the bad ecosystem makes the language as such bad (although it is still bad, for other reasons). It’s just an additional disadvantage of developing software on the Java platform.

    That said, I do think some of the bad code out there is an effect of trying to work around flaws or missing features in the language. Libraries like Spring add an additional configuration layer that is practically like an additional language on top of the base language. Instead of coding Java, you’re coding Bean configurations and filter chains. Unfortunately all of that comes without useful debugging tools, so you’re left scratching your head why the system isn’t doing what you want. Log4J is another such complex configuration system that - unfortunately - customers are encouraged to change themselves which leads to confusing failure modes and insufficient user interfaces.


  • Well it’s always about finding a good balance isn’t it. Too many features like in C++ has negative consequences. Preferably you want something that lets you do all that you need to do, but not more. The trick to designing a good language is to let developers achieve as much as possible with as few features as possible, while keeping the code easy to reason about and understand.

    This is obviously both subjective and highly dependent on what problem you are trying to solve, but I can’t think of any situation in my career where C# would not have been a better a choice than Java from a strictly technical perspective. It’s not just that the C# language is better, it’s that the Java ecosystem is founded on poor design choices that result in code bloat and implicit behavior that is hard to troubleshoot and secure. See e.g. Spring, which automatically picks up and loads any logging library that happens to be in the user’s path, even if that is an exploitable version of log4J. Java has become corrupted by enterprise architects. This satirical project demonstrates what I mean.

    I say this as someone who is currently developing a FOSS Java library in my spare time, out of frustration with the Java code I had to endure at work.














  • tias@discuss.tchncs.detoTechnology@lemmy.worldBuy Once Software
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    1 month ago

    That sounds good on paper, but the chances that someone else will pick up the ball if they abandon it, even if it’s open source, are very slim. If you care about keeping it alive then paying them is a more effective strategy than hoping for random volunteer work by internet strangers.

    You, on the other hand, have good chances of being able to learn new tools. So I think the need for this security is exaggerated.


  • tias@discuss.tchncs.detoTechnology@lemmy.worldBuy Once Software
    link
    fedilink
    English
    arrow-up
    57
    arrow-down
    1
    ·
    1 month ago

    The IntelliJ products are not exactly “buy once” - if you want updated versions you need to keep paying periodically.

    Not that I think that’s a bad thing necessarily - it doesn’t make sense to expect devs to continue working on something year after year when you’re not paying them for it.