First let me say that I LOVE Salesforce and in addition, sometimes they don’t make it easy for a newbie to understand what the heck they’re talking about! This is the first sentence of the Salesforce ,What is Apex.
Apex is a strongly typed, object-oriented programming language that allows developers to execute flow and transaction control statements on the Force.com platform server in conjunction with calls to the Force.com API.
Whew…ain’t that a mouthful! I’m pretty sure I know what Apex is and this sentence overwhelms me! But let’s see if I can break it down into it’s bits and bobs:
- Strongly Typed – This means that each data type (e.g., integers [or numbers], strings [or text], boolean [yes/no] etc.) are defined within the language, and every variable you define must be described as one of these types.
- Objected Oriented Programming (or OOP) – As opposed to a procedural list of actions, OOP focuses around “objects” that interact with each other. An instance of an objects is created (or “instantiated”) using a class as a template or blueprint.
- Developers – That is (or will soon be) you!
- Execute flow and transaction control statements on Force.com – This is a fancy way of saying you can use Apex to extend the base functionality of your Salesforce organization to do things you can’t do with all the point-and-click administrative tools. These code extensions are triggered on some event (e.g., a button click, or a record update etc.).
- Calls to the Force.com API – This means that your Apex code has be triggered to run based on requests from Web services (e.g., from your backend accounting software).
See that makes more sense to me! Apex is a language that we can use to make Salesforce do some cool and helpful things, that focuses on objects vs a list of actions, and where when you use variables, you will assign them to a specific defined type. Now that I can understand! For me, writing this stuff out helps me really understand what it is. I hope that someone else finds this helpful, but even if not, at least I’m learning and that makes me a happy happy geek girl!