Themes are awesome. Themes are amazing. Themes should be built with presenting user content in mind.
What happens when you introduce dynamic content? Live content. I know you may be wondering what I mean by this.
A little history
document.write( 'Hello world!' ); alert( 'How I am doing?' ); prompt( 'Is this working?' );
One of the reasons I liked it being integrated was because it can resemble an MVC style of setup. I know there are some people out there who argue against it. I say it resembles in that it uses models and views. It does make it easier for many others to pick up if you come from another content management system other than WordPress. Yes, they do exist.
Yes, my list of reading materials just keeps growing and growing and this does include core code.