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?
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#.