Getting started with coding – Part 2 – Languages

Introduction

In part 1 of this series, we addressed the key concerns people starting to code might have and also set out some key reasons why you should give it a go in spite of those, often unfounded, concerns. In part 2, we cover off how to go about picking one of the languages to learn to code in from the numerous choices.

So many choices, so little time

The primary goal of this series on getting started with coding is to get you comfortable with the coding ecosystem in as quick a time as possible. That means we won’t be looking at all the different possibilities in depth and whilst that may offend some Jedi coders, the various posts will list alternatives in brief for the more inquisitive amongst you. Plus, you all know how Google works. So let’s get started.

There are dozens of languages you can learn to code with. Some of these work really well for scripting purposes e.g. PowerShell, others allow you to create rich graphical applications e.g. Visual Basic. Others you may have heard of include Ruby, Python, C++, Go, Javascript and PHP and each have their own syntax, learning curve and best use cases.

So with our primary goal of getting you doing useful things with code in as short a time as possible, how do you whittle even the limited list above down to the language of your choice? Let’s be brutal here and get it down to one of two choices:

  1. PowerShell. A great choice for people who work predominantly on a Microsoft platform, the easy verb-noun structure makes expanding your knowledge an easy task. It’s great for quickly creating scripts that can automate anything from new OS installs to configuring a fully blown Exchange deployment in minutes rather than hours. The folks at Microsoft have even made it available on Linux and Mac
  2. Python. Available on Windows, Mac and Linux, amongst other platforms, Python is a general purpose language that can be used for everything from simple scripts, to desktop GUI applications to web applications. What that means is that you can make your use of Python grow as your skills and requirements do

I know enough of both languages to be dangerous but my clear preference is for Python. It’s more useful for me and the fact it already has well developed libraries for some of my other hobbies, such as InfoSec and data science seals the deal. The next point to be aware of is that Python has two distinct versions, 2.x and 3.x. Again, we aren’t here to discuss the virtues of each in any real depth. Let’s agree that Python 3 has a brighter future and for this post’s target audience is the right choice. As of December 2016, Python 2 will no longer be supported from 2020. In short, choose Python, not legacy Python.

Yes, there will be some people shouting at their screens right now because they think such and such is a better choice and there will always be situations where one language pips another but the fact Python is so easy to learn, can be used for anything from basic scripting, web design, full graphical application development, data science, networking and countless more use cases makes it one of the best choices for beginners and will grow as you do.

Each of the following posts in this series try to be neutral as to what choices you came to from the previous post, but from a language point of view, I may focus a little more on Python because that is the joyful path that I have followed.

Summary

Again, the aim of this series is to get you up and running as quickly as possible, writing code that will make you more productive and look like a star. Don’t dwell on the myriad of choices for too long. You won’t go too wrong setting out on the path suggested in this series and if you end up enjoying the journey as much as I hope you do, you can always expand your knowledge to another language.

In part 2, we covered off how to go about picking a language to learn to code in from the numerous choices. We can now start looking at how to start creating and editing code in our chosen language in part 3.

Till the next time.

2 Replies to “Getting started with coding – Part 2 – Languages”

Please let me know your thoughts!