Emerging languages

These are the sessions tagged with Emerging languages at Øredev 2012:

Wednesday

11.10-12.00

Up up and Out: Scaling software with Akka 2

Akka is a unified runtime and programming model for scaling both UP (utilizing multi-core processors) and OUT (utilizing the grid/cloud). With Akka 2 this will be taken to a whole new level with its “Distributed by Design”. Akka 2 provides location transparency by abstracting away both these tangents of scalability by turning them into an operations and configuration task. In this talk you will learn what Akka is and how it can be used to solve hard scalability problems. http://akka.io

Tags: Back end Emerging languages Java

Up up and Out: Scaling software with Akka 2Henrik Engström

Henrik has worked as a professional software developer since 1998. During these years his main focus has been on highly transactional systems within the finance, retail and e-gambling industries. He is currently based in Sweden and works in the Akka team at Typesafe.

11.10-12.00

Pure, Functional Javascript

Are you comfortable passing functions around, returning them from other functions, and generally enjoy the pleasures of higher-order functions? Join in on a brief hour implementing ideas from functional programming in JavaScript. I will show you how you can significantly up your game by leaving loops behind and embracing functions as your primary unit of abstraction.

Tags: Emerging languages Front end Javascript Web

Pure, Functional JavascriptChristian Johansen

Christian is a passionate programmer currently working at gitorious.org where he does everything from JavaScript to Ruby to Unix systems tuning. He is the author of "Test-Driven JavaScript Development", and he maintains several open source projects, including the recently released test-framework Buster.JS and the popular mocking framework Sinon.JS. After dark you may find him tinkering with his Emacs setup, coding Lisp and slowly being devoured by the world of functional programming.

13.00-13.50

Effective Scala

Everything you always wanted to know about Scala but were afraid to ask.
If you want to be able to optimize your use of the Scala programming language to solve real world problems without explosions, broken thumbs or bullet wounds then this is the session for you.
During the presentation there will be a lot of do's and don't's in order to guide you into how to become a better Scala developer. The target audience is intermediate to advanced Scala developers.

Tags: Emerging languages Java

Effective ScalaHenrik Engström

Henrik has worked as a professional software developer since 1998. During these years his main focus has been on highly transactional systems within the finance, retail and e-gambling industries. He is currently based in Sweden and works in the Akka team at Typesafe.

14.10-15.00

Kotlin: Making the Java Platform a Better Place

Kotlin is a modern statically typed general-purpose language designed to be safe, concise, expressive and 100% Java-compatible. It is compiled to Java byte code as well as JavaScript, so it can run on both client- and server-side.

This session gives an overview of the key features of Kotlin and demonstrates how the new language integrates into the existing infrastructure. On top of that we show how one can make Java APIs better using Kotlin, without having to alter them in any way.

Tags: Emerging languages Java

Kotlin: Making the Java Platform a Better PlaceHadi Hariri

Hadi Hariri is a developer, speaker and Technical Evangelist at JetBrains. His passions include software architecture and web development. Book author and frequent contributor to developer publications, Hadi has been speaking at industry events for over a decade. He is based in Spain where he lives with his wife and three sons. He is also an ASP.NET MVP and ASP.NET Insider.

14.10-15.00

Play Framework 2

This presentation introduces the key innovations that Play 2 brings to web application development in Java and Scala.

Tags: Emerging languages Java Web

Play Framework 2Peter Hilton

Peter Hilton is a senior solution architect and Operations Director at Lunatech Research. Peter works on web application architecture, design and construction, with technical project management. His interests include Java web application frameworks, agile software development process and practices, and web-based collaboration. Peter is a committer on the Play framework open-source project and co-author of ‘Play for Scala’.

Thursday

13.00-13.50

Therapeutic Refactoring

Enter deadline center stage, exit best practices, quietly, rear stage left.

The results are rarely pretty.

Refactoring can pry panic’s fingers away from your poor, overburdened adrenal glands and restore your sanity. Not that it went missing, of course. Never that!

This talk will cover the two reasons why refactoring works as therapy, explore a effective strategies to ensure that the rubber meets the road, and contains before and after shots of ruby code that has served therapeutic purpose.

Tags: Emerging languages Mastery

Therapeutic RefactoringKatrina Owen

Katrina ran away from the circus and found her true home in the land of computers and code. She enjoys optimizing and automating, taking busywork away from smart people and putting it into code where it belongs. She is the problem solver you want on your side. She is driven by an inexplicable urge to refactor, appreciates a good steak, and admits to enjoying a nice stick fight.

15.40-16.30

Polyglot Programming in the JVM

The JVM boasts one of the biggest software ecosystems: you will find libraries, components and servers of all sizes, types, colors and flavors; which have made it the choice language for many. However the JVM is open enough to let other languages live in it, these languages provide new features and concepts that the Java language does not have. On this session we'll discover the benefits of adding a bit of spice to your Java development skills by exploring Groovy, Scala and Clojure.

Tags: Emerging languages Hands on Java

Polyglot Programming in the JVMAndres Almiray

Andres is a Java/Groovy developer and Java Champion, with more than 12 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member and current project lead of the Griffon framework.

16.45-17.35

TypeScript: JavaScript development at Scale

TypeScript is a new programming language aiming to improve the development experience of writing and maintaining application-scale JavaScript programs. TypeScript is a superset of JavaScript, adding optional static typing to improve the tooling experience, as well as EcmaScript 6 style classes and modules to help organize large programs. The TypeScript compiler is open source and translates to plain JavaScript that runs in any browser on any platform.

Tags: Cloud Creative Emerging languages Javascript Web .NET

TypeScript: JavaScript development at ScaleMads Torgersen

Mads is the Program Manager for the C# Language at Microsoft, where he runs the C# design meetings and maintains the language specification. He has been one of the lead architects behind recent C# language features such as async and dynamic, and is on the design teams for Visual Basic and TypeScript. Before joining Microsoft in 2005 Mads worked as an Associate Professor of Computer Science at the University of Aarhus and was part of the group that developed wildcards for Java generics.

Friday

10.00-10.50

Go: a simple programming environment

Go is a general-purpose language that bridges the gap between efficient statically typed languages and productive dynamic language. But it’s not just the language that makes Go special – Go has broad and consistent standard libraries and powerful but simple tools.

This talk gives an introduction to Go, followed by a tour of some real programs that demonstrate the power, scope, and simplicity of the Go programming environment.

Tags: Back end Emerging languages Hands on Web

Go: a simple programming environmentAndrew Gerrand

Andrew Gerrand works on the Go Programming Language at Google Sydney. He has written dozens of articles about Go, and given many talks and workshops at conferences around the world. He is the co-author of A Tour of Go (http://tour.golang.org/), and is the fourth most prolific contributor to the Go project. He is passionate about software quality, and believes Go is a unique tool for building reliable software at scale. Before Google, Andrew wrote software for startups and Internet providers.

11.10-12.00

Go: code that grows with grace

One of Go's key design goals is code adaptability; that it should be easy to take a simple design and build upon it in a clean and natural way. In this talk I describe a simple "chat roulette" server that matches pairs of incoming TCP connections, and then use Go's concurrency mechanisms, interfaces, and standard library to extend it with a web interface and other features. While the function of the program changes dramatically, Go's flexibility preserves the original design as it grows.

Tags: Back end Emerging languages Hands on Web

Go: code that grows with graceAndrew Gerrand

Andrew Gerrand works on the Go Programming Language at Google Sydney. He has written dozens of articles about Go, and given many talks and workshops at conferences around the world. He is the co-author of A Tour of Go (http://tour.golang.org/), and is the fourth most prolific contributor to the Go project. He is passionate about software quality, and believes Go is a unique tool for building reliable software at scale. Before Google, Andrew wrote software for startups and Internet providers.

13.00-13.50

Elixir - A modern approach to programming for the Erlang VM

Elixir is a programming language for the Erlang VM. Elixir provides a first class macro mechanism, supports polymorphism via protocols (similar to Clojure's) and many other features while keeping the functional aspects of Erlang used to build distributed, fault-tolerant applications.

In this talk, José Valim will cover the main goals and features in Elixir while also presenting some of the rationale and changes behind the language design and its latest tools.

Tags: Architecture Emerging languages Tools

Elixir - A modern approach to programming for the Erlang VMJosé Valim

José Valim (@josevalim) is a member of the Ruby on Rails Core Team and a writer by the Pragmatic Programmers. Software developer for 8 years, he graduated in Engineering by the São Paulo University, Brazil and has a Master of Science by Politecnico di Torino, Italy. He is also the lead-developer of Plataforma Tec, a consultancy firm based in Brazil, an active member of the Open Source community and is frequently traveling and speaking at conferences.

14.10-15.00

Expressing yourself: polymorphism in Clojure

Clojure is a functional language with powerful mechanisms for implementing polymorphic behavior, including for types that you did not create. This talk explores how Clojure solves "the expression problem" common in object-oriented languages using protocols, types and records, and multi-methods. Topics include defining these constructs, applying them to types defined by you or others, and how they map to underlying JVM constructs.

Tags: Emerging languages Wetware

Expressing yourself: polymorphism in ClojureTim Ewald

Tim Ewald is a pragmatic architect with 18 years experience building distributed systems. He works at Relevance, a consultancy focused on systems engineering using advanced languages and agile methods. His most recent work involved helping ship Datomic. Prior to joining Relevance, Tim was a VP of Architecture at SeaChange International, where he focused on integrating Web technologies and video on demand infrastructure for the cable and telco industry. Before that he worked at Microsoft, where he designed and developed the first iteration of MSDN2.