在编译器设计中使用编程语言有哪些不同的好处?