Elixir pipes have captured the imagination of the Elixir community. Joe Armstrong's first blog about the language, Dave Thomas's book title for Programming Elixir, and the creator of the language have all mentioned pipes as a core feature for understanding not just Elixir, but also how functional transformation works. In this talk, we'll learn to use macros to push pipes harder than you ever thought possible. Elixir programmers will learn to write prettier code, and others will learn why functional programming and macros are such a big deal.
The memory model is perhaps one of the most valuable but misunderstood changes in c++11. For the first time, c++ programmers have a language contract with the runtime about how their code will be executed in the face of hardware optimizations, memory hierarchies and multiple threads of execution.
This talk will introduce you to the key concepts in the memory model, and show how these concepts apply to the new atomic primitives in c++11.,
Typical technology sessions walk through a trivial example application to give you a taste of the technology. So hey, let’s do the opposite! In this session we’ll dissect a highly complex single page application that's soon to be used by over 1,000 automotive dealerships to finance and sell cars. This is an HTML5 application that our Silverlight guys said couldn’t be built.
How should code look to fit the way we think, remember and reason? That is, code that is both easier to understand and maintain. To see what really works we need to look across languages and paradigms. Starting from common problematic constructs such as null-references, surprising corner-cases and repetitive code, Adam discusses the cognitive costs and consequences of each. He'll then apply ideas from object-orientation, functional programming and lesser known array languages to explore better ways.
This session combines code in C#, Erlang and Clojure with findings from different fields of psychology. The participants will leave with a high-level view of the principles behind code that fits our human way of thinking together with an introduction to ideas like monads, remote error handling and embedded domain-specific languages.