@ianbarker âŚ
Marco Geuze
Hi all!
As a long-time Delphi and Pascal enthusiast, I wrote a book about the history of Delphi and Pascal: Pioneering Simplicity. If youâre curious about the roots of Delphi and Pascal, Pioneering Simplicity provides a detailed look at the history and legacy of these languages, including the history of Borland, Niklaus Wirth, USCD, and much more.
If youâre interested, have a look at my website Pioneering Simplicity - Marco Geuze or at Amazon Pioneering Simplicity: The fascinating history of Delphi and Pascal: Geuze, Marco: 9789083440316: Amazon.com: Books
If you want to know more about the book, just send me a message
Also, look out for our upcoming webinar interview with Marco. It will be broadcast on October 29th 12 noon US Central / 5pm UTC with a live Q & A afterwards.
From LinkedIn âŚ
Tilen Kordis
Amazing, I found 20 books on Delphi published in last 5 years (paperback or hardcover). I thought I might find 3.
2024:
Pioneering Simplicity: The fascinating history of Delphi and Pascal, by Marco Geuze
Delphi, in all its glory: Reaching for the Gods, by Gabriel Moraru
Expert Delphi: Robust and fast cross-platform application development, Second Edition, by Marco Cantuâ and Pawel Glowacki
Delphi Pascal Programming: Efficient Code Editing, Visual Designing, And Integrated Debugging, by Rob Botwright
2023:
Delphi, in all its glory:âŚFor more than mere programmers, by Gabriel Moraru
Delphi High Performance - Second Edition: Master the art of concurrency, parallel programming, and memory management to build fast Delphi apps 2nd ed. Edition, by PrimoĹž GabrijelÄiÄ
Delphi DataSnap Full Stack Development, by Eden Wu
Code Better in Delphi: The practice of writing maintainable, reliable, and scalable code in Delphi, by Alister Christie
TMS WEB Core: Web Application Development with Delphi: Rapid Application Development for the Web, by Dr. Holger Flick
Modern Application Development with Delphi: Learn to develop a desktop application, plus an API and an ORM, by Dr. Holger Flick
Delphi & Mormot: the full-stack developerâs guide, by Kaneda Shotaro
2022:
Delphi Thread Safety Patterns, by Dalija Prasnikar
Delphi Legacy Projects: Strategies and Survival Guide, by William Meyer
2021:
TMS Software Hands-on with Delphi: Multi-tier, cross-platform data access and visualization in grids, by Dr. Holger Flick
Object Pascal Handbook Delphi 10.4 Sydney Edition: The Complete Guide to the Object Pascal programming language for Delphi 10.4 Sydney, by Marco Cantuâ
Fearless Cross-Platform Development with Delphi: Expand your Delphi skills to build a new generation of Windows, web, mobile, and IoT applications, by David Cornelius
Delphi Event-based and Asynchronous Programming, by Dalija Prasnikar and Neven Prasnikar
2020:
How to Program Effectively in Delphi for AS/A Level Computer Science, by Kevin Bond
The Little Book Of Delphi Programming: Learn To Program with Object Pascal (Little Programming Books), by Huw Collingbourne
Delphi GUI Programming with FireMonkey: Unleash the full potential of the FMX framework to build exciting cross-platform apps with Embarcadero Delphi , by Andrea Magni
There are many other books in other languages (German, Portuguese, French, etc.), but I can only read English.
You can find all these books on any of these sites: Amazon, Leanpub, Packt or Google books.
If I missed any, let me know in the comments.
Donât forget the excellent https://delphi-books.com site maintained by MVP Patrick Premartin.
Dalija P has a new book.
Delphi Quality Driven Development.
25% discount until the end of February (!)
Table of Contents
Introduction
Part 1. Software Development Process
-
Quality Factors
-
Software Development Cycle
-
Work Smarter, Not Harder
-
Donât Let Rules Rule
-
Use the Source, Luke!
- Version Control Systems and Terminology
- Git, GitHub⌠I donât git it
-
Working With Git
- Creating a Repository
- .gitattributes configuration file
- .gitignore configuration file
- Adding files and committing changes
- Branching and Merging
- Single branch
- Trunk-based development (GitHub flow)
- Git flow
- Master-Develop-Feature
- Merge vs Rebase
- Resolving and avoiding merge conflicts
- Creating a Repository
-
Issue Tracking Systems
Part 2. Documentation, Planning, and Design
-
Software Project Documentation
- Minimum Viable Product and Future Extensions
-
Start, Planning, and Design
- Concept Document - White Paper
- Software Requirements Specification
- Software Design Document
-
Source Code and API Documentation
-
Testing Documentation
- Test Case
- Test Case Scenario
- Test Case Document
Part 3. Introduction to Testing
-
Development and Testing
- Test Early
- Manual Testing
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
-
Introduction to Unit Testing
- Manual Testing
- Unit Testing
- DUnit Template Wizard
- DUnit Test Workflow
- Writing and Running Simple Tests
- Extending the Test Suite
- Testing Corner Cases
- Testing Exceptions
- Testing the Destruction Process
- DUnit Validation Methods
-
Testing with DUnitX
- DUnitX Validation Methods
- Running DUnitX in GUI
- DUnit vs DUnitX
- Migrating from DUnit to DUnitX
-
DUnit Extensions
-
TestInsight
-
Unit Testing Principles
- Test Repeatability
- Speed
- Code Paths and Functionality Coverage
- Testing Implementation Details
- Testing in Isolation
- Single Test Case per Unit Test
- Test Granularity
-
Test Doubles
- Dummy Test Double
- Fake Test Double
- Stub Test Double
- Spy Test Double
- Mock Test Double
-
Test-Driven Development - TDD
-
Red-Green-Refactor Steps
-
Refactoring
- Internal refactoring
- External refactoring
-
Speeding Up the TDD Process
-
Follow TDD or Not?
-
False Expectations
-
-
Think Before You Code
Part 4. Test Cases
-
Test Cases
-
Testing Methodologies
- Black-Box Testing Methodologies
- White-Box Testing Methodologies
-
Black-Box Testing
-
Equivalence Partitioning & Boundary Value Analysis
-
Decision Tables
-
Causeâeffect Graph
-
State Transition Testing
-
Classification Trees
-
-
White-Box Testing
- Static Code Analysis
- Control Flow Graph
- Statement Coverage
- Branch (Decision) Coverage
- Path Coverage
- Basic and Multiple Condition Coverage
- Function Coverage
- Loop Testing
- Data Flow Testing
-
White-Box Metrics
- Cyclomatic Complexity Metric
- Rapps-Weyuker Metrics
-
Code Coverage Tools
-
Test Data & Scenarios
- Valid Data or Scenario
- Invalid Data or Scenario
- Special-Context Values
- Boundaries & Data Around Boundaries
- Booleans
- Enumerated Types
- Integer Numbers
- Floating-Point Numbers
- Fixed-Point Numbers
- Date and Time
- Pointers, Objects, and Interfaces
- Procedural Types
- Records
- Arrays and Buffers
- Characters and Strings
- Specifications
- Choosing the best string type
- Indexed string access
- Character buffers allocation
- Collections and Sets
- Variant Types
Part 5. Development & Testing
-
Writing Testable Code
-
Never Say Never: Existing Code
-
Global State
- Minimizing Usage of Global State
- Changing Global State
- Wrapping Global State
- Procedural Types
- Singletons
-
Dependencies & Decoupling
- Dependencies
- Heavyweight dependencies
- Simple, commonly used classes
- Dependency is an integral part of the system under test
- Code performance and complexity
- Unit testing performance
- Other considerations
- Dependency Injection
- Constructor injection
- Property or field injection
- Method injection
- Factory method
- Abstract factory
- Dependency injection container
- Metaclasses
- Dependency Architecture
- Interfaces
- Classes and metaclasses
- Adapter and facade patterns
- Dependencies
-
Testing Generics
-
Testing Multithreaded Code
- Extract Unrelated Functionality
- Thread and task termination
- Communicating with GUI
- Waiting for Threads or Tasks
- Testing Thread Safety
- Anonymous Methods
- Extract Unrelated Functionality
-
Integration Testing
-
Testing GUI
- Extract Testable Code
- Add Abstraction Layers
- Use Messaging Systems
Part 6. Integration & Deployment
-
Integration & Deployment
-
Integration & Deployment Automation
- Automation Tools
- Build
- Test
- Deliver & Deploy
Appendix
- References
Bought, only skimmed so far but looks like a good read.
Thanks for posting this Paul.
Dalijaâs books are truly excellent.
The github repository for the book is not available as at 14 Feb 2025.
Iâll mention it to Dalija. I will be speaking to her at some point during the day,
MARCO CANTU âŚ
Mastering Delphi 5 2025 Annotated Edition
This is my present to the community for Delphiâs 30th anniversary, an annotated edition of a classic Delphi book with comments and information about core changes to Delphi since the book was first published. PDF is available for free.On the day of Delphi 30th anniversary, Iâm making available at first partial version of Mastering Delphi 5, with annotations and some new images taken in Delphi 12
I donât know if his website is overloaded
I wasnât getting anything back just now.
https://web.archive.org/web/20250214154011/https://blog.marcocantu.com/
Marco Geuze released the 7th chapter of his book Pioneering Simplicity, for the 30th Anniversary of Delphi.