What is a “real” coding language?

In this article we expore what code is and isn’t and what are the “real” coding languages you should learn when you are starting from ground zero. There is a view that HTML (Hyper Text Markup Language) and CSS (Cascading Style Sheets) are not “real” computer languages. They are text and styling mark-up. However, they are computer coding languages - just with simpler and more easy to understand rules.

Computer code is the set of rules - the syntax - of a particular computer language.

Most computer languages are designed by programmers as a set of rules that are easy to learn and interpret for humans.

You do not need to know advanced maths, be a “techie” or a “geek” to learn coding. Follow the rules, the syntax of a language or the protocol as the rules are strict but fairly simple especially with HTML and CSS.

In Part 1 I explore what motivates people to code and how to go about learning to code. If you are a little more interested now, you may ask yourself new questions to see if you want to pursue.

Which language should I learn if I want to code?

Languages wax and wane in favour. The most popular languages are not the same as the most adopted languages on the World Wide Web, or the Web.

While JavaScript - often abbreviated to JS - is the most popular frontend language, PHP is the still the most used. Wordpress is built on PHP and initially so was Facebook!

JavaScript libraries have replaced vanilla JavaScript. These are j-Query, once again not popular but often used and React.js popular but may not be with the same market share. React was designed by Facebook to replace PHP.

The fundamentals still start with 3 building block languages that you must learn to code are:-

  • HTML
  • CSS
  • JavaScript

They form 97% of the code for all apps written on web.

JavaScript is the entry-point to understanding other JS libraries such as React.js, Vue.js and JavaScript frame-works such as Angular.js. The .js file-extension is often dropped and are referred to as React, Vue and Angular.

Should you learn PHP? Many bootcamps do not offer PHP as a language to be learnt as it is waning in popularity as JavaScript’s popularity has grown in leaps and bounds over the last decade.

What about Ruby? Some bootcamps still offer Ruby and Ruby-on-Rails (the backend framework for frontend Ruby) but many start-ups find Ruby does not scale well and are migrating out of a Ruby-based stack. There still are a number of jobs where Ruby developers are in demand to maintain existing legacy stacks.

A tech-stack, or stack, is a configuration of languages that a developer/organisation uses to build web or mobile apps.

It is worth remembering that while JavaScript is incredibily popular as a language to learn today, when JavaScript was introduced as a programming language for web-browsers in the 1990s, it failed to gain popularity. Similarly Ruby was extremely popular in the early 2000s but has fallen out of favour as React and Vue have replaced frontend code initially written in Ruby and backend code with other languages, frameworks or libraries.

Is learning to code a frontend language better?

The frontend languages refer to code that writes the frontend of a web or mobile application. The visible part of the app to a user.

However, the backend of an application where the data is stored and retrieved for use on the frontend is equally important.

Learning to code both for the backend and frontend is more valuable as it enhances your understanding of a code-base.

What backend languages should you learn?

Once again, what you can learn in bootcamp is limited by what is taught in the curriculum.

Java, a language that is most useful for backend development is not taught at bootcamp.

It is no relation to JavaScript, except that when Brenden Eich, who designed JavaScript code as a browser-based scripting language for Netscape. It was called Mocha, LiveScript and then JavaScript only to tag its name to the popular language of the day, which was Java.

C, C++, C Sharp are other backend languages that are not taught at bootcamp.

PHP and Ruby-on-Rails once again are not taught at all bootcamps.

Which of course does not mean you should not learn these languages. It means they are harder to access in short-courses by accredited bootcamps.

Python - a scripting language used for Data Science is taught and is swiftly gaining popularity.

JavaScript for backend frameworks is what most bootcamps teach - NodeJS, or Node as it is commonly known, is an environment where JavaScript works outside the browser and therefore in the backend.

What about learning to code for data-bases?

Bootcamps do run through both relational-databases and non-relational databases.

SQL, MySQL and PostGreSQL are search query languages (SQL) that are relational databases. With PostGreSQL being an open source database it is the most easily accessible form of SQL to learn.

Non-relational databases are also referred to as document-based databases.

MongoDB and DynamoDB are two such databases. MongoDB is JavaScript-based and once again the most easily accessible if you learn JavaScript.

Isn’t this a spaghetti tangle of code to learn?

Yes and no. Learning HTML, CSS and JavaScript - especially JavaScript will take you a long way.

Learning one backend language like Node and one JavaScript-based data-base like MongoDB will help you quickly spin up small projects for your portfolio.

If you do not want to go the bootcamp route and are comfortable with online learning there are many free training courses. Here are a few you can check out.

For a small fee there are other resources like

On a subscription basis you can check

This is not a comprehensive list but should be enough to get you started.

Learn to code the MERN-stack

I found that learning the MERN stack - MongoDB, ExpressJs (or Express) as a server, React and Node - was the easiest way to practice the fundamentals of vanilla JavaScript through the stack.

It is a stable stack that does not need a cloud architect to configure if you are building side-projects for a portfolio.

It helps you stay focused to gaining mastery with one language - JavaScript and applying this knowledge through the stack.

Most of my portfolio is based on the MERN-stack. It’s what helped me in the 18-months after I left bootcamp to keep my focus narrow but deep rather than cast my net wide and lose focus.

What about learning to code the JAM stack?

Even better!

This is Pure JavaScript, HTML and CSS without a server. It is great as a starter for anyone who is looking to build a small project on their with only frontend languages. Netifly helps you deploy and host this stack in a matter of seconds.

You don’t need bootcamp for this if you are in the research phase and want to dabble.

If you want to build a JAM-stack app hang-on for Part 3,4 and 5 of Learning to Code, where I will help you build micro-projects.

It’s a risk free and cost-free way of checking whether coding is for you or not. Or to understand the basic principles of coding with the building block languages HTML, JavaScript and CSS.

In Part 3 of Learning to Code, I will run through three pens or links from CodePen, a free sandbox that allows you to play with code and see how it works.

The super-fast HTML crash course pen is adapted from W3Schools tutorials.

[The CSS Bouncing Balls pen]((https://codepen.io/sumisastri/full/zYNmWoy) adds CSS styling and animation. You can copy this pen and change the shape of the coloured balls and the animation and make this project your own.

The JavaScript traffic lights pen demos the power of JavaScript and the magic it works with a click of a button!