On 24/06/2007, at 7:43 AM, Peter Miller wrote:
I wonder how vital understanding how compilers work really is for the
majority of programmers.
This is a classic case of the blub paradox:
http://www.paulgraham.com/avg.html
Perhaps we were solving different types of problems? Now that I think
about it a bit more, there were actually more problems where compiler
theory could have been handy than I remembered.
Compiler theory is the most powerful set of tools in a coder's
toolbox.
In my experience, there is rarely a new problem goes by that
doesn't use
one or another of the techniques collectively called compiler theory.
But then, I like writing compilers.
Maybe I should give it another look, if you really think it's that
important. Holidays are coming up, and it would keep me off the
streets :)
to answer Mark's question: if you understand a computer well enough to
write a compiler, and tell that compiler how it works, then you
understand it *very* well. And they don't even teach pointers any
more, sheesh!
Well, it depends on the degree program. When I went through, most
courses used C or Pascal etc. as the introductory language, and then
other languages were taught in other courses. People are free to pick
and choose courses to some extent, and could get through an entire CS
course now knowing only Java. But C programming and data structures
etc. are still definitely offered, and many students take them.
For my degree, it was compulsary to learn electronics, digital logic,
computer organisation, data structures, systems programming,
operating systems, formal languages and automata, programming
language structures and discrete maths. So I guess we had all the
pieces just ready to put together with compiler theory, but never
quite got around to it.
Mark
_______________________________________________
coders mailing list
coders@slug.org.au
http://lists.slug.org.au/listinfo/coders