Possibility and Probability

Coding Python and making businesses…

26 September 2016

Learn a new programming language

by admin

In the world of software development there’s always something new popping up. New languages, frameworks, operating systems, databases, you name it. The challenge for a developer is to stay on top and ahead of these new technologies. It can be very tempting to give up and not learn anything new, but I want to propose that learning new things like a new language or framework can be very helpful!

Learning begets learning

The more you practice the art of learning something new, the easier it is to learn new things. This sounds like tautology, but it is true. Your brain will start to see the connections between things you’ve already learned and the new things. Seeing those connections will help you make analogies with the new language you are learning.

Old dogs, new tricks

Every programming language has its own ecosystem for dealing with various things like building and deploying code. The interesting things is that while the overall objectives are the same, every language does it a little bit differently. For example, Java utilized XML files for everything configuration related. With the rise of languages like Python and Ruby, other file formats like JSON and Yaml have become more common. There’s nothing about those formats that prevents them from being used in Java. A plucky developer who learns about them can take those formats and bring them back into the Java world. Even just normal day-to-day tasks like managing passwords can benefit from seeing how other languages and frameworks handle them. From the dawn of time, programmers have hard coded passwords into their apps. A developer who is learning a new/modern framework like Flask might notice that instead of hard coding passwords that the tutorials use environment variables to supply that information. If the developer takes that idea and brings it back to their normal work-day language (cough Java cough), then their project is going to instantly benefit from having that design pattern. I have seen this happen so many times and existing legacy projects have always been better for it. From Docker, to SQL, to Rails, to Erlang, every new thing that you learn as you learn something new can potentially be applied to your current project.

The Future is now, go learn new things

So, your action item is to go learn something new. As you are learning ask yourself:

  1. How is this similar to what I know about X
  2. Is this better than what I’m currently doing in X (also, could this be done in X to make it better?)
  3. Does X do this better?

With answers to those questions you will find yourself a better programmer!