Relevancy of compiler design courses
So the basic premise of Making Compiler Design Relevant for Students who will (Most Likely)
Never Design a Compiler to be pretty obvious. I'd describe it as saying 'it is useful to know algorithms for translation'. What I mean when I say it's obvious is that I can see it as another forn of arguing in favor of having a good algorithms class in a computer science course. Throughout generations I think we can find experienced computer scientists state that it has been useful for them to know about lots of kinds of algorithms even if they are not experts on the subject.
I think Debray aruges that the trick is presenting the compilers course as a course on tackling the problem of translation. (And then proceeds to give examples of how translation appears in different other fields of computation). And I agree with him. I think I'd say that it'd be just as precise if not more precise to call our traditional compilers course a course on "Computer Translation". I'm not sure why but yeah we do present it as being something exclusive to compilers when it's not. Maybe its just tradition but yeah I could see a CS program having like two algorithms courses like class 1 Algorithms & Data Structures, class 2 more advanced algorithms and data structures, and class 3 translation algorithms where you happen to build a compiler or interpreter for the class project. It'd be cool.
Never Design a Compiler to be pretty obvious. I'd describe it as saying 'it is useful to know algorithms for translation'. What I mean when I say it's obvious is that I can see it as another forn of arguing in favor of having a good algorithms class in a computer science course. Throughout generations I think we can find experienced computer scientists state that it has been useful for them to know about lots of kinds of algorithms even if they are not experts on the subject.
I think Debray aruges that the trick is presenting the compilers course as a course on tackling the problem of translation. (And then proceeds to give examples of how translation appears in different other fields of computation). And I agree with him. I think I'd say that it'd be just as precise if not more precise to call our traditional compilers course a course on "Computer Translation". I'm not sure why but yeah we do present it as being something exclusive to compilers when it's not. Maybe its just tradition but yeah I could see a CS program having like two algorithms courses like class 1 Algorithms & Data Structures, class 2 more advanced algorithms and data structures, and class 3 translation algorithms where you happen to build a compiler or interpreter for the class project. It'd be cool.
Comments
Post a Comment