top of page

The Tower of Babel in Enterprise Software Stacks

In enterprises across the globe, a modern-day Tower of Babel exists. Vast inventories of data and programs spanning decades exist in silos, unable to communicate seamlessly due to the dizzying array of computer languages in use.


From the venerable COBOL systems still running core operations at banks and insurance companies to the bleeding-edge Scala and Clojure codebases powering innovative startups, a polyglot accumulation of software is the reality at most organizations. Even within a single technology stack, multiple languages are typically used, often necessitated by evolving requirements, the emergence of new languages, or developers' personal preferences over time.


This Babylonian state of affairs takes a heavy toll. Data integration across systems becomes challenging when the programs cannot interoperate out-of-the-box due to language incompatibilities. Point-to-point translation mechanisms must be built. Valuable data insights get stranded in language silos. Onboarding new developers requires them to learn multiple language paradigms and syntax. Overall, business agility suffers.


Some large enterprises report having over 200 active languages/versions in their Digital Worlds, spanning old and new across a wide spectrum of compiled, interpreted, procedural, functional, object-oriented, and other paradigms. Managing this polyglot complexion is costly and inefficient.


If we could wave a magic wand and translate (or re-implement) the bulk of these program inventories into a much smaller set of 6–8 prominent, modern languages like Java, Python, C#, C++, JavaScript, Go and Rust, what levels of efficiency could we unlock?


In one stroke, onboarding new talent and cross-training existing teams would become far simpler, with dramatically fewer languages to learn. Developers could fluidly move across projects. Data integration and interoperability between systems would be vastly improved by reducing the translations and connectors needed between systems. Over time, enterprise portfolios could be "rationalized" into this smaller set of languages and paradigms based on modern architectural needs.


Of course, such a dream of boosting compatibility by "reducing to a few languages" is easier stated than executed. The humongous effort of translating billions of lines of existing program code across thousands of systems is daunting. But thought-leaders have begun exploring the applicability of AI technologies like natural language processing for automating software translation.


Hand-coding such translations is simply not feasible at most enterprises. But what if we could "teach" AI translation models using the billions of open source repositories already available across languages? The learned models could then be applied to automatically translate atleast the straightforward parts of proprietary codebases into the desired target languages. Skilled developers could handle the remaining complex translation work in a semi-automated mode.


Even attempting a 20–30% initial translation of key systems to a standardized set of languages could remove somefriction and boost compatibility. Over multiple cycles, the institution's software portfolio could progressively get re-modernized and consolidated into a smaller cohort of languages.


With global enterprises already deploying AI in other mission-critical functions like credit decisioning and fraud prevention, applying the technology to the vexingpolyglot software translation challenge could usefully boost business effectiveness. A new era of software with greater interoperability and re-usability could emerge from the fragmented Babel we find ourselves in.


Of course, the shift would still be non-trivial due to the huge scale involved. Language paradigms differ, and a 1:1 semantic equivalence cannot always be achieved during translation between them. Refactoring by human experts may still be required in some areas. But an AI-augmented approach could help us overcome inertia and progressively demolish the software Tower of Babel prevailing across enterprises today.


5 views0 comments

Recent Posts

See All

AI: Data Centers and GPUs in 2024-5

In the age of artificial intelligence and cloud computing, the humble data center has evolved into a powerhouse of the digital economy. Let's examine the current state of data centers and the GPUs dri

Train LLM from Scratch

Training an LLM to Generate Python Code: A Step-by-Step Guide for CS Students As a computer science student, learning how to train a Large Language Model (LLM) on Python code can be an incredibly usef

Yorumlar


bottom of page