• 1 Post
  • 8 Comments
Joined 1 year ago
cake
Cake day: July 4th, 2023

help-circle

  • Many of these meanings seem to be captured in some modern solutions already:

    • We plan to provide a value, but memory for this value hasn’t been allocated yet.
    • The memory has been allocated, but we haven’t attempted to compute/retrieve the proper value yet
    • We are in the process of computing/retrieving the value

    Futures?

    • There was a code-level problem computing/retrieving the value

    Exception? Result monads? (Okay, yea, we try to avoid the m word, but bear with me there)

    • We successfully got the value, and the value is “the abstract concept of nothingness”

    An Option or Maybe monad?

    • or the value is “please use the default”
    • or the value is “please try again”

    An enumeration of return types would seem to solve this problem. I can picture doing this in Rust.




  • 2 things I like about golang is just 1) the ease of getting someone to start work, and 2) goroutines. I have no complains about goroutines cause I’ve barely used it, and when I do it’s been fine. The first point though, I’d say the simplicity of the language is a double-edged sword — it’s easy to learn with little surface to cover, but it forces you to implement a lot of basic machinery you find in other languages by yourself, and so your codebase can get clunky to read really quickly, especially as your project grows.

    Not trying to dissuade you from learning golang tho. I think it’s a good language to learn and use, especially for small simple programs, but it’s not the great language many try to say it is. It’s… fine. There are many reasons why it grinds my gears, but I’m still fine with using it and maintaining it for prod.


  • Badland9085@lemm.eetoProgrammer Humor@lemmy.mlIn case you forgot.
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    10 months ago

    Ehhh, golang’s pretty down there for me too. Sure, you have types, but the way you “implement” an interface is the sussiest thing I’ve seen in most well-known programming languages. Not to mention all the foot guns (pointers for nullables is a common one, and oh, if you forgot that a function returns an error, and you called it for its effects, you’ve just built a possibly very silent bomb) you end up building into your programs. I use in prod, and I get scared.



  • Information is power. Telecommunication have changed the landscape of business, warfare, and how we live. It allows us to make “better” decisions for what we set out to do. Whoever holds more information, and has the chops to analyze it, controls the board. The closer that information is to individual people, the sharper it is as a weapon.

    Having power too concentrated in one place or a few has led to disastrous consequences in human history. Privacy is simply a way to hold that power back, so that the most sensitive information are kept away from unknown hands.

    Privacy also allows us to be ourselves, in the sense that we have different fronts of ourselves. We have sides we don’t necessarily want to show to our parents, but we show it to our friends or spouse. Not everyone has the best of relationships with everyone around them, and so there are sides we don’t want everyone to know, lest they get used as a weapon against us, either for others to exploit, or hold us ransom. If you’d like an example, imagine having an overly possessive religious parent, and you’re an atheist, but you don’t want to confront your parent because you’d like to avoid trouble. When thought in that way, privacy is a right that humans should have, and it is each person’s right to release what information they have about themselves to whoever they wish.