testuser66
Joined 8 years ago
Joined 8 years ago
And you get all the IDE stuff as well. Pretty much a win-win there. (if the vim functionality is good enough for you)
We already do.
from functools import singledispatch
from typing import Union
@singledispatch
def myfunc(arg:Union[int, str]):
print("Called with something else")
@myfunc.register
def _(arg:int):
print("Called the one with int")
@myfunc.register
def _(arg:str):
print("Called the one with str")
myfunc(123)
myfunc("123")
Everything works as you'd expect, and the IDE's type hints are accurate as long as you actually put the correct type hint def myfunc(arg:Union[int, str]): def func(*args, **kwargs)
I am in full support of actual kwargs with names, it's the wildcard ones that I don't like. def func(*args, **kwargs)
is valid and completely ambiguous - you have no idea what it's doing unless you read the source, and track down how it branches out. IDEs are stopped dead in their tracks as they aren't going to parse the logic to figure it outAnd yes it's not the most common approach, but I have seen it enough times to despise it. This overloading approach removes the need for it so I'm all for that.
If you can get away with just a bunch of named kwargs after the arguments that is fine, but I'd take overloading over the `args, kwargs` garbage any day, even if that is the more "pythonic" way.
Genuinely curious, because if I'm understanding this correctly, it's just another front-end like what VSCode/Atom(probably)/CLion/Visual Studio have been doing for years if not decades.
I guess what I'm asking is: does this do a better job than the others?
I am not so sure that we changed so rapidly. It would also make sense that this is not new, and it has just become more apparent in the last few decades, as people have been increasingly communicating with with more other people than ever before.
I think the vast majority of people never had the reason/opportunity to acquire critical thinking skills. It has been discussed by philosophers hundreds (if not thousands) of years ago, so I think it's safe to assume it's not new.
But regardless, I believe the real issue here is that we are not doing much to teach people to think critically.
I ended up going back for a bit and added a password manager, and now I can move between browsers easily - but as I said, it's not always straightforward, especially for _most_ non-tech users.