Programming languages predictions crystal ball

Let’s Prognosticate

It’s prognostication season and if there’s one thing the tech industry does well, it’s making bad predictions about itself. At SparkPost, we like a challenge so in this post, we’ll take a quick look at what we think we know about you, our community. Then we’ll make a few predictions of our own for the coming year, leaving ourselves completely open to your comments, flames and corrections if we turn out to be utterly wrong.

SparkPost’s service is largely community-driven, which takes much of the sting out of making predictions. We listen to the email developer community and, when we see an opportunity that aligns with our core competencies – the stuff we do best – we take it. Our goal behind each feature we release and each policy we enact is to produce the greatest positive impact for the largest proportion of you.

As part of that listening function, we’ve started paying closer attention to which software stacks you are all running. Our goal there is to learn where we should focus our efforts in the coming year for content, client libraries, integrations, sample apps and the like. We also just cannot resist a data trawl.

Without further ado, here are some data points and commentary on the programming languages used in our email developer community.

Programming languages by SparkPost transmission request volume graph

Programming languages by SparkPost transmission request volume

We use a lot of different technology in-house but Javascript dominates within our service layer. As a result, we were somewhat naively surprised to find that JS isn’t in the top slot with our community. The sheer volume of traffic we see from PHP stacks is pretty overwhelming. Many are using our PHP client library which is great to see. A huge thanks to our contributors who have really brought this library on in 2016.

As befits the massive community interest, php-sparkpost was the first of our clients to reach 2.0 back in June. We’ll definitely be maintaining our focus on PHP through 2017 and if you’d like to chat about it, you can join us in the #php channel on our Community Slack team.

Node.js and Python are second and third in line. We use both extensively ourselves and we’ll certainly be keeping up momentum on our Node and python clients to match your needs. We also have #node and #python channels on CommSlack so come and chat – our client library maintainers are often lurking around in there.

Prediction: Pervasive Functional Concepts

This year at SparkPost, we finalised our own move to ES2015. Amongst other useful tools, this move brought us some more natural syntax and a new affinity for the functional programming concepts already present in Javascript. More generally, it’s clear that the venerable (Lisp is 50+ years old!) functional programming paradigm isn’t going away. Even C++ now includes a few functional constructs! It’s fair to say that the tenets of immutability and functional composition are circulating the programming populace industry-wide.
It’s heartening to see that we have a consistent group of functional coders in our own community. We see regular traffic from our Elixir client and even Haskell is represented. We love Elixir and will certainly keep a keen eye on this space.

Prediction: Fluidity in Programming Languages

Static analysis and language transformation in Javascript have come into their own in the last few years. Tools like Babel bring the full ES2015 toolset to the slower iterating world of JS interpreters. Using similar technology, Facebook’s Flow and Microsoft’s TypeScript offer several flavours of type safety. There are myriad other JS syntax-grokking tools too. Of course, these ideas are not new. Cfront was the first C++ compiler, which used to translate C++ into plain old C.

At any rate, the Javascript community innovates hugely in this space and presumably will continue to. It’s certainly the quickest way to augment a language whose specification is formally managed. Long may these quick little evolutions continue.

Hopefully you enjoyed that short view of your programming languages. If we missed your own choices or you disagree with our prognosticatory powah, tell us about it on Slack, Twitter or pigeon post.


ps: any programming language predictions we missed? post ’em in the comments below