Cliff Berg
1 min readApr 1, 2020

--

The creator of Python, Guido van Rossum, recently wrote,

“I’ve learned a painful lesson, that for small programs dynamic typing is great. For large programs, you have to have a more disciplined approach. And it helps if the language actually gives you that discipline, rather than telling you, ‘Well, you can do whatever you want.’””

Dropbox built its platform in Python, and hired van Rossum to help them. Despite that they had Python’s creator on their staff, they found it to be unmaintainable.

Go is a fun language, but it is also one of the most unmaintainable languages. Google “Go gotchas” and you will see why — there are many reasons, but the biggest one is the “duck typing”: if you want to know what type an object is, you have to search and discover all the methods that it implements. Good luck with that. I spent a-lot of time trying to read the Go code of some of the Docker tools, and it was a nightmare.

Languages that don’t make you declare things are concise and quick to code in, but they get the time back tenfold when others try to use or maintain the code. Thus, Python is great for little personal projects; and machine learning scientists love it because they don’t want to spend their time programming: they want to build their neural network models. But if you need to create code that will be used by other teams in a large and complex polyglot digital platform, type safety, explicit declaration, and configuration over convention are the way to go.

--

--

Cliff Berg

Author and leadership consultant, IT entrepreneur, physicist — LinkedIn profile: https://www.linkedin.com/in/cliffberg/