This edition of Reading Roundup involves ideas behind three different languages. What makes languages different? Lots of things of course, but going beyond syntax and memory management it's interesting to read about the thought process of each language. How does one actually think differently in X language? What types of problems might this be helpful for?
Meditations on learning Haskell by Christopher Allen
One of the more feely reads I've posted-- the takeaway is that more Haskell is in my immediate future.
Type Erasure Is Good by Sukant Hajra
The story goes that when Java added generics post-release in version 1.5, type erasure was a hack to keep backward compatibility. C# decided to screw it and break all the old stuff (thankfully). However, apparently there is a horde of Javacademics that carry on the notion that type erasure was not only purposeful but desirable. Read this Stack Overflow answer to learn about parametricity, why it's a good thing, and why reflection actually is dangerous.
And no, I don't buy the argument in full.
Why Not a Bytecode VM? by Florian Loitsch and Bob Nystrom
One of the more interesting choices for Google's Dart is that the VM is not a bytecode VM. Yes, mighty Google, last bastion of Java did not give Dart a bytecode VM. The reasons may surprise you