Thanks to the magic of Pymacs I can now script Emacs with my favorite language. It's rather thrilling to think about in a way because I spend so much time in my editor. Part of me wonders if I am wasting my time with Emacs. Things like better auto-completion could be nice and there are times where a more robust viewport into the filesystem could really be helpful.
What makes it all worth while is knowing that I am learning how to solve problems. When you have an IDE that is configured for you to automagically put all the pieces together, there is always the chance you misunderstood what is actually happening under the hood. This is usually not that big of an issue. It is pretty harmless because you can usually figure out the problems when they arise. Yet, even though you have good documentation and some helpful hackers at your side, there is still a reasonable chance that you go down the totally wrong path because you made incorrect assumptions.
I think Emacs helps to avoid this kind of problem. I can't tell you how many times I've seen some slick screenshot of a cool mode I want to try. Most of the time they don't work, but everytime I give it a go, I learn a little more. While I really can't code elisp, I have been able to undestand a good deal more about it by working with Pymacs. It is these little battles that make me realize the struggles I have with Emacs force me to learn new things and think methodically about how to solve problems. It also makes it clear how important a user interface can be when trying to accomplish a specific task. None of this is rocket science, but as someone who loves to learn, it is a ton of fun.