• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Discover
    • Live
    • Tech Communities
    • Hackathons
    • Coding Challenges
    • For Kids
  • Watch
    • Talks
    • Playlists
    • Edu Paths
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
  • Partners
  • For Companies
Home » Dev Life » Community Management » Functional programming: what is it and why should I care
Community Management

Functional programming: what is it and why should I care

We interview Claudio D'Alicandro, who provided an overview on functional programming, one of the most useful and modern progamming paradigm.

December 31, 2018 by Codemotion

Content and templates in HTML

Hello Claudio, you’re an active member of the Elixir community. For those who don’t know you, could you tell us a bit about yourself?

I’m a back-end developer and currently, I work at AdEspresso, a startup that deals with marketing activities on Facebook. It’s been a while since I delivered my last talk, but my first talk dates back to 2014 – I delivered it at the Symfony Day conference. I was mainly engaged with the PUG Roma community. My favourite programming language was PHP. It changed a little bit around four years ago when I also dedicated myself to the programming language called Elixir. What I try to do when I deliver my talks is to increase the interest in functional languages, towards this paradigm that’s much older than you think and that’s beginning to re-emerge through frameworks and good practices originating especially in the world of JavaScript.

Could you tell us how you became a developer and how you found yourself working on the back-end?

In reality, I studied a completely different thing: I am a computational and theoretical chemist. I joined the IT world because it was my first serious work experience. At the very beginning, it was not serious; we drew up a sort of micro company with another colleague. Later on, things went very well, so I decided to drop out of my studies in chemistry and devoted myself to the IT world. At the beginning, I was a system engineer and I started programming in C++, then, at my first serious job, there was the need to make an application for distributed work, and then I made my first web application, even though it was obviously with very particular methods, it was in PHP and it’s certainly not comparable with what can be done (it happened more or less in 2006). Later on, I became interested in web programming.

Are you currently working on any personal project?

Absolutely! I have lots of personal projects. When I start to learn a new technology or approach, I try to get my hands dirty and create an ad-hoc project that I leave “orphaned” when I’m done with exploring. Recently, I decided to create a group that meets once a week after work to all work together on our personal projects, and I must say that a very interesting project is developing from all of this. It’s something small but very very interesting, and if we can we’ll talk about it at the Facebook Developer Circle.

Community Management for Developers

Download our latest eBook to learn how to build a thriving coding community with no prior experience. We had Codemotion’s own community managers and some of our members list down the essential skills, practices and tools according to their first-hand experience.

Download

We can’t wait to hear more about it! Claudio, could you tell us how you keep yourself informed on all the latest tech news? Do you follow any course? Do you attend conferences?

Absolutely! Doing all these things is super important. Since Codemotion conferences or specifications began, for example, those of GrUSP when I worked in the PHP environment, or those of BEAM Italy now that the team is engaged on Elixir, I think the quality of Italian code and programmers has increased. The best thing for keeping yourself up-to-date is joining the community created within the largest conferences and attending the meetups, with monthly meetings, mailing lists etc. There’s no better way to grow and discover new things than the community. The community doesn’t take charge of anything you learn and it’s the best way to discover what to study tomorrow. There are no professors within the community and no one’s obliged to teach you; the exchange is mutual! The advice I give to everyone who is starting to develop or is entering the tech world is: the community is the most important thing!

Where did the idea of doing the talk come from?

It came from Federico Caprari. We try to overcome the fear that hovers over the concept of functional programming. It can scare people because there are actually complicated languages and the first approach with Haskell or Camel can probably put people off. Together with Federico, we are committed to start uncovering the functional approach, trying not to scare people, to simplify complicated concepts that exist, because the functional derives from the calculation. We arrive at all concepts, such as the nomadic one, in a gradual manner, when it’s necessary to make the functional usable even for those who don’t have the university background.

Who could find this functional approach useful? Who should apply it in their work, now or in the future?

The functional approach applies to any field, even if some say the opposite thing. When we are dealing with any transformation, I imagine a web service which is nothing more than the transformation of a request into a response, and every time we apply some logic and produce the output, we are talking about functions, and that’s where the functional process begins. That said, there are some fields in which the functional approach cannot only apply but also excel. I’ll give the example of the ML languages like Haskell or Apache Camel that give you the guarantee of never having runtime errors: the compiler can block any kind of error and this leads to you having a completely stable code. I also think that Elixir or Erlang, which are not pure functional languages, don’t give you the certainty that your code will not have exceptions, but do give a high degree of competitiveness, and give you the ability to distribute on multiple servers and create clusters with the very advanced virtual machines they exploit.

There are myriad other reasons why they can be “nice”! For example, you program in Erlang or Elixir with the Actor Modelling that is starting to become famous thanks to the Akka framework. Basically, we have the advantages brought by the language, the extreme readability and a model that allows you to do concurrent and distributed programming in a very simple way. If you have ever heard talk of deadlocks, you can avoid them completely with a different methodological approach to programming.

Do you think this topic should be explored further, for example through more of your talks?

I hope it’s not just Federico and me giving talks on this subject. There are also many other competent people in Rome‘s community who have been doing functional programming for a long time. What I would like to do is to bring the exponents of functional programming from Rome and the rest of Italy closer to the already existing community, so that the paradigm comes out of its long-held niche, taking advantage both of it coming back into vogue, thanks to Uncle Bob’s statements, and of the simplified approach introduced by the new frameworks.

I’d like to approach the community, which exists and currently revolves around the good practices of Object-Oriented Programming, those who know a lot of functional but have always worked alone. At this moment there’s no community linked to this language or strictly linked to programming that hasn’t had at least five or six talks on Solid, on Decent Pattern, on good practices in general. So this is the idea: I wouldn’t want to see my own talks as much as I would like to see people more prepared than me who share their knowledge with those who weren’t interested in this paradigm until now.

Last but not least, do you have any other non-computer-related passions, or you like developing in your free time as well?

I mainly use my free time to study, learn new languages, new methodologies, and new architectures. So yes: 90% of my time is dedicated to computers! But I’ve got other passions apart from computer science. I like role-playing games. I’m passionate about all board games.

facebooktwitterlinkedinreddit
Share on:facebooktwitterlinkedinreddit

Tagged as:Interview

Kotlin, but why?
Previous Post
Thijs Feryn: Tuning your application (and saving money!) with the caching
Next Post

Related articles

  • Common Mistakes when Building Developer Communities
  • Learning About Community Outreach with Simon Johanning
  • Dealing with Trolls in Your Community
  • How To Measure Success in DevRel Between Companies and Communities
  • 6 Soft Skills Every Tech Community Manager Should Have to Succeed
  • The Ultimate Guide to Developer Community Management for Beginners
  • Why Are These Developer Community Manager’s Skills So Critical?
  • Why Start a Developer Community?
  • How to Become a Better Developer Community Manager
  • What Is The Best Framework for Developer Community Management?

Primary Sidebar

Learn new skills for 2023 with our Edu Paths!

Codemotion Edu Paths for 2023

Codemotion Talent · Remote Jobs

Game Server Developer

Whatwapp
Full remote · TypeScript · Kubernetes · SQL

Back-end Developer

Insoore
Full remote · C# · .NET · .NET-Core · Kubernetes · Agile/Scrum

Full Stack Developer

OverIT
Full remote · AngularJS · Hibernate · Oracle-Database · PostgreSQL · ReactJS

Data Engineer

ENGINEERING
Full remote · Amazon-Web-Services · Google-Cloud-Platform · Hadoop · Scala · SQL · Apache-Spark

Latest Articles

Will Low-Code Take Over the World in 2023?

Frontend

Pattern recognition, machine learning, AI algorithm

Pattern Recognition 101: How to Configure Your AI Algorithm With Regular Rules, Events, and Conditions

AI/ML

automotive software

Automotive Software Development: Can Agile and ASPICE Coexist?

DevOps

programming languages, 2023

Which Programming Languages Will Rule 2023?

Infographics

Footer

  • Magazine
  • Events
  • Community
  • Learning
  • Kids
  • How to use our platform
  • Contact us
  • Become a Contributor
  • About Codemotion Magazine
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • RSS

DOWNLOAD APP

CONFERENCE CHECK-IN