Coding Languages – Which one should I learn?

Coding Languages – Which one should I learn?

One of the reasons I wanted to start this blog was because in the past few weeks I have decided to learn how to code, but I have struggled getting to grips with certain basic aspects, because no matter how much things say they are aimed at beginners, I feel that they still assume that the beginner has some computing knowledge that I appear to be lacking in.

Although at the time of writing this I have technically been coding for about 3 weeks, I still don’t feel like I understand the basics.

Firstly, I have no end game. I want to learn to code because I want to learn a new skill and try and get back in touch with current technology. A friend of mine recently had to explain what a hi-fi was to a 17 year old by saying, “It’s like an i-pod docking station of olden days” and it made me feel old at 30.

Because I don’t have a specific reason to learn how to code, I thought I would try out the basics of a few, and see which one I liked best. I’m currently advancing on Python, but I still don’t know what I intend to do with it, and I wonder if my lack of direction is hindering my progress.

I decided to look at the reasons people code in different languages, and maybe it will help steer me in the right direction. Below are a list of some of the coding languages I have come across, and what they can be used for. In  order to make this as basic as possible, I have used breif descriptions from Wikipedia, translated into layman terms with the assistance of Arran Wicher and Chris Dell

Markup Language – Languages which instruct a web browser how to present the content

  • HTML (HyperText Markup Language) – Provides the building blocks to all websites. If you want to learn how to create your own web page, html is where you would start. HTML provides much of the basic structure for a website, such as headings, paragraphs, and links.

Style Sheet Language – Describes the look and format of a document written in a markup language.

  • CSS (Cascading Style Sheets) – Where HTML sets out the structure of a website, CSS can be used in conjunction to allow you to style your webpage. CSS can determine the layout, fonts and colours on your website, and can adjust the style dependant on the type of display it is being presented on.

Programming Languages – Communicate instructions to control the behaviour of a machine or express algorithms

  • Javascript – A scripting language most commonly used in web pages. Javascript runs client-side, meaning that the code is interpreted by the user’s browser, and not on the server. Client-side scripts are slower than server-side, but it reduces the strain on the server. Scripts can be embedded within HTML to change the behaviour or look of the web page and provide interactive features. For example, Javascript will be responsible for how the browser reacts when you submit an answer on a form. Javascript is also the only language which all popular browsers support.
  • C++ – A general purpose, free-form, compiled programming language. Compiled languages require another program to take your code and turn it into a program, whereas in contrast to a scripting language, where the code is a program in itself. It can be used to implement operating systems and hardware, and used in systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. To try and put this into context, C++ would be used to make your computer as you see it on start up. The operating system consists of things like the menu bar and start menu, which can be written in C++. It can also write device drivers, such as the mouse driver, which interprets actions by made on the mouse by the user and turns them into the result we witness on the screen.
  • PHP (PHP Hypertext Preprocessor) – A server-side scripting language designed for web development but also used as a general purpose programming language. Server-side means that the script is interpreted on the server before the web page is sent to the browser, so viewing source code would not show you any PHP, as it has already been executed by the server. Can be embedded directly into HTML, which means that it can implement changes across a website without each page having to be amended individually. And has evolved to include a command-line interface capability.
  • Python – A widely used general purpose, high-level programming language, designed to emphasise code readability.Python is often used as a scripting language, which is slower than a compiled language, but can also be used in a wide range of non-scripting contexts. Python can be used to instruct devices on how to act, and what action to perform dependant on what information is input by the user.

Due to the emphasis Python has on putting things simply, I’m going to stay with it as a starting point for learning a programming language. But I think I will also do a bit more on HTML, CSS and then Javascript.

And my end game – to re-design my website without using WordPress, and to enable my Raspberry Pi to operate a ‘Security Camera’ which takes pictures at intervals that can be viewed online from my phone.

Update: As of 2016, I organise a monthly Code Club for Adults in Manchester called CodeUp Manchester, and I now teach others the basics of Python in my job at MadLab!

Thanks for reading!
Like me on Facebook - Follow me on Instagram - Follow me on Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.