Preface
If you've been a software developer for a long time, you certainly know how useful a conversation can be with a colleague who has already done something similar to what you are doing and can explain it, as they will have faced the same problem.
It is not possible to put all the possible situations that a developer can face in a book, but many problems are similar, at least in principle.
This is the reason this book is organized as a cookbook: just like a combination of foods can be adapted and modified to be appropriate for different types of dinner, a programming recipe can provide the idea to solve many different problems.
This book is an advanced guide that will help Delphi developers get more skilled in their everyday job.
The everyday job, and the quality of your deliverables, is what is contributing to the quality of your professional life.
If it does not make sense, reinventing the wheel repeatedly, especially when working with a wellestablished tool, such as Delphi.
The focus of the book is to provide readers with comprehensive and detailed examples on how effectively the Delphi software can be designed and written.
All the recipes in the book are the result of years of development, training, and consultancy activities in many different fields of IT, from small systems with thousands of installations to large systems commissioned by big companies or by governments.
It is not a magic book that will solve all your development problems (if you find it, tell me, please!), but it could be helpful to get a different point of view on a specific problem, or a hint on how to solve problems.
Armed with the knowledge of advanced concepts, such as high-order functions and anonymous methods, generics and enumerable, extended RTTI and duck typing, LiveBindings, multi-threading, FireMonkey, mobile development, server-side development, and IoT, you will be pleasantly surprised how quickly and easily you can use Delphi to write high-quality, clean, readable, fast, maintainable, and extensible code.
I read too many boring programming books, so I tried to maintain a relaxed and light exposition.
A small applicability scenario that describes a situation where a particular technology, approach, or design pattern can be used successfully introduces all the recipes.
The recipes are not very complex, because otherwise the book may become thousands of pages long, but also not trivial, because the IT books landscape is already full of simple examples with few direct applicabilities.
I tried to do a good tradeoff, and I hope to be able to do it.
Every time I start reading a new book, I ask myself, Will the author have something interesting to say?, How much will this book change my point of view about the topics mentioned?, Is it worth the time spent to read it? Now, in spite of being from the other side of the river, I worked harder to put as much good quality contents in my books as possible; I hope that will match your expectations.
One last note: writing hundreds of pages about advanced programming is not an easy task.
However, I am very pleased to have done it, and I hope you will enjoy reading it at least as much as I enjoyed writing it.
In this third edition, the book still respects the structure and the style previously applied, which Daniele Teti explains perfectly in his preface.
I just want to add that this approach is the best method for learning: a minimum of theory to understand the topic and a pragmatic approach with the resolution of a real problem so that the reader can have practical feedback and see it implemented.
Who this book is for?
- This book aims to help professional Delphi developers in their day-to-day job.
- This book will teach you about the newest Delphi technologies and its hidden gems.
- It is not a book for a newbie, but the practical approach will help you reach a new level with your Delphi skills.
- The experienced developer can benefit from this book, because non-trivial problems are solved using best practices.
- Where more than one way is available or the topic is too broad to be explained in the available pages, references are provided to allow you to go deeper into that field.
- It is a book to have on your desk for the next few years.