Principal Engineer for Accumulate

  • 12 Posts
  • 313 Comments
Joined 2 年前
cake
Cake day: 2023年6月12日

help-circle

  • EthantoProgrammer Humor... that you know of.
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 天前

    He can know about it as a concept without really understanding it and if he he treats the dev team as a code producing machine then he could be ignorant of how much technical debt there is. Or maybe there’s an asshat on the dev team telling him there’s no technical debt.




  • EthantoProgrammer HumorLLVM
    link
    fedilink
    English
    arrow-up
    1
    ·
    18 天前

    Honestly I didn’t really follow OP’s meme or care enough to understand it, I’m just here to provide some context and nuance. I opened the comments to see if there was an explanation of the meme and saw something I felt like responding to.

    Edit: Actually, I can’t see the meme. I was thinking of a different post. The image on this one doesn’t load for me.

    “The answer we’ve all been waiting for” is a flawed premise. There will never be one language to rule them all. Even completely ignoring preferences, languages are targeted at different use cases. Data scientists and systems programmers have very different needs. And preferences are huge. Some people love the magic of Ruby and hate the simplicity of Go. I love the simplicity of Go and hate the magic of Ruby. Expecting the same language to satisfy both groups is unrealistic because we have fundamentally different views of what makes a good language.


  • EthantoProgrammer HumorLLVM
    link
    fedilink
    English
    arrow-up
    1
    ·
    19 天前

    It is being used. Objective-C (used for macOS and iOS apps) has used reference counting since the language was created. Originally it was manual, but since 2011 it’s been automatic by default. And Swift (which basically replaced Objective-C) only supports ARC (does not support manual reference counting). The downside is that it doesn’t handle loops so the programmer has to be careful to prevent those. Also, the compiler has to insert reference increment and decrement calls, and that’s a significant engineering challenge for the compiler designers. Rust tracks ownership instead of references, but that means it’s compiler is even more complicated. Rust’s system is a little bit like compile-time reference counting, but that’s not really accurate. Apparently Python, Pearl, and PHP use reference counting, plus tracing GC (aka ‘normal’ GC) in Python and PHP to handle cycles. So your implicit statement/assumption that reference counting is not widely used is false. Based on what I can find online, Python and JavaScript are by far the most used languages today and are roughly equal, so in that respect reference counting GC is equally or possibly more popular than pure tracing GC.


  • EthantoProgrammer HumorLLVM
    link
    fedilink
    English
    arrow-up
    1
    ·
    19 天前

    Ok, I concede the point, “garbage collection” technically includes reference counting. However the practical point remains - reference counting doesn’t come with the same performance penalties as ‘normal’ garbage collection. It has essentially the same performance characteristics of manual memory management because that’s essentially what it’s doing.



  • EthantoProgrammer HumorLLVM
    link
    fedilink
    English
    arrow-up
    3
    ·
    20 天前

    Garbage collection is analyzing the heap and figuring out what can be collected. Reference counting requires the code to increment or decrement a counter and frees memory when the counter hits zero. They’re fundamentally different approaches. Also reference counting isn’t necessarily automatic, Objective-C had manual reference counting since day one.








  • Ok… but that doesn’t answer my question. Where are you physically when you’re working on this that people are attacking exposed ports? I’m either at home or in the office, and in either case there’s an external firewall between me and any assholes who want to exploit exposed ports. Are your roommates or coworkers those kinds of assholes? Or are you sitting in a coffee shop or something?