Can a beginner learn APEX without learning JAVA. at my org I work as a administrator but the boss would like me to perform some developer duties. I have been working on a trigger and the thing I struggle with is the syntax, knowing which variables to enter. i think it takes too long to learn java and apex, is it possible for a beginner to learn apex by itself?


I have taught a number of non-developers how to start programming with Apex without any other programming experience. Some of these go on to become developers, and then learn to program in other languages. Others walk away with a solid understanding of Apex, its constructs, how it works, why to use it, but then don't become developers. However, they feel much less daunted by the prospect of what developers are doing in their org.

For a person already familiar with Salesforce or Force.com, I would argue it is easier to learn with Apex than with another language. Apex is hardwired into the platform, and will have constructs that will very quickly seem familiar as you learn basic syntax and common Apex idioms. In addition to that, the ease of features like querying, data persistence, automatic availability of objects and fields are much simpler than with other languages, platforms, or frameworks.

I will say that in my opinion, being a developer isn't for everyone. But there is no substitute for trying to find out whether it is your thing. And you just don't know. I, for example, took degrees in Theater and French and didn't begin to learn to program until I was in my lat 20's.

When I was and instructor for Salesforce, I used to teach the course "Introduction to Object Oriented Programming with Apex" (course number ADM-231). It is offered on a regular basis in the US and UK. I think there are occasional APAC courses, too. It is one week, and there is a fee. But if your company sees value in you gaining some developer skills, they may see this as a worthwhile investment.

There are also numerous other free resources for experience Admin non-programmers to take their first steps with Apex such as David Liu's sfdc99 site. I've recently learned of Wes Nolte's online training on object oriented programming, where he uses Apex to illustrate OO concepts. Salesforce developer relations has announced that we've made public our "Apex for Admins" hands on workshop materials that we delivered at Dreamforce 14, including the workbook, slides, and video.

So plenty of stuff to study to help you along the way. My one piece of advice is to set your expectations, and the expectations of your management firmly in the realistic range. You may love it, you may hate it, you may get it right away, it may baffle you.

But by all means try it, give yourself a minimum of 6 months to take it all on board. It's the only way you'll know. And who knows, it may be the launching of a whole new chapter of your career.

| improve this answer | |

This is ABSOLUTELY possible. Although knowing Java is a nice bonus, as some of the syntax is similar, it certainly is not a prerequisite. I would begin by going through the Apex workbook. The advantage of this is that it is hands on training, and you can actually do some of the coding as you learn. Go through this, and then come back with specific questions along the way, and everyone is glad to help.


| improve this answer | |
  • 3
    I come from a Java background, but I definitely agree with sfdc_ninja here. You don't need to know Java. There are similarities between both languages, but Apex is NOT Java. Java is a much more mature language with way more flexibility. It also has access to way more libraries. 90% of what is possible in Java won't relate to what you need to do in Apex. – Jesse Altman Jun 3 '14 at 15:18
  • 4
    I would recommend learning a simpler language first, such as C# or Java. Not the entire language, either, but just the parts that matter. Variables, classes/data types, branches, loops, and collections. Armed with just this simple information, Apex Code will come much faster. The "Language X in 24 hours" books seem like a fast track to learning Apex Code. – sfdcfox Jun 3 '14 at 16:40

While I agree with sfdc_ninja that it is POSSIBLE, I dont think it is IDEAL to try and learn Apex first. You'll figure things out and you'll eventually become relatively effective but I've found that there are much better beginner resources for Java than Apex because Java is an older/more mature language with many more developers than Salesforce Apex.

As Jesse Altman says Java is more "mature" and flexible than Apex, but in my opinion the most basic aspects of computer science are much better explained in beginner Java tutorials. I personally found Bucky's tutorials at TheNewBoston.com were much more helpful in my understanding these concepts because he goes into great detail about the relatively simple concepts that become the foundation of your programming skills.

On the other hand, the Apex workbooks quickly touch on these subjects but as someone who spent a lot of time trying to learn Apex before going back to Java to improve on the basics I feel like my study of the most basic concepts in Java was very much time well spent.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.