---
title: "The cost of debugging"
description: "There is a cost for compiling and debugging overhead, and that is an argument that is not mentioned often in the debates of language X vs language Y, but it is pretty important."
author: "Faris Zacina"
published: 2016-11-06T19:12:47.599Z
updated: 2016-11-06T19:12:47.599Z
url: https://fariszacina.com/the-cost-of-debugging
tags: ["Software Engineering"]
---

# The cost of debugging

> There is a cost for compiling and debugging overhead, and that is an argument that is not mentioned often in the debates of language X vs language Y, but it is pretty important.

There is a cost for compiling and debugging overhead, and that is an argument that is not mentioned often in the debates of language X vs language Y, but it is pretty important.

Let’s take 2 groups of languages.

**Costly Debugging **— Java, Scala, .NET and C++

**Cheap Debugging** — GoLang, Node.js, Python

The costly group has less efficient compilation in most scenarios. When compilation is not optimized a medium-sized Java or .NET project can take a lot of time to compile. Scala is also very well known for compilation slowness, and GoLang was invented to replace C++ for the same reason.

When we are in a **state of flow**, the least thing we need is an overhead during debugging, and debugging is 90% of our work as developers.

You can argue that developers lose a lot of time on other distractions during the day, but still you don’t want to waste time during the 3–4 productive hours in the day when you are in the zone.

Just having a 20 sec. compilation and context-switching overhead 15 times per day in a team of 20 developers can have a significant overhead.

So basically a team of this size could lose ~2 hrs of collective flow time per day because of the compilation and other debugging overhead.

That is over 400 hrs per year lost on a team of this size. Not fun right?

The efficient compilation is one of the reasons why GoLang is my favorite language right now. It is designed to save money and time across many dimensions, and a large project builds and runs in a few seconds.

It would be great to do a comprehensive comparative analysis on this topic.

When comparing languages and frameworks we should also take this number into consideration. The ultimate goal is developing at mind-speed.

*Originally published on [Medium](https://medium.com/@FarisZacina/the-cost-of-debugging-34f094e1060e).*
