Notes from PolyConf 2015 – Conference for developers who code in multiple languages

As developer, I feel that I work inside my technology bubble. I keep using the same tools. Because of this, it takes a lot of effort to learn new development paradigms and languages.
PolyConf was a small conference, less than 300 people in beautiful Poznan, Poland. The breadth of content, participants and organisation made it stand out.

I’ve made some notes on the impressions, that the talks and discussion provided.

Types and Immutable data structures.

Most of the talks were building on top of functional programming paradigms. There are clear benefit of that approach, as we move towards multi-core, distributed computing. I can’t wait to see some of these concept in upcoming Python 3 releases.

In this regard, Facebook’s Flow provides alternative to types in JavaScript. This has benefits over writing your code into TypeScript or ClojureScript.

Language for Every Problem

As we’ve seen in Python community – change is hard. That is why development is happening in new languages. Some decide to build whole ecosystem, while others compile to a common VM or language.

Two of the presented languages – Crystal and Elixir, were both influenced by Ruby. I would like to understand, what is about Ruby syntax that makes it a good basis for language development.

New languages also come with new frameworks. Phoenix for Elixir is one of them. A scalable web framework, that is using streams to keep processes separated and get speed benefits. A year ago, I would be skeptical about using new web framework. But with microservices and Single Page Apps, it looks like there is opportunity to experiment. We’ve offloaded most of the representation and business logic to clients.

Lots of Practical Advice

One of the benefits of being a polyglot is so you can use official libraries. A lot of good things are happening on JVM stack that we can’t just ignore.

Beware of defaults – they are usually not optimal for your use case.

The main benefit if knowing lots of languages, is to be able to borrow different concepts. If you want to explore different concepts, consider:

Data Science

Jupyter Notebook with Pandas looks like the new default for starting with data analysis. Continuum Analytics are sponsoring a powerful ecosystem. I’ve learned that there is a library called PySpark, that introduces out-of-cpu computing supports. This allows Pandas to scale even better.
The demo of Julia language showed power of implicit types and great things they can do for science computing. Worth checking out, especially now that it Juypter supports it.

But wait, there’s more

  • Racket – A programmable programming language
  • miniKanren – embedded Domain Specific Language for logic programming.
  • Emojilisp – because, why not.

Conclusion

I went to the conference without any expectations. For most part I assumed it will be way too complicated for me. But I met a group of passionate people, that were happy to explain in simple words why they love the the languages they work in.

We should figure out how to bring such levels of discussion and participation to our other events.

PolyConf 2016 is already on my conference list for the next year.