Just speaking from my own experience in scientific computing (PDEs and molecular simulation): A+\Delta=B. with \Delta small is *not* necessary for Julia to "solve the two-language problem". In fact, I tend to write three iterations: (i) a crappy piece of code that solves the core problem but is neither fast nor elegant; (ii) a complete rewrite, using Julia's type-system to make sure that the code is readable and easily generalisable in the future; (iii) find the bottlenecks and optimise the performance. All three steps work brilliantly for me; there are usually very small parts that I need to optimise for performance, but even if they were bigger, it is extremely useful for productivity to have a working code in the same language to incrementally optimise it. The only "problem" I have, is that I have to be very disciplined in step (i) to not try to incorporate aspects of (ii) or (iii) too early.
Christoph
