Generation of programming languages