Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Being a Polyglot Programmer

Being a Polyglot Programmer

This item in japanese

Young IT developers study several programming languages during their years in school, sometimes even forgotten ones (Fortran, assembly, etc.). But when it's time to work, Martin Thompson's advice is long forgotten.

Zaiste is on the opposite side. He tries to learn a new language every year and use it on projects. He thinks it is so important that he dedicates a full conference about the topic of polyglotism in IT: PolyConf. PolyConf will take place in Paris from the 7th to 9th of July at La Géode. InfoQ will cover the event with news, Q&As and articles.

InfoQ FR spoke with Zaiste about his journey in writing in a different language, the motivations to switch language every now and then, the paradigm differences between some of them, the hot ones, and the main takeaway from this year's edition of PolyConf.

InfoQ Fr: Zaiste, would you mind introducing yourself?

Zaiste: Hi, I'm Zaiste. I run a software company in Paris and, as a hobby, I organize tech events around the world with PolyConf being the largest one. I started my professional programming journey almost 12 years ago in the banking industry using Java with tools such as Struts 1 and Spring. Before that I worked in academia using primarily Python. In 2005 I discovered Ruby along with Rails and two years later I started a conference dedicated to both Ruby & Python, called RuPy. Nowadays, to my own surprise, I really enjoy working with JavaScript, specifically its new versions. I'm very inspired by Clojure and I enviously look at OCaml and Reason communities trying to find some time to dive more into that.

InfoQ Fr: You are organising a conference about polyglotism: PolyConf. Why do you think IT polyglotism is important?

Zaiste: Polyglot programming is not about using different programming languages at once, or in a single project. It's about encouraging a generalist approach to the art and craft of software development. Programmers should strive to have a comprehensive understanding of programming concepts with breadth and depth of knowledge that transcend the boundaries of a single language. They are supposed to constantly seek how to improve their practice, and eventually, how to expand and improve it. I like mentioning Michelangelo or Da Vinci as inspiration; they were not only inventors, constructors, and architects, but also painters and sculptors. Those who care about software craftsmanship should not limit themselves to knowing only one or two programming languages.

The job market requires specific skills validated by years of experience. Knowing Angular often disqualifies you for React jobs, while both are JavaScript solutions that resolve the same problem. Business pushes for well-trained individuals with a very specific and limited set of skills, while it should rather focus on well-rounded engineers whose CVs are less filled with keywords and buzzwords.

InfoQ Fr: How do you translate your approach to multilingualism in your day-to-day practice?

Zaiste: PolyConf has been a fantastic intellectual journey which helped deepen my understandings of the tools I use and encouraged me to see problems and solutions through different perspectives. I was able to witness how some ancient or unpopular ideas either transform into popular ones, or got forgotten to be then rediscovered again. This « multi-language approach » allows me to have a holistic view on programming. By being able to compare and contrast various technologies, I'm able to quickly learn what they bring to the table and in which context they could be used.

InfoQ Fr: What are the emerging languages you're looking forward to using?

Zaiste: I'm very enthusiastic about Rust and OCaml - both bring pretty unique insights. Rust is an extremely fast systems programming language, while OCaml is a multi-paradigm language which unifies functional, imperative and object-oriented programming under an ML-like type system.

InfoQ Fr: There are some conferences hosting multiple programming languages. What is your intent with PolyConf?

Zaiste: There are several great conferences focusing on multiple programming languages and I'm always happy to see when there is a new one. The goal is to foster exchange between programming languages and their communities. Our intent is to be one of many forces to achieve that goal.

InfoQ Fr: If I'm an attendee, what will I see at PolyConf 2017?

Zaiste: This year there will be a lot of focus on virtual machines. Chris Seaton will be talking about Graal, an Oracle project aiming to implement a high performance Java dynamic compiler and interpreter in the context of Ruby. Maxime Chevalier-Boisvert will present a platform for dynamic languages she is currently building. Jack Moffitt will show us Servo, a prototype web browser engine written in the Rust language, while Etiene Dalcol will be discussing Lua and LuaJIT. And that's just the tip of things we will cover this year.

Rate this Article