• Open Daily: 10am - 10pm
    Alley-side Pickup: 10am - 7pm

    3038 Hennepin Ave Minneapolis, MN
    612-822-4611

Open Daily: 10am - 10pm | Alley-side Pickup: 10am - 7pm
3038 Hennepin Ave Minneapolis, MN
612-822-4611
Modern Pascal Programming: Going From Intermediate to Advanced

Modern Pascal Programming: Going From Intermediate to Advanced

Paperback

Series: Computer Programming Languages, Book 11

Programming

ISBN13: 9798176443516
Publisher: Independently Published
Published: Sep 22 2026
Pages: 388
Weight: 1.14
Height: 0.80 Width: 6.00 Depth: 9.00
Language: English
You know Pascal. You can write programs that work.

Now it is time to learn how to write software that lasts.

Modern Pascal Programming: Going From Intermediate to Advanced, Volume 2 picks up where Volume 1 leaves off and takes the Pascal programmer into professional software engineering. The emphasis is not on learning more syntax for its own sake, but on learning how to design, build, test, secure, and ship software that remains understandable and maintainable long after the original code was written.

You will work with Free Pascal 3.2.2 and Lazarus 4.8 while building a substantial application from the ground up: the Pascal Data Explorer. By the end of the book, you will have built a cross-platform desktop application that indexes file systems, stores metadata in SQLite, supports full-text search, communicates with network services, performs background processing, and includes a complete test suite.

Along the way, you will learn:

  • Software engineering principles, decomposition, cohesion, coupling, interfaces, dependency management, and refactoring
  • Advanced Pascal types, enumerations, sets, variant records, pointers, dynamic memory, arrays, and managed types
  • Advanced object-oriented Pascal, including interfaces, abstract classes, composition, factories, dependency injection, and runtime type information
  • Generic programming, generic collections, repositories, algorithms, constraints, and functional patterns
  • SOLID principles, design patterns, layered architecture, and practical application architecture
  • Robust error handling, exception hierarchies, validation, result types, logging, and graceful degradation
  • File systems, streams, binary I/O, JSON, INI configuration, and file-system scanning
  • SQLite database design, parameterized queries, transactions, repositories, search, and maintenance
  • Multithreading, synchronization, thread-safe queues, background indexing, and communication with the main GUI thread
  • Advanced Lazarus GUI programming, including virtual list views, actions, custom components, docking, accessibility, and responsive interfaces
  • HTTP networking, fphttpclient, JSON services, asynchronous calls, retry logic, rate limiting, caching, TLS, and network security
  • Unit testing, integration testing, regression testing, test doubles, debugging, profiling, memory diagnostics, compiler warnings, code review, and safe refactoring
  • Application security, input validation, SQL injection, command injection, path traversal, credentials, API secrets, TLS, least privilege, and secure logging
  • Reliability, fault tolerance, defensive configuration, versioning, cross-platform development, packaging, installers, documentation, and production deployment

Also from

Bailey, John

Also in

Programming