Zemax is widely used in optical designs because it is powerful, flexible, easy to learn, and cost effective Besides many standard functions, Zemax also provides a tool called Zemax Programming Language ZPL This tool allows people to extend the standard functions of Zemax to meet their special needs However, the learning process is usually not smooth, sometimes even quite frustrating This book intends to help readers to learn ZPL quicker and easier The examples and plots in this book are based on Zemax version , but the basic idea should remain the same for different versions of Zemax software Since Zemax is continuously developing, we encourage readers to refer to official Zemax Users Manual for the updates on ZPL