language-centric: the language you are compiling is flexible (you are also the language designer), you want to build the best possible language
implementation-centric: the language you are compiling is mostly fixed and/or defined by an external entity. You want to build the fastest compiler for this language, which emits the fastest code.