Advanced Apex Programming for and

Advanced Apex Programming for and

As many of you know, I do enjoy writing books. Which is a good thing given that I’ve written quite a few of them. I’m proud of all of my books, but there are a few that fall into a special category – and that includes my latest effort.

If you’ve looked at the book market, you’ve probably noticed that a lot of books are very similar. Most subjects offer dozens of competing books that have pretty much the same content. Personally, I’ve always felt that if a good book exists on a particular subject, I shouldn’t waste my time writing another one. As a result, most (if not all) of my books have been either unique, or the first one in a given space. For example: my original Visual Basic Programmer’s Guide to the Windows API was the only book for a long time that dared to teach Visual Basic programmers to use the Windows API. My recent book on teaching leadership skills to teens is nothing like anything else on the market.

Which brings us to Advanced Apex Programming.

As I mentioned in my previous blog post, I’ve been spending more and more time over the past few years working in Apex – the native language of I’ve learned a great deal in the process and… well, you know how it is. Sooner or later, if I learn something, I end up writing a book to teach it. In this case, I was astonished to find that nobody has written an advanced Apex book yet. There’s lots of great reference material, a good selection of articles, and plenty of beginner’s texts out there. But there was no book to help the intermediate developers take the next step, and give the advanced developers something to geek out to. Even the domain, was available!

I couldn’t resist.

You can read about the book at I’m as excited about it as I was that original VB Programmer’s guide. As with that book, I think it’s going to help a lot of programmers write a lot of great code and become more successful. And as an author, hearing from readers that a book I’ve written has helped them build their careers is what really makes it worth the effort.

26 Responses to “Advanced Apex Programming for and”

  1. Doug Finke Says:

    Hello Mr. Appleman,

    I really appreciate this post. I was one of those that learned how to use the Windows API from Visual Basic based on your book. It helped me looked like a wizard. I also met you many years ago when your book came out, I believe it was at a VBits conference.

    I remember after reading your book(s) I had the thought I’d liked to be published one day. Interestingly enough, a couple of weeks ago my book came out, “Windows PowerShell for Developers”.

    Thanks for the education and inspiration.


  2. Dan Says:

    Hi Doug:

    Congratulations on the book. I played around with PowerShell for a while – it’s a very intriguing language. But I didn’t spend enough time with it to become expert enough for it to become part of my daily toolkit. Maybe I need to get your book 🙂

  3. Doug Finke Says:

    Thank you.

    Send me an address or email and I’ll arrange a copy to be sent.

    Thanks again.


  4. Roshan Sahatiya Says:

    Hello Dan,

    I was long awaiting a book on advanced Apex. Thank You for this.

    I am based in India; Where do I get this book? Can you please guide for the same?

    Kind Regards,

  5. Dan Says:

    I think your best source of the book for India at this time would be It should be less expensive to ship from there than from the U.S.

  6. Luke Says:

    Can you tell me if I can buy a PDF of the book ?
    Somehow I cannot find it anywhere?

  7. admin Says:

    I do plan to make it available one day on the Kindle and possibly the Nook. But I don’t have time to do the work before Dreamforce. Right now only printed books are available.

  8. Richard Lulenski Says:

    Hi Dan,
    I picked this up at Dreamforce. I’m just getting started with some controller extensions and although the concepts in your book are advanced for me, some of it still makes sense. You explain issues so that I can understand and follow them some, even with my limited knowledge. Much technical literature is, for me, too technical. Do you have a more basic apex book? Hopefully I’ll figure out my current problem , or resort to the Hire On Demand job board. Thanks so much.

  9. Dan Says:

    Hi Richard:

    This is my first Apex book. Thank you for your kind words about the book. I don’t know what I’m going to work on next, but whatever it is would be some time out. If you do go with outside help, I do encourage you to work with someone who will explain clearly to you what they have done – that will help you make progress on your own education, and allow you to support the software going forward.

  10. Alberto Maianti Says:

    Hi Dan,

    this book is really really awesome…
    Chapter 7 on going asynchronous is very interesting but I have some difficulties to figure out how implement the solution you propose in batch apex.
    You only mention that the pattern you show can be used with batch.
    Maybe a code example would have been useful.

    Thanks again

  11. Dan Says:

    I’m glad you like the book. Could you be more specific as to what you are having difficulty with? I propose a number of variations at the end of chapter 7.

  12. Alberto Maianti Says:

    Hi Dan,

    my difficulty is figuring out how to query ApexClass and AsyncApexJob to decide if another job is running.
    I think a little code snippet in the book could be helpful!


  13. Dan Says:

    Sure it would be helpful, but the nature of your question suggests it’s not necessary – your question is how to do something specific in code,
    not about the design pattern itself. You can get answers to that question easily on Google, StackExchange or the Apex forums. Or here:
    Get the class ID using :
    ApexClass batchClass = [select id, name from apexclass where name = ‘nameoftheclass’];
    Get the status using:
    AsyncApexJob[] activeJobs = [select id from AsyncApexJob where(ApexClassId = :batchClass.Id];

  14. Eric Says:

    Hello Dan, I’m Eric working as a Telecom Network Engineer at Qualcomm Incorporated. Recently, I have been asked to do a new project based on cloud computing. I got fair bit of idea on how to work with Salesforce Admin related task like creating objects, fields n relationships etc. But I’m bit worried regarding the Development part because I’m new to programming. I have studied and executed few programs on C/C++ during my college days. So is knowledge of C/C++ coupled with OOPS concepts sufficient enough to work with your book & start coding in Apex or do I need further additional programming knowledge on Java or .Net to make myself compatible to work with Apex coding? Please guide me through your suggestion. Thank you!

  15. Dan Says:

    C++ and understanding of OOPS is a good start. I strongly recommend my pluralsight course as your next step Do NOT spend extra time learning Java or .NET – much of what you learn you’ll have to unlearn for Apex. At that point you should be ready for my book. The other Pluralsight courses on will help you as well, as will the vast amount tutorial/workbook information provided at Best of luck!

  16. Eric Says:

    Thank you for the guidance, Dan. I’m going through the course link you provided and finding it very helpful in understanding the concepts. As I’m new to programming language, I presume that one need not necessarily have real time developer experience to get comfortable with coding in Apex.

  17. Chinmaya Tripathy Says:

    Hi Dan,

    I have completed both Salesforce Developer & Admin Certification and Currently working in a Salesforce Implementation project. I have started preparation for advance developer certification. Will this book help me in achieving the same. Please guide me.

  18. Dan Says:

    This book is not a certification guide, but it will help you become a better Apex developer. So, what you’re really asking is, will becoming a better Apex developer help you to become certified…

  19. Harish Says:

    Hello Dan,

    I am a Admin/Business Analyst and interested in taking up developing. But I have no developing back ground. Do you recommend me to do Fundamentals before starting Advanced Apex ?


  20. Dan Says:

    Either fundamentals, or a beginning programming course. You might check out – it’s a great resource for those just starting out with Apex development.

  21. rodolfo Says:

    Hi Dan,

    This book is only available on paperback o I can buy it on e-book presentarion and where, thanks.

  22. Dan Says:

    The book is available on Amazon (Kindle format – which can be read on any computer or device, not just Kindles) from all local Amazon stores. See

  23. Sam Says:


    I want to read this book, it you could mail me the copy it would be great.

    Book: Advanced Apex programming


  24. Dan Says:

    Hi Sam:

    I know it may seem strange, but writing a book is a lot of work. And while in the ideal world I would be able to spend all my time doing that work for free, fate is such that I need to eat, pay for housing, and so on. The only way I can justify the time to write books is to get paid for the work. The book is available worldwide on Amazon kindle at a very reasonable price (much lower than most technical books). The print book is also, I think, very reasonably priced for the value of the content.

  25. SCR 888 Says:

    I seldom leave responses, however i diid a
    few searching and woun up here Dan Appleman: Kibitzing
    and Commentary » Blog Archive »
    Advanced Apex Programming foor and
    And I actually do have 2 questions for yoou if
    you usually do not mind. Is itt only me oor does itt give the impression like some of thse responses come across like
    writteen by brain ddead visitors? 😛 And, iff you are posting on other sites, I
    would like to folllw everything new you have to post.
    Would you list of all of all your publiic sjtes like your Facebook
    page, twitter feed, or linkedin profile?

  26. Dan Says:

    I would never call any of my visitors “brain dead” 🙂
    I do sometimes post elsewhere. is my personal blog. @danappleman on twitter. on linkedin

Leave a Reply

Comments are moderated - allow 24-48 hours for your comment to appear.