Trends – Picking a Language

Testing trends

You’ve made the decision to begin learning how to code, so that you make the move in to automation testing. But now you need to pick a language to learn. That in itself can be a daunting task and I t’s not uncommon to see a number of languages across various job adverts and learning materials online. So which one do you choose?

There is definitely a wider range of languages in demand than there were when I first began working in test automation. Back then, if you knew C#, you pretty much had the golden ticket as most jobs were looking for just that in their job specs. Fast forward ten years and that is definitely not the case now. While it’s still a hugely popular language, demand for Java or JavaScript skills, as well as other scripting languages like Python and Ruby, have all shot up massively in the last few years. So deciding on one without feeling like you’re limiting yourself can make it feel like a difficult choice.

However, there really is no one language that is the “right” choice. I would definitely recommend picking a language out of C#, Java or the scripting languages mentioned above to begin with, not just because they are the ones in demand, but because they are extremely friendly languages to begin learning with. My first introduction in to programming was with C++, and while it’s a brilliant language to learn, it’s massively more technical than the previous languages mentioned and can be very tricky to learn. Low level languages like C++ can often leave people feeling overwhelmed and incapable, which turns them away from wanting to learn. I definitely don’t want to discourage people looking at a language like that, as if you can learn C++ and be comfortable with it, that will only benefit your programming skills and understanding for higher level languages. But I would say to avoid looking at it as an introduction in to programming. Also, it’s not really a language you’d ever typically use to automate with, more to build the applications you may be automating against.

And while there is no absolute right language to pick, there are probably some languages you want to avoid. Being relevant is important in any programming role, so learning a language like VBScript or Pascal, while admirable and will earn you serious kudos amongst coding veterans, it probably won’t get you a role in test automation these days. Using languages that were mentioned earlier in the article, you really can’t go wrong with and will have high demand for the foreseeable future.

Ultimately though, whichever language you do decide to begin with, learning to code in any language will teach you fundamentals and practises that you can carry across to any other language. Syntax will vary, more so in other languages, but the ideas and concepts you will use will mostly but be the same. That makes learning a new language even easier, and being able to call on more than one language will only help you become more appealing to potential employers, but will also allow to approach problems with different solutions.

No single language can tackle every problem out there (although these days you can give it a good go with third party libraries and tools), which is why we have the demand for more languages that we do. Which ever language has the most accessible learning material for you, as well as being the most appealing is the right choice.

You want it to be something you want to learn, as opposed to feeling like you have to learn. When it feels like a chore, you’ll not put the time and effort in that you need too.

Here at LearnAutomation, most of the code samples you’ll see will be in C#. If you decide to go ahead and learn C#, then you can look at our Framework series and learn to build a test automation framework in C#.