cta quote button

Best APEX Books You Must Read

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Advanced Apex Programming for Salesforce.com and Force.com (2013)

Note: The third edition of this book is now available ISBN: 978-1936754106 in both paperback and eBook formats

Beyond the Force.com documentation – Second edition

Advanced Apex Programming for Salesforce.com and Force.com is neither a tutorial nor a book for beginners. Intended for developers who are already familiar with the Apex language, and experienced Java and C# developers who are moving to Apex, this book starts where the Force.com documentation leaves off.

Instead of trying to cover all of the features of the platform, Advanced Apex programming focuses entirely on the Apex language and core design patterns. You’ll learn how to truly think in Apex – to embrace limits and bulk patterns. You’ll see how to develop architectures for efficient and reliable trigger handling, and for asynchronous operations. You’ll discover that best practices differ radically depending on whether you are building software for a specific organization or for a managed package. And you’ll find approaches for incorporating testing and diagnostic code that can dramatically improve the reliability and deployment of Apex software, and reduce your lifecycle and support costs.

Based on his experience as a consultant, Force.com MVP and architect of a major AppExchange package, Dan Appleman focuses on the real-world problems and issues that are faced by Apex developers every day, along with the obscure problems and surprises that can sneak up on you if you are unprepared.

This second edition contains updates through Winter 14 (API 29) along with significant new content on triggers, asynchronous design patterns, concurrency and more

Author(s): Dan Appleman

2. Learning Apex Programming (2015)

Create business applications using Apex to extend and improve the usefulness of the Salesforce1 Platform

About This Book

  • Create Apex triggers and classes and build interactive Visualforce pages
  • Understand best practices and workarounds to platform limitations
  • Hands-on examples that will help you create business applications using Apex quickly and efficiently

Who This Book Is For

If you are a developer who has some object-oriented programming experience, Learning Apex Programming is the perfect book for you. This book is most appropriate for developers who wish to gain an understanding of the Force.com platform and how to use Apex to create business applications.

What You Will Learn

  • Create an Eclipse workspace and a sandbox, and learn about IDE best practices
  • Write code within the limits of the platform and discover the best practices to stay out of trouble with queries
  • Understand transactional and batch processes
  • Discover classes and triggers and the best practices for using both
  • Design a Visualforce page using Apex and JavaScript
  • Customize sites to display Visualforce pages to the world
  • Integrate Google and Salesforce calendars

In Detail

Starting with the syntax and common use cases for developing in Salesforce, this book will teach you how to create and deploy applications on the fly. You will learn how to approach new projects and learn the basics of Apex, including how to use Eclipse and the sandbox.

Salesforce limits and batch processes are explained in an easy-to-understand format, and you will gain a deep understanding of triggers, classes, test coverage, and Visualforce pages. You will also discover how you can share your Force.com data and code with the outside world and how to integrate with Google calendar using Apex.

Finally, the book covers the creation of real-world web service integrations with Salesforce.com; you will create a Force.com application from start to finish using Apex as the business logic. By the end of this book, you will know all the best practices for development using Apex.

Author(s): Matt Kaufman, Michael Wicherski

3. Introduction to Java Programming, Brief Version (11th Edition) (2017)

This text is intended for a 1-semester CS1 course sequence. The Brief Version contains the first 18 chapters of the Comprehensive Version. The first 13 chapters are appropriate for preparing the AP Computer Science exam.

For courses in Java Programming.

A fundamentals-first introduction to basic programming concepts and techniques  

Designed to support an introductory programming course, Introduction to Java Programming and Data Structures, Brief Version teaches you concepts of problem-solving and object-orientated programming using a fundamentals-first approach. As beginner programmers, you learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming, advanced GUI and Web programming using JavaFX. This course approaches Java GUI programming using JavaFX, which has replaced Swing as the new GUI tool for developing cross-platform-rich Internet applications and is simpler to learn and use. The 11th edition has been completely revised to enhance clarity and presentation, and includes new and expanded content, examples, and exercises.

Also available with MyLab Programming.

MyLab Programming  is an online learning system designed to engage students and improve results. MyLab Programming consists of programming exercises correlated to the concepts and objectives in this book. Through practice exercises and immediate, personalized feedback, MyLab Programming improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

Note: You are purchasing a standalone product; MyLab Programming does not come packaged with this content. Students, if interested in purchasing this title with MyLab Programming, ask your instructor to confirm the correct package ISBN and Course ID. Instructors, contact your Pearson representative for more information. 

If you would like to purchase both the physical text and MyLab Programming, search for:

0134694503 / 9780134694504 Introduction to Java Programming and Data Structures, Brief Version plus MyLab Programming with Pearson eText — Access Card Package,


Package consists of:

  • 0134611039 /9780134611037 Introduction to Java Programming and Data Structures, Brief Version, 11/e
  • 013467281X / 9780134672816 MyProgrammingLab with Pearson eText — Access Card — for Introduction to Java Programming and Data Structures, Comprehensive Version, 11/e

Author(s): Y. Daniel Liang

4. Excel VBA Programming For Dummies (2015)

Take your data analysis and Excel programming skills to new heights

In order to take Excel to the next level, you need to understand and implement the power of Visual Basic for Applications (VBA). This 4th edition of Excel VBA Programming For Dummies introduces you to a wide array of new Excel options, beginning with the most important tools and operations for the Visual Basic Editor. Inside, you’ll get the lowdown on the essential elements and concepts for programming with Excel, discover techniques for handling errors and exterminating bugs, working with range objects, controlling program flow, and much more.

With the release of Microsoft Office 2016, Excel will see changes in its operating system, and this fun, hands-on guide will make it easier than ever to harness the power of Visual Basic for Applications and create custom applications and macros on the world’s most popular spreadsheet tool. Packed with friendly advice on the easiest ways to develop custom dialog boxes, toolbars, and menus, you’ll be creating Excel applications custom-fit to your unique needs in no time at all!

  • Provides step-by-step instructions for creating VBA macros to maximize productivity
  • Helps to increase efficiency by demonstrating how to customize your applications so they look and work the way you want
  • Fully updated for Excel 2016
  • All sample programs, VBA code, and worksheets are available at dummies.com

If you’re a beginning to intermediate VBA programmer looking to get up to speed on creating customized solutions with Excel applications, Excel VBA Programming For Dummies, 4th Edition makes it easier.

Author(s): John Walkenbach

5. Excel 2013 Power Programming with VBA (2013)

Maximize your Excel 2013 experience using VBA application development

The new Excel 2013 boasts updated features, enhanced power, and new capabilities. Naturally, that means John Walkenbach returns with a new edition of his bestselling VBA Programming book and covers all the methods and tools you need to know in order to program with Excel. With this comprehensive guide, “Mr. Spreadsheet” shows you how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf.

Featuring a complete introduction to Visual Basic for Applications and fully updated for the latest features of Excel 2013, this essential reference includes an analysis of Excel application development and is packed with procedures, tips, and ideas for expanding Excel’s capabilities with VBA.

  • Offers an analysis of Excel application development and a complete introduction to VBA
  • Features invaluable advice from “Mr. Spreadsheet” himself, bestselling author John Walkenbach, who demonstrates all the techniques you need to create Excel applications, both large and small
  • Covers navigating the Excel interface, formatting worksheets, interacting with other Office applications, working with collaboration tools, and using sample workbooks and John Walkenbach’s award-winning Power Utility Pak to help enhance your Excel skills
  • Provides tips, tricks, and techniques for expanding Excel’s capabilities with VBA that you wont find anywhere else

Excel 2013 Power Programming with VBA is packed with procedures, tips, and ideas for achieving Excel excellence with VBA.

Author(s): John Walkenbach

6. Adobe Photoshop CC Classroom in a Book (2017 release) (2017)

Creative professionals seeking the fastest, easiest, most comprehensive way to learn Adobe Photoshop choose Adobe Photoshop CC Classroom in a Book (2017 release) from Adobe Press. The 15 project-based lessons in this book show users step-by-step the key techniques for working in Photoshop and how to correct, enhance, and distort digital images, create image composites, and prepare images for print and the web.


In addition to learning the key elements of the Photoshop interface, this completely revised CC (2017 release) edition covers features like new and improved search capabilities, Content-Aware Crop, Select and Mask, Face-Aware Liquify, designing with multiple artboards, and much more!


The online companion files include all the necessary assets for readers to complete the projects featured in each chapter as well as ebook updates when Adobe releases new features for Creative Cloud customers. All buyers of the book get full access to the Web Edition: a Web-based version of the complete ebook enhanced with video and interactive multiple-choice quizzes. As always with the Classroom in a Book, Instructor Notes are available for teachers to download.

Author(s): Andrew Faulkner, Conrad Chavez

7. Beginning C++ Through Game Programming (2014)

When it comes to game programming, C++ is the name of the game. If you aspire to move from game player to game creator, it all starts with learning the fundamentals of C++ and game-programming basics. With BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION, you will find an up-to-date and thorough introduction to everything you need to get started–with no previous programming experience required. In the new fourth edition of this popular guide to learning C++, you will work with a complete program while learning each new concept and a game program at the end of each chapter. A final game project at the end of the book draws together everything you’ve learned. Written with the beginning programmer in mind, BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION is a great way to get started in game programming.

Author(s): Michael Dawson

8. A Smarter Way to Learn JavaScript. The new tech-assisted approach that requires half the effort (2014)

Learning JavaScript is hell because of two problems.
I remove the problems, and you start having fun.

The first problem is retention. You remember only ten or twenty percent of what you read. That spells failure. To become fluent in a computer language, you have to retain pretty much everything.

How can you retain everything? Only by constantly being asked to play everything back. That’s why people use flashcards. But my system does flashcards one better. After reading a short chapter, you go to my website and complete twenty interactive exercises. Algorithms check your work to make sure you know what you think you know. When you stumble, you do the exercise again. You keep trying until you know the chapter cold. The exercises are free.

The second problem is comprehension. Many learners hit a wall when they try to understand advanced concepts like variable scope and prototypes. Unfortunately, they blame themselves. That’s why the Dummies books sell so well. But the fault lies with the authors, coding virtuosos who lack teaching talent. I’m the opposite of the typical software book author. I’ll never code fast enough to land a job at Google. But I can teach.

Anyway, most comprehension problems are just retention problems in disguise. If you get lost trying to understand variable scope, it’s because you don’t remember how functions work. Thanks to the interactive exercises on my website, you’ll always understand and remember everything necessary to confidently tackle the next concept.

“I’ve signed up to a few sites like Udemy, Codecademy, FreeCodeCamp, Lynda, YouTube videos, even searched on Coursera but nothing seemed to work for me. This book takes only 10 minutes each chapter and after that, you can exercise what you’ve just learned right away!” —Amazon reviewer Constanza Morales

Better than just reading. And more fun.

You’ll spend two to three times as much time practicing as reading. It’s how you wind up satisfied, confident, and proud, instead of confused, discouraged, and defeated. And since many people find doing things more enjoyable than reading things, it can be a pleasure to learn this way, quite apart from the impressive results you achieve.

“Very effective and fun.” —Amazon reviewer A. Bergamini

Written especially for beginners.

I wrote the book and exercises especially for people who are new to programming. Making no assumptions about what you already know, I walk you through JavaScript slowly, patiently. I explain every little thing in sixth-grade English. I avoid unnecessary technical jargon like the plague. (Face it, fellow authors, it is the plague.)

“The layman syntax he uses…makes it much easier to suddenly realize a concept that seemed abstract and too hard to wrap your head around is suddenly not complicated at all.” — Amazon reviewer IMHO

The exercises keep you focused, give you extra practice where you’re shaky, and prepare you for each next step. Every lesson is built on top of a solid foundation that you and I have carefully constructed. Each individual step is small. But, as Amazon reviewer James Toban says, when you get to the end of the book, you’ve built “a tower of JavaScript.”

If you’re an accomplished programmer already, my book may be too elementary for you. (Do you really need to be told what a variable is?) But if you’re new to programming, more than a thousand five-star reviews are pretty good evidence that my book may be just the one to get you coding JavaScript successfully.

“Mark Myers’ method of getting what can be…difficult information into a format that makes it exponentially easier to consume, truly understand, and synthesize into real-world application is beyond anything I’ve encountered before.” —Amazon reviewer Jason A. Ruby

Author(s): Mark Myers

9. Java Concurrency in Practice (2006)

“I was fortunate indeed to have worked with a fantastic team on the design and implementation of the concurrency features added to the Java platform in Java 5.0 and Java 6. Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book.”
–Martin Buchholz
JDK Concurrency Czar, Sun Microsystems

“For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's–and tomorrow's–systems.”
–Doron Rajwan
Research Scientist, Intel Corp

“This is the book you need if you're writing–or designing, or debugging, or maintaining, or contemplating–multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover.”
–Ted Neward
Author of Effective Enterprise Java

“Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance.”
–Kirk Pepperdine
CTO, JavaPerformanceTuning.com

“This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it.”
–Dr. Cliff Click
Senior Software Engineer, Azul Systems

“I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today.”
–Dr. Heinz Kabutz
The Java Specialists' Newsletter

“I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery–it's destined to be a very important book.”
–Bruce Tate
Author of Beyond Java

Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere.”
–Bill Venners
Author of Inside the Java Virtual Machine

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

This book covers:

  • Basic concepts of concurrency and thread safety
  • Techniques for building and composing thread-safe classes
  • Using the concurrency building blocks in java.util.concurrent
  • Performance optimization dos and don'ts
  • Testing concurrent programs
  • Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Author(s): Brian Goetz, Tim Peierls

10. Introduction to Programming Using Visual Basic (10th Edition) (2016)

For courses in Visual Basic Programming 


From the Beginning: A Comprehensive Introduction to Visual Basic Programming

Schneider’s Introduction to Programming Using Visual Basic, Tenth Edition brings continued refinement to a textbook praised in the industry since 1991. A favorite for both instructors and students, Visual Basic 2015 is designed for readers with no prior computer programming experience. Schneider introduces a problem-solving strategy early in the book and revisits it throughout allowing you to fully develop logic and reasoning. A broad range of real-world examples, section-ending exercises, case studies and programming projects gives you a more hands-on experience than any other Visual Basic book on the market.


The Tenth Edition keeps the pace with modern programming methodology while incorporating current content and practices. Each chapter is rich yet concise due to to the author’s focus on developing chapters around crucial subjects rather than covering too many topics superficially. The amount and the range of projects provided in the text offer flexibility to adapt the course according to the interests and abilities of the readers. Some programming projects in later chapters can be assigned as end-of-the-semester projects.

Also available with MyProgrammingLab .

MyProgrammingLab is an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to specific Pearson CS1/Intro to Programming textbooks. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.

  • Interactive Practice providesfirst-hand programming experience in an interactive online environment.
  • Error Messages for Incorrect Answers give studentsimmediate personalized feedback. The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.
  • Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom–when they need help the most.
  • Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the Pearson eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class.
  • The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.
  • Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:
    • A dynamic roster tracks their performance and maintains a record of submissions.
    • The color-coded gradebook gives you a quick glance of your class' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.

Author(s): David I. Schneider