You Should Learn to Write Compilers
Learn how to write a compiler is more useful than it seems, but you probably do not know why.
Are we teaching compilers to new programmers?
It is not surprising that most current developers do not know how to write a compiler. However, it is surprising that an increasing number of computer engineering degrees do not include instruction on compilers at all.
I first noticed this trend at my former university. As the overall student population decreased, so too did demand for the degree. The number of new students dropped from nearly one thousand per year to just five hundred. As a result, the university adjusted its admissions standards and proposed changes to the curriculum to adapt to the new situation.
One of the first areas proposed to be dropped was operating systems. The reasoning was, why teach how to build an operating system when Linux and Windows already exist? Later, compilers were also proposed to be dropped. The reasoning was, why teach how to build a compiler when modern compilers are so good and only a small fraction of students, if any, will actually go on to write them?
It made sense. It seemed pointless to teach compilers to every student if almost no one would go on to write…