· programming  · 1 min read

Having a type system is more productive

Strict types increase a system truthiness

A type system enables multiple benefits to developers. At least, it uncovers data flow complexity.

A codebase with types becomes more intuitive and connected, primarily by making data flow visible. So, at each moment of time when I work with code, I know the input and the result after transformation or some processing.

function input

On the contrary, working with a language like Javascript provides more flexibility. However, the cost is huge: you hide data flow complexity while the problem is still there. By silencing the issue, we don’t solve it, even though we can postpone encountering the consequent problems that stem from this root issue.

For example, I may send to a function invalid input without knowing it (assume this function is large and complex to understand), which results in a runtime error, that we’d like to avoid.

invalid function input

A type system tells what’s wrong when a developer writes code. Thus, it’s easier to catch problems before they arise in a production system.

function input with types

The code becomes more readable since you now understand the interconnectedness between various components better. Both writing and reading code are faster.

Back to Blog

Related Posts

View All Posts »
26 No-code tools to speed up your idea release

26 No-code tools to speed up your idea release

Do you have processes that slow you down? Do you have manual data entry? Paper-based workflows? Manual inventory management? Sales and customer relationship management? Any process has the potential to be fully automated.