Game Development Teamup
Games don't write themselves. Without the knowledge and tools the Next Big Thing is still hidden inside your head. Bring your vision to life, we'd love to help.
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.
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.
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.
Parsing Text with a Virtual Machine
As the saying goes, all the good ideas in computer science came from the 1970s. We'll explore a new library for parsing text that calls upon an old, unconventional approach: compiling parsers to custom bytecode and then running it through an interpreter. Along the way, we'll learn about how PEGs fit a sweet spot between regular expressions and heavier parsers, and how Clojure is an ideal language for writing simple compilers.
Practical Functional Programming: The Virtues of Laziness
When you're new to Functional Programming, or struggling to learn it after coming from an Object Oriented background, you're likely to ask: "This is so different, what's the practical aspect?"