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.
A software program is data and a set of instructions that changes the behaviour of that data. As HTML does not have any functional programming it is not considered a software program. CSS does have a set of instructions that changes static HTML into a user-interface design, so it does have some features of a programming language and may use pre-processors to compile animations, like other coding languages.
JavaScript, is a scripting language, like Bash Script, that has programming statements and functions.
What features do programming languages share?
Given the initial need for computers to compute mathematical tasks, computer languages developed a language structure of their own - a small vocabulary, limited room for ambiguity in the instructions and the ability to logically flow through a binary - yes-no - lexical tree.
Computer languages use a context-free grammar called the Backus-Naur Form BNF. Deriving from both algebra and natural languages, like English, computer languages use lexical structures derived from BNF. This was largely due to the fact that initial programming languages focused on solving mathematical challenges.
BNF uses numbers and symbols as a form of pattern matching rather than words and syllables. This lexical tree is parsed to validate its instructions. Lexical parsing uses recursion - or restating the base case problem statement over and over again until the solution is reached. The restatement narrows down the options till the base statement is proven correct.
Early programming languages were C, Java with JavaScript written in the 1990s.
Languages wax and wane in favour. The most popular languages are not the same as the most adopted languages. JavaScript, was not adopted with any great vigor and fell out of favour, with PHP being a popular early language for web development.
Which language should I learn if I want to code?
It does help to have a computer science or software engineering degree, however, it is not mandatory if you want to get a foot in the door and learn to code on the job.
This may lead you to explore learning languages like Java, originally written to program hardware, as was C, which is the heart of the kernel of the computer and is written in C in what is referred to as “assembly code” as it transforms programming languages like JavaScript into machine readable byte code.
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 (updated in 2025). React has also fallen out of favour as NextJs replaces it by a new generation of tech advocates.
As you can see there are choices not answers, and these choices can be made knowing what the languages can do, what you want to learn and what is easily accessible to learn.
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. The backend is driven by computational complexity and the level of experience that you need will not and cannot be covered in a bootcamp.
Java, a language that is most useful for backend development is not taught at bootcamp. It is a high-level programming language that follows principles of object-oriented-programming, which is often out of the scope of bootcamps.
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. 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.
Python - a scripting language used in data science is taught as it also is a popular language.
PHP, C and C++ and Ruby-on-Rails once again are not taught at all bootcamps. PHP is a server side rendering language, while Ruby-on-Rails, is the back end framework for Ruby. PHP can be used, like JavaScript both on the frontend and backend. C is a backend language used for kernel development, while C++, an extension of C is used in gaming.
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.
The older languages like Fortran, used for high performance computing, COBOL (Common Business Oriented Language) which has been around since the late 1950s, and Visual Basic used for mathematical programming, are not popular. They are not taught although they are still used in many legacy systems. Visual Basic is an object oriented language developed by Microsoft for .net
applications is no longer supported. COBOL, is still used in many ATM-machines, while Fortran remains, even today the language for high-performance and scientific computing.
For more serious development, languages like Java, C and C++ are useful to learn if you find the limitations of learning just JavaScript, HTML and CSS in career advancement, but there is no easy access to learning these languages in a short bootcamp.
Conversion Masters’ degrees or online computer science degree courses are more suited to learning these languages as it requires an investment in time and effort. The effort that is required, gets to another level of mastery which is understanding hardware, memory allocation and advanced alogrithms that carry out computer processes, tasks and manage queues that communicate with the kernel via a process of signals and interupts. These advanced topics are not covered in bootcamps which are geared to getting you a foot in the door of the industry and changing a career path.
Mobile programming languages like Swift and Kotlin are completely out of scope of bootcamps which focus on teaching web not mobile development.
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.
Useful links
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!
What about more serious study?
Looking at a conversion Masters program in computer science or online learning once you have a job is an important consideration for those who want to take the profession more seriously.
A maths or physics degree, helps because early computer scientists were mathematicians or physics professionals.
The curriculum of computer science is based on advanced alogrithms that are used to allocate program source code into byte code, conversions from hexadecimals, octals to binary for memory and data management.
Understanding the architecture of hardware becomes important and the design of programs for efficient memory management are all taught at degree level courses.
This could be a choice you can make further down your career path once you have had that crucial break into the industry. It’s the path that I have taken and its an incredible leap forward.