languages


Academese to English: A Practical Tour of Scala’s Type System

Location: Salon B
April 11th, 2016
11:30 AM - 12:30 PM

Scala is famous in part for having one of the richest type systems of all mainstream programming languages today. Despite its reputation, Scala's type system remains one of the most under-documented and jargon-heavy aspects of Scala. This talk will turn the academese into English, providing an example-rich tour of Scala’s type system, covering all the things that make people call it “powerful”. This talk isn't about showcasing a bunch of challenging little logical puzzles with types; on the contrary, this talk is about showing practical uses of Scala's type system, making it work for you and your users. We'll see
Read more  »

Heather Miller

Executive Director, Scala Center, EPFL

Code Quality in Practice

Location: Salon D
April 11th, 2016
4:00 PM - 5:00 PM

We started Code Climate with a simple hypothesis: static analysis can help developers ship better code, faster. Five years later, we analyze over one trillion lines of code each day spanning a wide variety of programming languages, and along the way we've learned a lot about code quality itself: what it means, why you want it, how you get it, and more. This talk will cover some of the more surprising insights, including what makes a code metric valuable, when unmaintainable code may be preferable, and the number one thing that prevents most developers from maintaining quality code over time.
Read more  »

Bryan Helmkamp

CEO, Code Climate

Modern C++ for Fun and Profit: This isn’t your old C++

Location: Salon A
April 12th, 2016
4:00 PM - 5:00 PM

Think that C++ is an antiquated language and isn’t worth learning? Think that programming in C++ is too difficult and you’ll spend all of your time debugging segmentation faults and memory leaks? In this talk you’ll find out some of how C++ has changed in C++11, C++14, and beyond in ways that make programmer’s lives easier and allow you to write high-performance, maintainable, and well-designed code. Learn why C++ matters to companies around the world and why they continue to use it for performance critical and fundamental cross-platform libraries. Andy's talk is now available on the Chariot Solutions site. Slides
Read more  »

Andy Webber

Trading Systems Developer, Susquehanna International Group, LLP

Transforming Enterprise Development With Clojure

Location: Salon B
April 12th, 2016
11:30 AM - 12:30 PM

Modern software architecture emphasizes modularity and composability. While the industry at large is rapidly moving toward approaches such as microservices, the monolith is still alive and well in the enterprise. Monolithic projects will often have tight coupling between components, resulting in codebases that are large and unwieldy. This directly impacts productivity, and translates into costs for the organization. In this session we will explore the aspects of Clojure that encourage writing code that is loosely coupled and reusable. We will discuss the benefits of the Clojure approach, and we will see how it applies in practice with a live demo.
Read more  »

Dmitri Sotnikov

Author, Web Development with Clojure: Build Bulletproof Web Apps with Less Code

Unleash Your Data with Clojure: Using Transducers and Sequences

Location: Salon B
April 12th, 2016
10:15 AM - 11:15 AM

As programmers, we spend the bulk of our time writing code that transforms data from one structure to another. The status quo in languages like Java uses imperative loops that accumulate changes in mutable objects. Functional programming and immutable values offer a different approach with opportunities for composability, concurrency, and simplicity. In this talk we'll examine Clojure's approach to data and data transformation, which is built from a foundation of immutable values and persistent collections. Clojure offers several models for transformation of collections - sequences, reducers, and transducers. We'll compare these to each other and to the status quo to
Read more  »

Alex Miller

Co-Author, Clojure Applied

WebAssembly: A New Compilation Target for the Web

Location: Salon C
April 12th, 2016
4:00 PM - 5:00 PM

WebAssembly is an emerging standard which defines a new, portable, binary format to serve as a safe and efficient compiler target for the Web. Driven by active cross-browser collaboration, WebAssembly is rapidly taking shape and should be coming in the future to a browser near you. What does this new addition to the open Web platform mean for developers? This talk will provide an overview of the design of WebAssembly and explain how WebAssembly can be used to both bring existing codebases to the Web as well as complement modern web apps written in JS and HTML5. The talk will
Read more  »

Luke Wagner

Research Engineer, Mozilla

The World of Swift 3

Location: Salon D
April 11th, 2016
11:30 AM - 12:30 PM

When Apple open sourced Swift late last year, they invited the community into the discussion of where Swift should go and why. Instead of us having to imagine what the Swift language and library stewards and architects are thinking, we can read their words on the Swift evolution mailing list. In this talk we’ll look at what idiomatic Swift will look like soon when Swift 3 is soon released and talk about the reasoning behind some of the choices. Daniel's talk is now available on the Chariot Solutions site. Slides Screencast

Daniel Steinberg

Author, A Swift Kickstart

From Concurrent to Parallel: Understanding Parallel Stream Performance in Java SE 8

Location: Salon C
April 11th, 2016
4:00 PM - 5:00 PM

As core counts continue to increase, how we exploit hardware parallelism in practice shifts from concurrency -- using more cores to handle more user requests -- to parallelism -- using more cores to solve data-intensive problems faster. This talk will explore the different goals, tools, and techniques involved between these various approaches, and how to analyze a computation for potential parallelism, with specific attention to the parallel stream library in Java 8. Brian's talk is now available on the Chariot Solutions site. Slides Screencast

Brian Goetz

Java Language Architect, Oracle

Move Deliberately and Don’t Break Anything: Lessons from the Evolution of Java

Location: Salon D
April 12th, 2016
10:15 AM - 11:15 AM

Programming language design is not just about type theory and grammars. For evolving a mature programming language like Java, it is about finding ways to add capabilities while maintaining compatibility, both with existing code and with the expectations and mental models of 9 million or so developers. In this talk, Java Language Architect Brian Goetz looks at some of the challenges and lessons of steering Java through major evolutionary changes, and a sneak peek at where the Java platform is headed. Slides from Brian's talk are now available on the Chariot Solutions site.

Brian Goetz

Java Language Architect, Oracle

Adventures in Elm: Events, Reproducibility, and Kindness

Location: Salon C
April 12th, 2016
1:30 PM - 2:30 PM

What do you get when you combine strict functional programming with heavy user interaction? Challenges, and unexpected freedoms. Elm is a purely functional language for the browser. It compiles to JavaScript -- after enforcing immutability, types, semantic versioning, and tight boundaries for user and server interactions. Working within these restrictions, I find my programming principles turned upside down. Small components? Who needs them. Global state? No problem. New principles emerge instead: events, reproducibility, kindness in times of error. This session gives an overview of Elm, then focuses on the Elm Architecture: how it overturns what is essential in object-oriented and
Read more  »

Jessica Kerr

Engineer, Stripe