5 ms·
untyped languages (Python, Ruby) Both of those languages are strongly typed. It seems you're confusing the fact that the type checking happens at runtime (tha
by aguaviva 2y ago
untyped languages (Python, Ruby)
Both of those languages are strongly typed.
It seems you're confusing the fact that the type checking happens at runtime (that is to say, that they are dynamically typed) to mean that they're "untyped", but that's just not the case.
If one is confused about the languages one is using at this level, then modern tooling features aren't likely to help much.
- IshKebab 2y agoI'm not confusing anything. It's relatively common to call the use of dynamically typed languages without static type hints "untyped". I'm pretty sure you knew what I meant and are just trying the classic "you used this word in a way I don't agree with therefore you're wrong".
- dismalaf 2y agoUntyped has an actual meaning, for example, most assembly languages are untyped, same goes for Forth and probably others. Then there's dynamic and weakly typed, ie. JavaScript. Dynamic and strongly typed, Ruby. Static and weakly typed, C. Static and strongly typed, Rust.
- IshKebab 2y agoIt was very clear from the context that I was not talking about Forth or Assembly.
- dismalaf 2y agoThose terms have actual meaning, I've never heard Python or Ruby referred to as untyped. Because they both definitely have types and are in fact strongly typed. Like, no one would call Ocaml untyped if you used type inference and didn't spell them out yourself... Or if you used the auto keyword everywhere in C++... The Ruby and Python runtimes both definitely enforce types.
- IshKebab 2y ago> I've never heard Python or Ruby referred to as untyped Well, now you have! Here are some examples: https://0xda.de/blog/2024/03/untyped-python-sucks/ https://0xda.de/blog/2024/03/untyped-python-sucks/ https://lucumr.pocoo.org/2023/12/1/the-python-that-was/ https://lucumr.pocoo.org/2023/12/1/the-python-that-was/ In fairness I think it is a fairly recent linguistic shift, probably because there's no debate between weakly typed and strongly typed - strongly typed is oblivious the right answer. Instead the debate is between dynamically-typed-without-static-type-annotations and statically-typed-or-dynamically-typed-with-static-type-annotations, but obviously people need a more succinct term for that. > Like, no one would call Ocaml untyped if you used type inference and didn't spell them out yourself... Or if you used the auto keyword everywhere in C++... The Ruby and Python runtimes both definitely enforce types. Static type inference still counts as having static types. That's totally different to dynamic typing without static type annotations ("untyped").
- aguaviva 2y agoIt's relatively common to call the use of dynamically typed languages without static type hints "untyped". And it's relatively common for people to be simply wrong, or to be careless in their word choice in regard to lots of other matters. I'm pretty sure you knew what I meant and are just trying the classic "you used this word in a way I don't agree with therefore you're wrong". It wasn't, i.e. I wasn't considering the possibility that that was what you meant. This is the first time I've encountered this broken usage of the term.