eh do we really need to keep re-inventing the wheel so that there can be yet another [insert language] interpreter?
As an exercise, yes! If you've tinkered with the insides of something, it often makes you a better user of it. If you've written a compiler for a language with arrays, you'll understand what's going on with things like a[5] and 5[a] in C. You'll understand calling conventions and have a good feel for what it costs for language X to call language Y. You'll see how stacks are used to implement things like lexical scoping.
Maybe I'm preaching to the choir. But if I am, then let other people have the fun too! They should be congratulated.