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, or 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 this career path.

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.

JavaScript, often abbreviated to JS, maybe the most popular frontend language taught in bootcamps. PHP, is the core language that content-management-systems (CMS) like Wordpress and Drupal are built on. So, despite bootcamps failing to teach PHP anymore, PHP continues to be the most used language in web development.

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

Bootcamps still teach the 3 core languages that the web is built on:-

  • 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 ReactJS, VueJS and JavaScript frame-works such as AngularJS and NextJS. The .js file-extension is often dropped and the libraries are referred to as React, Vue, Angular and Next.

Should you learn PHP? Many bootcamps do not offer PHP as a language to be learnt as it is waning in popularity. While JavaScript’s popularity has grown in leaps and bounds over the last decade, it may not be the most useful language to learn. JavaScript has as many detractors as it has followers and many tech companies may favour using PHP as a core building block in their technology stack.

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

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, or out-of-date stacks.

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.

In just five years since the initial writing of this post, React has also fallen out of favour as Next replaces it by a new generation of tech advocates.

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 and a tech stack.

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 Eich, who designed JavaScript code as a browser-based scripting language for Netscape liked the name Java and attached the suffix “script” to this already popular language. JavaScript, was actually called Mocha and then LiveScript and then JavaScript as a rebranding excercise.

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 in data science is taught as it also is a popular language.

NodeJS,or Node as it is commonly known, is an environment where JavaScript works outside the browser and therefore in the backend, is another popular choice for bootcamps who add this to their curriculum.

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 SQL. The language is also called sequal, rather than as the acronymn SQL.

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 at bootcamps. DynamoDB is part of the Amazon Web Services (AWS) suite of products which are not taught at bootcamps. AWS has its own certification and online tutorials to learn its suite of products and services.

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 database 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 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!