languages


C# and F# everywhere: inside open source .NET

Location: Salon A
April 19th, 2017
1:30 PM - 2:30 PM

It’s finally happened. .NET Core and ASP.NET Core are open source and run everywhere. You can develop with .NET Core languages in the open on GitHub and iterate quickly. How did this happen? How does .NET and C# run on linux, windows, Mac, Raspberry Pi and Apple Watch? What language features do C# and F# bring to the table? Join Scott Hanselman as he delves into 15 years of .NET history and what it took to reach this point.

Scott Hanselman

Podcaster, Hanselminutes, This Developer’s Life, Ratchet & The Geek; Principal Program Manager, Outreach and Community, Open Source, Microsoft

Parasitic Programming Languages

Location: Salon C
April 18th, 2017
1:30 PM - 2:30 PM

With the rise of mature programming language runtimes and vast open source software library ecosystems, designing a programming language and environment from scratch becomes less and less practical from the standpoint of acquiring a user base. Scala and Clojure have demonstrated the power of piggiebacking on the Java Virtual Machine, and the meteoric rise of compile to JavaScript programming languages have shown that a parasitic approach to programming languages may have many years if not decades of viability. We examine the benefits and tradeoffs associated with this approach with a special focus on the Clojure and ClojureScript projects to which
Read more  »

David Nolen

Lead Developer, ClojureScript

FOSS is in Jeopardy

Location: Salon D
April 18th, 2017
4:00 PM - 5:00 PM

With the creation of the Scala Center, Scala has achieved a level of open source collaboration that is heretofore unseen, where the worlds of government, academia, corporate enterprise and community are now actively engaging in a positive way to move the language forward in multiple dimensions. However, most other open source technologies do not have this level of diverse backing, and are in serious danger of losing their ability to meet their long-term potential. In this talk, I will explore the reasons open source projects, libraries, tools and more are now in danger of never becoming more than isolated pet
Read more  »

Jamie Allen

Director of Engineering, Starbucks; former Senior Director of Global Solutions Architects, Typesafe/Lightbend

Java Performance Engineer’s Survival Guide

Location: Salon B
April 18th, 2017
4:00 PM - 5:00 PM

Managed runtime performance expert, Monica Beckwith will divulge her survival guide which is essential for any application performance engineer to get to the bottom of a performance issue. The presentation will provide a step-by-step approach to finding the root cause of any performance problem. Monica will walk the attendees through an example that will showcase a few performance tools and the performance process. Following the simple rules highlighted in the presentation and applying performance engineering patterns will make you and your stakeholders happy.

Monica Beckwith

JVM Performance Consultant; former Garbage First Garbage Collector performance team leader, Oracle

Java Futures: Modules and More

Location: Salon B
April 19th, 2017
10:15 AM - 11:15 AM

What can Java 9 do for you? What can you do to prepare for it? How can you take advantage of the new features? Come hear highlights of some cool features coming in Java 9. We will do a deep dive into the new Java Platform Module System (project Jigsaw). We will also take a sneak peak from a JVM engineer’s perspective at some of the future Java projects currently incubating.

Karen Kinnear

Technical Lead, Hotspot Java Virtual Machine Runtime, Oracle Corporation

Free as in Monads

Location: Salon C
April 19th, 2017
4:00 PM - 5:00 PM

What is the `Free`? Where did it come from? Why is it here? Why would anyone *really* care? In this talk, we will embark on an epic journey through a live editor buffer as we derive the `Free` monad from scratch for fun and profit in just a few dozen lines of code. And once we have it, we will see how easy to use and powerful it can be when applied to the right problems. When I was exposed to these ideas and abstractions, it forever changed the way I write software. If you aren't careful, it could do
Read more  »

Daniel Spiewak

Software Developer

Functions and Determinism in Property-based Testing

Location: Salon A
April 19th, 2017
2:45 PM - 3:45 PM

Property-based testing is as close to a panacea as we are likely to get in the software industry. Whether you're someone who loves writing tests or someone who finds testing tedious, identifying and testing the properties and invariants of your code can produce more useful (and more interesting) tests. This talk will briefly cover what property-based testing is and how to do it, followed by an in-depth look into how property-based testing actually works. You will leave this talk armed with an understanding of how the "magic" happens, and with the knowledge necessary to start hacking on a property-based testing
Read more  »

Erik Osheim

Co-Founder, Typelevel

Clojure spec: Expressing Data Constraints without Types

Location: Salon B
April 19th, 2017
1:30 PM - 2:30 PM

Clojure programs are built from a small number of generic immutable data structures combined with a large number of pure functions that manipulate these generic data types. The Clojure development experience is characterized by a rapid, dynamic, and interactive REPL-driven experience. Clojure's new spec library enhances Clojure by providing a system for stating concrete declarative specifications for your data and functions. Because the specifications are based in the same language as the program, they are expressive and concrete. Specs are fully integrated with Clojure and can be used within your programs for validation, documentation, destructuring, instrumentation, data generation, and automatic
Read more  »

Alex Miller

co-author, Clojure Applied; committer, Clojure

Java Puzzlers Next Generation: Down the Rabbit Hole

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

The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!

Viktor Gamov

Senior Solution Architect, Hazelcast