Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Emerging languages

Any language that makes it big nowadays is open source. While Java and the like are work horses and will be with us for a long time, there is something that Java is not: a language that was created in our current software development landscape, which is dramatically different than it was 10, 20, or 30 years ago. Hear real-life experiences about transitioning to a new language, and what role these new languages play in our larger community.

9:00am12:30pm Monday, July 16, 2018
Location: D139/140
Level: Intermediate
Kenneth Kousen (Kousen IT)
Average rating: **...
(2.00, 1 rating)
Kenneth Kousen offers an overview of Kotlin, with a focus on using it for Android development. You'll learn about Kotlin's essential syntax, data classes, operator overloading, extension functions using the Anko library, generics, working with collections and functional operations, interacting with the Sqlite database, and more. Read more.
1:30pm5:00pm Monday, July 16, 2018
Location: Portland 256
Level: Intermediate
William Lyon (Neo4j), Kevin Vangundy (Neo Technology)
Average rating: **...
(2.40, 5 ratings)
William Lyon and Kevin Vangundy explore full stack JavaScript application development using the GRANDstack (GraphQL, React, Apollo, and the Neo4j database) for building web applications backed by a graph database and Cypher, the query language for graphs, as they walk you through building a simple movie recommendation web application. Read more.
1:30pm5:00pm Monday, July 16, 2018
Location: E143/144
Level: Beginner
Paris Buttfield-Addison (Secret Lab), Jon Manning (Secret Lab), Tim Nugent (lonely.coffee)
Average rating: *****
(5.00, 3 ratings)
Paris Buttfield-Addison, Jonathon Manning, and Tim Nugent walk you through building 2D games using the open source game engine Godot. You'll get a hands-on, rapid-fire introduction to using Godot's IDE and its programming language, VisualScript—a visual block-base environment—as you learn how to build games that run on almost any platform in a powerful, entirely open source environment. Read more.
1:30pm5:00pm Monday, July 16, 2018
Location: B110-112
Level: Intermediate
Nathan Stocks (GitHub)
Average rating: ****.
(4.91, 11 ratings)
Join Nathan Stocks for a fast-paced, entertaining, and curiously informative hands-on crash course in the Rust programming language. You'll explore Rust fundamentals as Nathan walks you through creating a fully functional, multithreaded, graphical, networked game client in Rust. Read more.
9:00am12:30pm Tuesday, July 17, 2018
Location: C123/124
Level: Beginner
Luciano Ramalho (ThoughtWorks)
Average rating: ***..
(3.00, 3 ratings)
Knowing how to test Go code is a key job requirement. It can also help you master Go faster by letting you easily test your hypotheses as you practice the language. Luciano Ramalho offers an introduction to test-driven development, covering essential testing techniques that make the test-first approach practical and even enjoyable. Read more.
1:30pm5:00pm Tuesday, July 17, 2018
Location: D137/138
Level: Intermediate
Francesc Campoy (Dgraph)
Average rating: *****
(5.00, 1 rating)
Francesc Campoy Flores walks you through the tools that make Go a great programming language, from the well-known go tool to lesser-known tools that allow you to profile, debug, and understand the performance of your programs. Along the way, you'll learn how to tune Visual Studio Code as a Go editor, although you are welcome to use any other editor—most provide great integration with Go. Read more.
11:00am11:40am Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Rabimba Karanjai (Rice University | Mozilla)
Are you curious about all the commotion about AR, VR, and MR? Are you trying to decide which option will be best for your next project? Do you want to learn how to build mixed reality experiences that run on any platform today? Join Rabimba Karanjai to learn about the state of web mixed reality (WebXR) and what you can do with it. Read more.
11:50am12:30pm Wednesday, July 18, 2018
Location: E145
Level: Intermediate
James Thompson (Mavenlink)
Average rating: ****.
(4.00, 1 rating)
Imagine a language with the syntax of Ruby but an order of magnitude faster. That's the short pitch for Crystal, a statically typed compiled language with a whole lot more to offer. James Thompson takes you through the history and the current state of Crystal and explains how to use it effectively and where it needs your help. Read more.
1:45pm2:25pm Wednesday, July 18, 2018
Location: E145
Level: Beginner
Average rating: ****.
(4.00, 3 ratings)
Nitya Narasimhan offers an overview of Flutter, a new open source SDK from Google that allows developers to create performant and customizable mobile UIs for Android and iOS from a single codebase. Flutter achieves this with a layered architecture, extensive widget support, AOT compilation for native performance, and a fully extensible DartLang-powered framework. Read more.
2:35pm3:15pm Wednesday, July 18, 2018
Location: E145
Level: Beginner
Ethan Brown (VMS)
Average rating: **...
(2.75, 4 ratings)
The internet's current framework darling is React, but most people aren't as familiar with the language that influenced it: Elm. Elm is a functional language specifically designed for the creation of error-free, high-performance, robust frontend websites. Join Ethan Brown for an introduction to this underrated gem of a language. Read more.
4:15pm4:55pm Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Syue Siang Su (None)
Average rating: ****.
(4.00, 1 rating)
Building cross-platform desktop applications with Vue.js is fairly straightforward, since Vue.js plays really well with Electron. Learn how, as Syue Siang Su walks you through making a minimal browser-like application, from ideation to deployment. Read more.
5:05pm5:45pm Wednesday, July 18, 2018
Location: E145
Level: Intermediate
Daniel Rosenwasser (Microsoft)
Average rating: *****
(5.00, 6 ratings)
Conventional wisdom says building a type system goes hand in hand with building a language. What happens when you go against convention? Well, for a language with millions of users like JavaScript, it turns out that your type system has to be pretty expressive. Daniel Rosenwasser explains how TypeScript has grown to meet JavaScript code and why it's one of the fastest growing languages today. Read more.
11:00am11:40am Thursday, July 19, 2018
Location: E145
Level: Beginner
Sean Allen (Wallaroo Labs)
Average rating: *****
(5.00, 1 rating)
Pony is a new high-performance, capabilities-secure actor-model language. Sean Allen explains how he and his team at Wallaroo Labs used Pony to build a high-performance distributed stream processor. Read more.
11:50am12:30pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
Jay Hayes (Stitch Fix)
Average rating: *****
(5.00, 1 rating)
Elixir's Phoenix web framework is powerful and complex. Join Jay Hayes to explore a small slice of the Phoenix framework. Jay walks you through building a simple version of the Elixir Phoenix web app framework in about 80 lines of code to illustrate how some key features of Phoenix are implemented. Along the way, you'll also learn more about Elixir and its metaprogramming roots. Read more.
1:45pm2:25pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
AMahdy Abdelaziz (Vaadin)
Average rating: ****.
(4.00, 1 rating)
AMahdy Abdelaziz explores the awesomeness of Kotlin. Rather than an introduction to the language, AMahdy covers the essential steps for migrating an enterprise Java application and shares insights about how Kotlin works in practice. Along the way, AMahdy compares Kotlin and Java and explains why Kotlin makes sense now. Read more.
2:35pm3:15pm Thursday, July 19, 2018
Location: E145
Level: Beginner
Robert Kluin (Real Kinetic)
Average rating: *****
(5.00, 2 ratings)
Introducing a new programming language at work can be a challenge, especially if it is a functional language. Robert Kluin shares a failed attempt and an ongoing success story that will help you understand how to sell the idea to management and improve the odds that your pilot project will be a success. Read more.
4:15pm4:55pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
Nathan Stocks (GitHub)
Average rating: *****
(5.00, 5 ratings)
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Nathan Stocks leads a fast-paced introduction to Rust concepts, features, community, and language fundamentals. It's a crash course in why Rust is awesome and how to use some of the awesomeness. If you've thought about getting into low-level systems programming, join in. Read more.
5:05pm5:45pm Thursday, July 19, 2018
Location: E145
Level: Intermediate
Timirah James (TechniGal LA)
Average rating: *****
(5.00, 1 rating)
Although Apple’s Swift language is quickly becoming more popular than its 33-year-old predecessor, Objective-C, in the mobile (iOS) community, as its range of capabilities expands via the open source community, Swift has recently proven its potency in the serverless realm as well. Timirah James details why Swift is the language to watch in 2018 and beyond. Read more.