The last couple of weeks I have been working through some proof of concepts for Windows Phone 7.  While working through one exercise I had a flashback.  The book I was reading mentioned how you needed to code your application to have the smallest possible memory and and processing speed footprint.  Suddenly I was back in high school with my Tandy hand-held computer which had a single line of text screen and a whopping 1K of memory.  Talk about limitations.

So what else can you learn from developing in such environment constraints.  I think we could all benefit from spending some time doing code where we really have to think about how we are putting it together.  We would have developers who produce much tighter and well performing code as they carry those skills back to desktop and web development.  Maybe these devices should be required learning in our college classes.  Any thoughts?