Hacker News new | ask | show | jobs
by Alphasite_ 3602 days ago
What's wrong with optional typing? All it does is formalise docstrings into an integrated syntax.
5 comments

Docstrings are for modules, classes, functions and methods, not variables mixed with the code.

And "optional" is a misnomer unless you only ever touch your own code. Programming is generally a social activity, so for most of us, "optional" means just means "inconsistently required".

I don't have a philosophical objection to typing, but I'm yet to see a syntax that won't muddy Python's.

> And "optional" is a misnomer unless you only ever touch your own code. Programming is generally a social activity, so for most of us, "optional" means just means "inconsistently required".

Optionally means that it's not required or mandatory.

You don't need to use it if you don't want to. If you're working on a project and the project follows a style guide then you follow the style guide, but nothing forces your bosses to require it. The code will run anyway.

That's great for my bosses. I'm not my bosses, though, at least as yet.
It isn't good or bad. It's an optional feature. No one is forced to use it unless they specifically want it.

Your bosses aren't forced to use it. This means that if they don't want to use them and they don't believe the official style guide has to impose them, you don't have to use them.

If your bosses decide to impose them and change teh official style guide to require type annotation then your personal taste doesn't have any say in the subject either way, and you only need to act like a professional and be a team player.

But the key issue is that no one is forced to use optional features unless they really want to.

As long as it remains optional I'm all for it.
It does seem odd that a module could be partially static. If it was optional I'd prefer to see it enabled by a different filetype (e.g. pys, heh piss).
It's a slippery slope

People will start using and it will become mandatory at some point

I can see the medium post now!

"Dynamically typed Python variables considered harmful"

It's optional until the lead developer at work forces you to use it.
Currently they can force you to use a docstring with types, how is that any different?
Docstrings are not as interspersed with the code.