The Coding Languages of the Salesforce Platform

When you start to learn Salesforce as a developer, you start to realize there are not just one but many languages that make up the platform. As a developer you start with one, but end up learning multiple languages to support the actions that businesses require.

I personally started off with web development languages in my early years. HTML and CSS being the simpler ones, then Javascript, PHP, SQL and more dynamic languages as I went further.

With any web-based our cloud-based platform, don’t think you’re going to code with only one language, but each of the different languages will help to provide a well rounded online software platform, and Salesforce is no different. Some are easier to learn and some more complex, but all are easy to get started with and you learn what you need to know as you go.

As a Salesforce Developer, I primarily use the following languages:


This is obviously the primary coding language of salesforce development (Check out this quick Apex tutorial). I use Apex every day and twice on Tuesdays! Apex is a strongly typed, object-oriented programming language. Through the use of Apex you can make calls to the Salesforce API, add business logic to most system events, including button clicks, related record updates and visual force pages, Aura and Lightning Web Components.

Apex uses syntax that looks a lot like Java and acts like database stored procedures. Through Apex you can access DML calls (Data Manipulation Language) such as INSERT, UPDATE and DELETE. You can also use inline SOQL (Salesforce Object Query Language) and SOSL (Salesforce Object Search Language) queries that return lists of sObject records.

Apex is also easy to use and is based on familiar Java coding language syntax, such as variable and expression syntax, block and conditional statement syntax, loop syntax and object and array notation.

You can also easily test Apex through built-in support for unit test creation and execution.

There is so much more to say about Apex, but I’ll leave it there.


SOQL stands for Salesforce Object Query Language. You use SOQL to search Salesforce data for specific information. SOQL is similar to the SELECT statement in the widely used SQL (Structured Query Language) but is specifically designed for Salesforce data.

SOQL is primarily used within Apex statements, but can also be used in many other places within Salesforce. Similar to a SELECT command in SQL, SOQL allows you to specify the source object (such as Account), a list of fields to retrieve and conditions for selecting rows in the source object.


JSON stands for JavaScript Object Notation and is a lightweight format for storing and transporting data. I primarily use JSON when integrating one system to another system. This is primarily used in conjunction with REST API calls.

This is a language that I don’t use every day, but is helpful to be familiar with because it will come up from time to time as a developer.

XML stands for eXtensible Markup Language. It’s a markup language much like HTML and was designed to store and transport data, very similarly to JSON. I primarily use XML when doing SOAP API integrations to 3rd party systems, usually point-to-point integrations. Again this is also one I do not use every day, but is helpful to become familiar with.


Javascript, often abbreviated as JS, is a programming language that enables you to dynamically update content, control multimedia, animate images and so much more. When you open just about any web page, you can probably assume that Javascript is one of the pieces being used to display that webpage. Javascript is a very ubiquitous language that is used for many different applications. You can also use Javascript on mobile apps.

I use Javascript more and more each week. Some weeks I use it daily, and some I do not. However, Javascript is used in Lightning Web Components, Aura Components and you’ll usually find it anywhere you find HTML and CSS.


HTML stands for Hypertext Markup Language and is the standard markup language for documents designed to be displayed in a web browser. HTML is usually assisted by languages such as CSS (Cascading Stye Sheets) and scripting languages such as Javascript.

CSS (Cascading Style Sheets) is a style sheet language used for describing the presentation of a document that’s written in HTML. CSS is a cornerstone technology of the internet along with HTML and Javascript.

I use both HTML and CSS probably daily or at least several days a week in my Apex development. Salesforce is a cloud-based platform, so being that it’s mainly displayed using a web browser, you want to become very familiar with the primary languages of web browsers.

HTML and CSS are also utilized within Visual Force pages, Lightning Web Components, Aura components and more.

Which Should I Learn First?

I would start with easiest to most difficult. Get familiar with the easiest languages first and you will find that you have momentum to tackle the harder languages. It will also quicken your pace for learning the languages as well. Check out my 3 Little Known Ways To Learn Salesforce article as well.

Did I miss any that you use on a daily basis when doing Salesforce Development?


50% Complete

Get our latest tutorials, tips and tools to help you learn to be an Apex Programmer!

Every week I'll update you on the latest from Apex Coding Academy and you'll get first access to new resources, offers and events.