Learning about programming languages through implementation
Implementing even a very small language forced me to confront questions I never had to think about as a user:
evaluation order, representation, semantics, error handling.
For those with a CS background: do you think language implementation should be introduced earlier when teaching programming, or is it better kept for later stages? #technology