There are two broad types of change you can make within Salesforce:
Code changes
In this article, we'll focus on code changes: what they are and how you can make them.
What is a code change?
Some customizations require more complexity than can be achieved by declarative changes. For example, they may require writing custom logic that triggers complex workflows, or custom integrations to perform automated tasks outside of Salesforce.
These sorts of changes are generally known as code changes, as they require the Salesforce user to write new code rather than clicking around in the UI.
The benefits of code development
Custom code enables developers to build complex business processes, customized user interfaces, and integrations with third-party systems — things that can’t be done using declarative tools.
There's hardly any limit to what can be created through custom code in Salesforce. As a result, it's an incredibly powerful toolkit.
How code changes are made
All code changes in Salesforce are created in Apex, the Salesforce programming language. Apex is an object-oriented programming language that uses syntax similar to Java.
Code changes are generally created in one of three ways:
Using the Apex console in a developer org.
Through an Integrated Development Environment (IDE). (An IDE is a software suite consolidating the essential tools developers need to write and test software. Typically, an IDE contains a code editor, a compiler, and a debugger that the developer accesses through a single user interface.)
By hand, in some form of code or text editor (such as Sublime).
Below is some example code in the form of an Apex class:
Code changes can do almost anything in an org, including:
Create an automated workflow to notify your support team when a user performs a series of actions in an org.
Take data from a marketing tool and use it to update contact records in Salesforce.
Build a whole custom application for your company, such as a CPQ tool or financial reporting system.
Want to learn more?
You can learn more about Apex in the Salesforce Trailhead Developer Beginner module here.