Design Decisions in the Translator

Subtle changes in libraries can break interfaces

In Iguana 4.1 we did a major change to the product to make it more friendly to internationalization by having it do everything internally with UTF8 and using transcoders at the inputs to translate from different encodings into UTF8.

As part of that we needed to shift Python from using the ascii regex version of the library to the unicode library.

One of our customers got burned by this small change. The problem was they had some code within their python that was relying on some implicit behaviour of the ascii regex library which was not a documented part of the interface. This implicit behaviour changed with the switch to the unicode version of the python regex libraries, which broke their code in a manner they didn’t notice.

Hence the emphasis in the Translator on keeping the core libraries very small and building in regression testing as part of the platform.

Next: Why minimalism is important

Leave A Comment?