Productivity: Time spent writing code vs test/debug/fix?


#21

Have you tried type hinting + PyCharm? It’s not perfect, but surprisingly helpful. I don’t think I could ever go back to Python development without it (because I absolutely felt your pain).


#22

Type hinting helps but alas I’m stuck on Python 2.x, so it’s not so pervasive. I’m certainly not convinced that coding Rust is any slower than coding Python - I think for coding in the large Rust easily wins.


#23

There’s a Python 2.7 compatible flavor that uses comments, but I agree it’s not as nice to use. And you’re right that many third party libraries unfortunately don’t use it yet. PyCharm can infer the types often, but only about 60% of the time for un-type hinted code.

Python 3 flavor:

def embezzle(self, account: str, funds: int = 1000000, *fake_receipts: str) -> None:
    """Embezzle funds from account using fake receipts."""
    <code goes here>

is equivalent to the following Python 2.7:

def embezzle(self, account, funds=1000000, *fake_receipts):
    # type: (str, int, *str) -> None
    """Embezzle funds from account using fake receipts."""
    <code goes here>

#24

Thanks - I’ve been using type: on vars but on functions. - That helps a lot.
(Python is still a poor man’s Rust.)