Apex Language Short Definition
Apex (Salesforce Winter ’07 release, 2006) is a strongly-typed object-oriented domain-specific programming language. The core idea of the language is to add some complex business logic for database transactions and controllers for integration scenarios with the platform.
Unofficially Apex means «Advanced Programming Experience». So in addition to Java-like syntax, the language has inserted DML (insert/update/delete
), SOQ(S)L (SELECT … FROM … WHERE …
) and a test framework. And this combination is advanced to develop on the Salesforce Platform.
Program on Apex is saved in a multitenant database, JIT-compiled and executed on a multitenant environment. The code is lunching in a cloud, it is a similar case as serverless AWS Lambda. There is a level of isolation between customer code and a host virtual machine. Besides, the Apex compiler may delegate to a Java VM for various services — garbage collection i.e. That’s why Apex and Java have very similar syntax but only with old versions of Java (before 8).