Text this: Language Engineering and Rigorous Software Development