Let me start with this quote from a great man….
“If you have a story to tell, you can tell that story in English, French, Spanish, Irish… the language is important just as long as you have a story to tell”
Harold
So what do I mean by that?
The main objective of a coding language (or any language for that matter) is to allow you to communicate a message. If you got no message to tell (the “story”) then the language is not very important!
Makes sense, right?
But I haven’t really answered the question: what is the best coding language to learn?
I will answer this in 2 parts:
The first part of the answer to this question is you need to concentrate first on learning who to tell a story – what do I mean? learn to solve problems in logical steps.
For example, how do you make a jam sandwich? Look at the video here:
Funny, right? look how does the teacher (the computer) react to your commands (instructions).
The first step for a coder in any language is to be able to organise instructions in a logical manner. The language is not important for that – it’s the logic, the series of steps to complete a task or solve a problem.
The second part of the answer is the language that you choose depends on the what is the task you want to do – for example, if you go to France on holidays, you could probably get by using only English. Might not be the best language to speak, but will allow you do certain vital tasks. It’s limited, but will work.
How about if you are a literature professor at a school in Portugal? English, French or Spanish are useless. You need to speak Portuguese!
The same applies to coding languages. Most languages will allow you to do many simple tasks. But if you want to do some very specific programs, where performance, speed, memory, etc are important, you need to chose the appropriate language.
OK – so you got this far and you’re still asking yourself – what language should I pick?!
These are my suggestions:
For almost everything:
- Scratch
- Python
- Java
For web publishing:
- HTML
- CSS
- Javascript
For creating Apps:
- Java
- Swift
For Raspberry Pi:
- Python
For Databases:
- PHP
- SQL
PS: I found this article – I found it very interesting – in particular if you want to start preparing your career as a coder