From Modern C++ to Go to Elm, the Programming Languages track covered a lot of topics in just one day at GOTO Chicago 2016!
Watch the videos of the conference sessions in the Programming Languages track below.
Using Modern C++ In Anger
with Todd Montgomery, Co-Author and Co-Maintainer of Aeron
C++ has been undergoing quite a lot of change in the last several years – C++11, C++14, and even C++17. These changes present opportunities for new designs and behaviors. But, how do these new opportunities actually pan out when the project is non-trivial, extremely performance sensitive, and has to interoperate with other languages? Aeron is a high performance messaging transport that provides a C++ API that transparently interoperates with its Java API. In this session, we will talk about the challenges faced with the use of C++11 in Aeron and the lessons learned. Whether you are just curious about modern C++ or are an experienced C/C++ developer, this session will provide some new information.
Go tooling in action
with Francesc Campoy Flores, Senior Developer Advocate at Google Cloud Platform
Go is a successful programming language. Unlike others, its success can’t be attributed to a very wide range of features. It’s rather the opposite: what makes Go successful is in part its simplicity. Go’s simplicity has an effect on what the Go community appreciates and also feeds the growth of a very diverse ecosystem of tools.
This talk covers some of those tools from the very well known gofmt to some less known as oracle, recently renamed as guru. We will first classify the existing tools, then demonstrate how they can be used to improve the quality and efficiency of Go code, and finally propose areas where new tools could be created. The talk doesn’t require a deep understanding of Go, but some basic knowledge of it will be useful to understand the code examples.
Adventures in Elm
with Jessica Kerr, Polyglot Functional Developer
The Miracle of Generators
with Bodil Stokke, Lead Web Developer at Trading Technologies
The ECMAScript 2015 specification introduced iterators, which generalise iteration over common data structures, as well as providing an interface for allowing you to iterate over any custom data structures using common language constructs. ES2015 also introduced generator functions, which make writing arbitrary iterators a lot easier and less boilerplatey.
A Peek Inside Erlang’s OTP
with Steve Vinoski, Co-Author of Designing for Scalability with Erlang/OTP
Erlang’s OTP is the foundation supporting the design, implementation, and deployment of Erlang-based systems. OTP provides tools, libraries, and a set of elegant design principles embodied in generic behaviors, which are frameworks providing common domain-independent services to Erlang-based applications. In this talk, Steve takes you on a tour of the inner workings of OTP, explains its fundamental principles along the way, and shows how you can use OTP behaviors and tools in your own applications. Attendees need not have any prior knowledge of Erlang or OTP.
Scala: The Unpredicted Lingua Franca for Data Science
with Dean Wampler, Big Data Architect at Lightbend
It was true that, until pretty recently, the language of choice to manipulate and to make sense out of the data for Data Scientists was mainly one of Python, R or Matlab. This lead to split in the communities and duplication of efforts in languages offering a similar set functionality.
Although, it was foreseen that Julia (for instance) could gather parts of these communities, an unexpected event happened: the amount of available data and the distributed technologies to handle them. Distributed technologies raised out of the blue by data engineer and most of them are using a convenient and easy to deploy platform, the JVM.
In this talk, we’ll show how the Data Scientists are now part of an heterogeneous team that has to face many problems and have to work towards a global solution together. This is including a new responsibility to be productive and agile in order to have their work integrated into the platform. This is why technologies like Apache Spark is so important nowadays and is gaining this traction from different communities. And even though some binding are available to legacy languages there, all the creativity in new ways to analyse the data has to be done in scala. So that, the second part of this talk will introduce and summarize all the new methodologies and scientific advances in machine learning done Scala as the main language, rather than others. We’ll demonstrate that all using the right tooling for Data Scientists which is enabling interactivity, live reactivity, charting capabilities and robustness in Scala, something there were still missing from the legacy languages. Hence, the examples will be provided and shown in a fully productive and reproducible environment combining the Spark Notebook and Docker.