Edward Garson has been passionate about technology since learning to program in Logo on the Apple II. He currently works as a software architect in the Center for Agile Practices at Zuhlke Engineering, a leading Swiss-based technology firm.
THE NATURAL EVOLUTION OF COMPUTER TECHNOLOGY has brought about important changes to the tools that architects can use to build software systems. These changes have brought about a resurgence of interest in polyglot programming, which refers to the use of more than one core language in the provision of a software system.
Polyglot programming is not a new concept: one prominent example from the past is frontend Visual Basic clients supported by COM objects authored in C++ on the backend. Fundamentally speaking, this architecture leveraged what those languages were good at in their heyday.
So, what changes took place to fuel this renewed interest in polyglot programming?
The change is that technical standards, together with ever-increasing bandwidth and computing resources, conspired to make text-based protocols viable; gone are the days of arcane binary protocols as a prerequisite to efficient distributed systems. Text-based remote interoperability largely began with XML/SOAP-based web services and continues to evolve with RESTful architectural styles and other supporting (but no less important) protocols ...