F# Type Providers
Introduced in F Sharp 3.0, Type Providers are components that provide types, properties, and methods to an application to facilitate information rich programming. In other words a type provider automatically exposes the types which represent provider’s data structures.
So You Want to Learn Java?
Java is a great software development language. Used by millions of people daily, it's incredibly popular being the the primary language of businesses, Android software development and Minecraft. Java has excellent tool support, offering integrated debugging and many many libraries that can solve many many problems.
Don't Fear the Monad
Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and many-core chipsets, software engineering must evolve to better equip software engineers with the tools to exploit the vast power of multiple core processors as it won't come for free as it did in the recent past which was predictably based on Moore's law.
Concepts of functional programming is made much harder when the developer is also trying to learn a new language, like Haskell, Scala or Clojure at the same time. With that in mind, we focus on relating functional concepts in a common language: Java.
With such a conspicuous title you'd think this was meant to be ironic or a post-modern arthouse diatribe. Nope, I'm just asking you to literally think differently, because the future depends on it. Non-ironic drama intended.
Linguistics and Compilers
Compilers are tools typically used to create binary we call software. Kenneth Miller has some interesting thoughts on extending the metaphor (and tools) to both human and programming languages.