Join 4,000+ technologists, decision makers and community members in Raleigh, NC

October 13 - 15

Register

Programming Languages

2-for-1: Reactive for the Impatient – A Gentle Intro to Reactive Programming and Systems (Java Edition) / Reading Staticly Typed Code, for the Self Taught Scripter

Mary Grygleski    Andrew Grangaard   

Mary Grygleski – Reactive for the Impatient – A Gentle Intro to Reactive Programming and Systems (Java Edition) (Introductory)

As Java is an object-oriented language that inherently supports the imperative programming style, asynchronicity presents a challenge that can turn the code into nightmare. One way to deal with the complexity of asynchronicity is to introduce reactivity onto the coding level (reactive programming), and/or to handle it on the design and architecture level (reactive systems design).

This talk presents to the audience a few of the major Java-based reactive frameworks and toolkits in the market today, such as RxJava, Spring Reactor, Akka, and Vert,x. It will start by going over the basic tenets of reactive systems, and some examples of the problems that these systems aim to solve. It will discuss the 2 most commonly used Java frameworks for implementing reactive coding – RxJava and Spring Reactor, and will show some code samples. It will then bring the audience to the next level of ‘reactivity’ by introducing 2 reactive frameworks – Akka and Vert,x, which are usually used for implementing reactive microservices. It will draw some comparisons between these 2 frameworks and cite some real-life examples of their usages.

The takeaways for the audience will be an understanding of the key differences between reactive programming versus reactive systems, and the strength and weaknesses of each of the surveyed frameworks.

Andrew Grangaard – Reading Staticly Typed Code, for the Self Taught Scripter (Intermediate)

Let’s read some rust!

Are you a coder from a dynamic language (perl, python, ruby, php, Javascript, etc) who wants to dip her toes into staticly typed languages but doesn’t know where to start?

For practitioners of dynamic OOP languages, staticly typed systems languages can seem daunting and unapproachable. Doubly so for those of us who are self-taught hobbyists. We are left wondering about unfamiliar concepts like Compilation? Static Types? Memory management? Where are my objects?

Let’s step back and approach reading code, as a prequisite for writing it.

We will walk through some code examples and compare the expected static syntax and idioms against dynamic examples.

  • how do I verbalize this code? What is the syntax?
  • What is a type? What does it do for me?
  • Why should I care about memory?
  • I’ll handwave my way around the borrow checker and compiler to focus on reading and recognizing why values may be borrowed or copied.

At the end of this talk, I hope you’ll be able to read static code and reason about its algorithm at a pseudo code level.