• @[email protected]
    link
    fedilink
    32911 months ago

    Yes the compiler/interpreter can figure it out on the fly, that’s what we mean by untyped languages. And as stated both have their merits and their faults.

    Elon doesn’t know what the words mean and just chimes in with his AI future BS.

    • @[email protected]
      link
      fedilink
      9311 months ago

      And as stated both have their merits and their faults.

      Yes! Just because a compiler could guess the type doesn’t mean it should. Elon didn’t understand the meme at all.

      • @[email protected]
        link
        fedilink
        English
        211 months ago

        why would you not want it to? what circumstance, other than an integer not given an explicit type, could it guess wrong?

          • @[email protected]
            link
            fedilink
            English
            511 months ago

            I almost upvoted but for that last sentence. Code block scopes are most intuitive, and JavaScript has become a better language since it gained them.

            • @[email protected]
              link
              fedilink
              1
              edit-2
              11 months ago

              Yeah I use it too. But when I have to read somebody’s code or my own from a while ago, I prefer everything labeled at the top. That way I can read the top, jump anywhere, and know what is going on without looking at any other lines.

              It’s a preference that can be argued like dynamic typing.

              • @[email protected]
                link
                fedilink
                English
                2
                edit-2
                11 months ago

                I guess you could make a rule of declaring your variables at the top of their scope, be it a class, a function or a code block. That would give clarity without needlessly expanding any scopes.

          • @[email protected]
            link
            fedilink
            English
            411 months ago

            I’m not talking about dynamic vs static though. I’m talking about static typing with or without compiler type inference a la Rust or C++'s auto

            (note that Java making generic parameters optional does not count since that is, in fact, dynamic typing)

          • @[email protected]
            link
            fedilink
            210 months ago

            I also prefer static typing but I like it when it is implemented like kotlin where type inference is still great, I think dart also works like that

        • @[email protected]
          link
          fedilink
          311 months ago

          Well, if there is nof fixed (explicit or implicit) type it’s imposible for the compiler to optimise your code. Also imho programming with typed languages is way easier because your IDE can recognize function argumentd before you compile/run. I tried python and found it baffling how anyone can get any work done with it :D

          • @[email protected]
            link
            fedilink
            English
            211 months ago

            I used Python almost exclusively before I learned Rust and inevitably became a full time Rust bro, and the answer is “slowly and with a lot of crashes” :P

            anyway, as I said in another comment, I’m not talking about static vs dynamic typing, I’m talking about static typing with vs without a compiler that can do type inference. C++'s auto will default to floats if you don’t tell it the type of a number which is pretty brain dead, and there are scenarios where it’s helpful to write out a type that could be inferred for readability/guaranteed correctness’s sake, but apart from that I can’t think why having most of your types be implicit would be bad

    • @[email protected]
      link
      fedilink
      English
      811 months ago

      Even in untyped can’t you explicitly set your type either with declarations or wrapping the value in quotes for a string or something?

      • @[email protected]
        link
        fedilink
        3511 months ago

        Programming term. Variables in programming languages can hold different types of data, such as whole numbers, floating point numbers or strings of characters (“text”). Untyped languages figure out on the fly what can and cannot be done to the content of a variable, while typed languages strictly keep track of the type of content (not the value) to catch bugs and improve performance, for example.

        • @[email protected]
          link
          fedilink
          English
          111 months ago

          Any untyped languages that don’t care what is in the variable, assumes you know what your doing, and YOLOs it?

          • @[email protected]
            link
            fedilink
            411 months ago

            Np necessarily. Usually errors are detected at runtime and reported as such. So you will see where your program failed, but it usually crashes nonetjeless. Keep in mind that crashes are usually better than continuing some undefined behavior.

      • @[email protected]
        link
        fedilink
        8
        edit-2
        11 months ago

        By typed they mean declairing a type for your variables.

        In some languages, variables needs to be told what kind of data they can hold. That’s it’s type. For instance a number without decimals would be an integer type. While text might be a string type or a list of character types.

        Other languages don’t require types and sometimes don’t even support them. They will just infer the type from the data that’s in the variable.

        If you see Elon Musk please explain this to him.

        • @[email protected]
          link
          fedilink
          411 months ago

          If you see Elon Musk please explain this to him.

          I’m an idiot, and I still don’t think I could dumb it down to his level.

      • @[email protected]
        link
        fedilink
        English
        111 months ago

        Might be able to call assembly untyped. Everything beyond that I think would be called either statically or dynamically typed, maybe weakly typed?