Many compilers are divided into two largely independent parsers: a front- end, responsible for analyzing the source code, and a back -end, responsible for generating the target code. What is the most important motivation for this division into passes?
1It aids in portability.
2To facilitate debugging the compiler.
3.To facilitate division of labor when a compiler is build by a large team of programmers.
4.To minimize memory requirements on modern machines.
I just compared C compiling method and Java compiling method. Java is more used because of Write once run anywhere feature of it, that is because of Portability.
correct me if I'm wrong