DEV Community

Discussion on: Rewriting the Monolith, Part 2

Collapse
 
kallmanation profile image
Nathan Kallman

Great series of articles!

I've not taken "never rewrite" to mean we can't rebuild our code, just that we should do so along a "refactoring" path instead of a "rewriting" path (aka ship of Theseus our way instead of Cutty Sark 'ing our code).

"Rewriting" to me means all work is halted on the old software while a new (completely disjoint) project is started as a replacement; compared to what you've described so well (what I would call "refactoring") where we incrementally cut away and replace sections of the currently operating software until we've replaced the whole rotten structure with fresh new pieces.

Collapse
 
ovid profile image
Ovid

Hi Nathan,

I know where you're coming from and I explain how to do that in this post. However, when switching to a new programming language, it's not possible to avoid the rewrite. There's refactoring to isolate horizontal layers, but inside the black box of an OpenAPI service, it's impossible to avoid the rewrite when it involves re-implementing the the service in a new programming language.