Dmitry Golubnichiy liked this
Hey! I know I have plenty of people in and around software development in my circles, so I thought I can throw a question into the void and see if the void would talk back to me.
I'm working with PyCharm, an IDE aimed at developers writing code in Python. Python is a dynamically typed language, which means the variable types are determined and checked at runtime.
At the same time, a lot of Python professionals use type annotations (type hints) to specify the type of a parameter or expected function result.
It is more or less universally agreed that type hints help to keep code clear and readable, reduces the number of bugs and errors and overall boosts the developers' performance. The bigger the team or the project, the more noticeable this effect will be. Everybody agrees that, if you disregard the investment into introducing type hints in the codebase and supporting them, when they are there, they are a universal good.
I spent some time trying to put my finger on the quantitative effect of that good, and miserably failed. Granted, PyCharm is an IDE, an individual tool, and therefore we can not assess any effects, say, on the team level, or on the project level -- we just can't have access to that data.
But surely there has to be some noticeable and measurable effect on the individual level too?
How would you measure the developer's efficiency at writing code? What exactly is supposed to be different between two similar developers, when one of them does use type hints and the other doesn't?
This is one of the examples of product features that can be planned and launched not because some tangible effect is expected, but rather based on the crowd wisdom and understanding of the universal good, as it is percieved in the target user community.
Until that metric is discovered, of course.