Independent Design & Technology studio working with organizations revitalizing urban communities.

Category Development

Continuing Education: Learning Elm

Hard work and a curious mind can go a long way. Learning a new programming language provides more than just skills diversity, it makes you a better developer, too. 

As a frontend developer, I spend most of my time in an editor working with languages like  HTML, CSS, and JavaScript. These are the languages that power the frontend of the web. Almost every website you interact with was built with a combination of those three languages. Each one of them has their own set of advantages and disadvantages, problems and solutions, and method for building the foundation of the web.

I love working with these languages. I can build almost anything I set my mind to. Tools like React.js, ExpressionEngine, and Craft only extend the power of what I can do with just these three languages. However, working with the same tools day in and day out can become monotonous. You start to miss things that could have otherwise been easily fixed or refactored. It is for this very reason that continuing our education as developers is so important. We have to constantly be learning or expanding our toolset or we’ll find ourselves in a rut.

Learning new languages allows for us to look at the problems we are presented with in different ways. Understanding various paradigms will allow you to rethink the way you structure your code and give you several different approaches to similar problems. By understanding more languages, you’ll be able to move more quickly and avoid finding yourself in that rut.

Practical insight into the best digital partnerships. Straight to your inbox.

Enter Elm

Elm is a really interesting programming language. It takes concepts from the functional side of things (think Haskell) and brings them to the front end. That’s the important thing. Before deciding to learn Elm, my only exposure to functional programming was limited to JavaScript. And while JavaScript can be extremely useful and powerful as a functional language, I still hadn’t been exposed to a truly functional language. Taking the time to expose myself to a truly functional programming language not only gave me a better understanding of the functional paradigm, but of all of the various programming languages and tools that I use on a day-to-day basis as well.

I learned about statically typed functions, gained a better understanding over immutable data,  and expanded my development toolset. To be clear, I don’t use Elm in my daily work at Authentic. I didn’t learn it with the goal of integrating it into my workflow. I decided to learn Elm because it would give me a better understanding of what I do. That’s what it comes down to. As developers, it is our responsibility to be active in increasing our understanding of our craft. That is how we drive the web forward.

comments powered by Disqus

See How We Help Build Innovative Urban Projects