Why we use Perl at our company

I've been programming in Perl for almost two decades now. A lot has changed in Perl, and also in the way I program with it.

Several years ago my partners and I started a software company, I was in charge of everything to do with tech, so as CTO it was my responsibility to choose the tech stack our company was going to use. And it was an easy one: Perl.

Years have gone by, our company has continued to grow, our product catalogue has increased and the amount of data processing and analysis we do it's exponentially higher than when we started. And Perl has continued to show what a great option it is.

I would like to list some of the reasons why Perl has been such a great fit for our company.

Versatility

Our services are very varied, so the kind of solutions we need to create and maintain can expand multiple areas. For example, we have UDP servers that receive data from IoT devices, we have APIs that work as the backend of our mobile apps and web apps for admin management.

There is a great advantage of being able to use a single language for multiple purposes. This makes it were we can keep a small team that is able to work and touch almost everything that supports our services. For all the examples listed above, we use Perl.

Reliability

Versatility doesn't matter if you can't rely on your running services. But Perl has been great with this as well. Once we have our services running they are amazingly stable, and we feel confident that they will behave as expected. We rarely have to deal with odd memory spikes or runaway use of CPU, and when we find those instances it's mostly our own mistake and not the Perl interpreter misbehaving.

Light weight

When it comes to scripting languages, I think Perl compares very well when it comes on how light weight it can be. We find ourselves running multiple background services on the same server without any hiccup.

Make beautiful code

One of biggest myths that Perl has is that it's an ugly language. But that's only is because Perl gives a lot of freedom to the programmers. In the same way you can create ugly unreadable code, you can setup coding standards and practices to make sure your code looks good and it's easy to maintain.

So in our experience, Perl allows us to adapt the code to our company culture, and we like to make good looking code.

CPAN

The module resource for Perl is top-notch. You can find any kind of module you can imagine.

Easy to setup

Most of the systems will already come with Perl out of the box. Then it's a matter of installing cpanm, and you're set, you have the immense module repository of CPAN at your fingertips.

These are just some of the reasons we love using Perl and and why we feel confident on having our company rely on such a stable programming language. We have entertained at points the notion of moving to other "popular" languages, but the cost doesn't make it worth it. Perl fits our needs like a glove.

I would like to hear more experiences of developers using Perl at production-level software or services. And in the coming weeks I'll be sharing a bit more on the tech stack with use at our company.

Programmers need a muse

The Muses in Greek mythology are the goddesses or spirits who inspire the creation of arts; they were considered the source of the knowledge. And I believe as a programmer you need your muse.

Most of the time whenever I talk with people about what I do, they automatically start picturing me as some kind of a robot which rambles on for hours in a language they don't understand, but computers do.

I don't blame them, it's hard to put "computer" and "free-will" in the same sentence, because computers are nothing but machines that fol…

About Uriel Lizama

user-pic I love Perl and I'm fortunate enough to make a living coding in it.