BT

Being a Polyglot Programmer

| by Stéphane Wojewoda Follow 11 Followers on May 03, 2017. Estimated reading time: 4 minutes |

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

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Approach vs Language by Kishore Reddy

Zaiste is spot on with this quote: "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".

Unfortunately too many programmers i've met get caught up with a specific language / framework / style of programming and then start to get dogmatic. With a proper understanding of fundamentals, concepts, approaches from various languages, you can use them cohesively in a balanced, contextual manner.

Also, from recent experiences in multiple companies, engineers/leads take the "polyglot" approach literally by using multiple languages in a single large project or department to a point where it is both over-kill and causes serious maintenance issues.

-K

Re: Approach vs Language by Stéphane Wojewoda

I totally agree with you K:
* one trend is to become a very narrow specialist
* the second is to mix everything
What I found compelling with Polyconf is a third way: understand multiple languages, and master a few. It's a shu ha ri stance =)

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT