Babylon problem

by Oleg Sovetnik

When formal domain descriptions are not given proper attention, a gap emerges between code and natural language. This gap resembles the problem faced during the construction of the Tower of Babel, where people began speaking different languages, lost the ability to understand each other, and were unable to complete the building. In software development, code and natural language often become two distinct “languages” for describing the domain, leading to misunderstandings and a slowdown in progress.

One of the causes of this gap is the failure to choose an appropriate language for conceptualization. Without this, the overly flexible natural language and the formalized language of programming begin to diverge. Over time, the project’s description in documentation and its implementation in code lose alignment. This makes the project increasingly difficult to understand and leads to the “Babylon Problem.”

As the project evolves, the code becomes more complex and drifts further from the original goals and requirements expressed in natural language. Developers get immersed in technical details (added complexity), which are difficult to explain or comprehend outside of their context. As a result, the overarching goal is lost, and work slows or even stops due to the inability to communicate effectively.

To avoid this, it is crucial not only to establish a common language for the entire team but also to define a conceptual language early on that ensures consistency between natural language and programming language at all stages of development.

problem Babylon metaphor development


Buzzwords
strong-weak-ties programming social-group-dynamics mindmap platform-networks structural-functionalism rationalism structuration-theory cognitive-capital mediatisation-theory operationalization enterprise Babylon automation social-action marketplace AI actor-network ideas scrum discord cognition communication social-capital financial production semantic-gap aspect-oriented umwelt empiricism positivism gap actor-network-theory research complexity information imperative verification problem psychologism game-dev streaming systems-theory disciplinary-power multiple-worlds-theory teamwork theory systems elephant cloud knowledge-communication structure tools symbolic-interactionism babylon field-theory messengers element security network e-commerce mediation-market big-data fact information-society concept communities philosophy social-network elements development object service multimedia sociology paradigm distribution theories language lenses epistemology metaphor social-exchange functional deconstruction linguistics anthropology meaning apriorism institutionalization-theory analytics projects conceptualization concepts poststructuralism procedural knowledge hoare-triples domain semantics consumption-theory syntax capitalist-systems subject