Five Steps To Better Multi-language Programming