Elixir vs Erlang and why blockchain needs young developers: An Interview with Philipp Piwowarsky

We asked Philipp about Erlang, Elixir, inclusive payment systems, and what it’s like to train a new generation of developers.

A long-time blockchain enthusiast and software developer, Phillipp loves bringing his fervent knowledge into developing scalable and innovative solutions. He is also passionate about educating others about blockchain technology. Currently working as the æternity Elixir team lead, Philipp studied Mediainformatics at LMU Munich and is very enthusiastic about following agile methods to develop well-engineered software with clean code. While his friends might describe him as “tech-savvy”, we’re most interested in his passion and curiosity toward learning about new technologies. Recently we asked him about Erlang vs Elixir, the importance of inclusive payment systems, and what it’s like to train a new generation of developers to make blockchain technology part of the future.

How did you get involved with this blockchain thing?

I got interested in blockchain some time ago and have since tried to follow all developments in this space up until today. I met Yani multiple times at a Bitcoin Meetup and he introduced me to the idea of æternity. After some time he asked me to help make æternity a reality.

What makes junior developers good at developing blockchain?

People new to software development tend to have a lower bias for specific ways to write their code. Therefore, having them understand new concepts is usually easier, as they don’t try to apply it to approaches they already know. This is especially true when thinking about blockchain development.

Most problems in this sector are really different to traditional software development, as they have to be solved in a trustless environment.

What role does prototyping play in your work?

Creating initial prototype implementations for the main æternity features was an important step in educating developers who were new to the space. Developers were not asked to code well-specified features but rather had to come up with solutions to make it work themselves. For example: how to build an oracle system without anyone else being able to provide faulty answers.

Why do you like Elixir?

Elixir is a great functional language, it brings all the benefits of the Erlang/OTP platform together in a simple to read and learn language.

Solving most problems in Elixir doesn’t require you to think a lot about the language itself, but lets you focus on your data structures and algorithms.

The language has very little programming overhead and offers some nice “syntactic sugar” over Erlang. For example: piping function outputs into the next one.

Is Elixir your “favorite” language then?

This one is my personal preference. I prefer languages to have a more strict typing system, which forces you to specify data types. In return, the compiler checks for possible mistakes. In our project, we had some bugs and miscommunication because types were not properly adjusted while refactoring or adding new functionality.

This is not a challenge for Elixir itself, more a design decision made for this language. Not having a strict typing system can bring other benefits.

In general Elixir feels like a really mature language for its young age.

Do you feel Elixir is for young people and Erlang is for old?

Yes and no. Elixir offers people that want to experience the advantages of functional programming a lower barrier of entry than Erlang does, as its syntax and general code style are more similar to other “in-fashion” languages. Once you start with Elixir, there is very little benefit to switching to Erlang.

Philip with one of the young Elixir dev talents — Dimitar Velev

Erlang itself is not for old people, it’s just that many of the people who started with Erlang did so many years back when Elixir, as an alternative in this ecosystem, did not yet exist.

I think Erlang and Elixir have good reason to co-exist next to each other.

Great Erlang developers can be great Elixir developers as well if they see the need to switch.

This also works the other way around; good Elixir developers would have an easy time learning Erlang if they have this opportunity.

Why might blockchain change the power balance in the world?

I think no matter what you call them, inclusive payment systems have the opportunity to make a change in this world by creating a more egalitarian global society.

Blockchain technology gives every individual a right for ownership without anybody having the power to take it away.

This allows for better privacy, hindering oppression and alleviating and even eradicating corruption.

If you could give someone new to the scene a piece of advice what would it be?

Thinking outside the box is the key to success. Try to apply your way of thinking to everyone else reviewing your developments and encourage them to abstract it to their own advantage. This will make you find possible bugs or vulnerabilities yourself.

Here is a recording of Philipp talking about blockchain development with Elixir:

UPDATE: æternity Universe One — the first conference dedicated to the latest R&D in the blockchain space and æternity, took place on September 20–21, 2019 in Prague. Philipp Piwowarsky and Keno Dreßel took the stage to present The Graffiti Project æpp. Watch it below:

Interested in æternity? Get in touch:

GitHub | Forum | Reddit | Telegram | Twitter | Facebook | Mail

Leave a Reply

Your email address will not be published. Required fields are marked *