![]() |
- Last week I made a course teaching modern Pascal, organized by BSC (Embarcadero branch in Poland). We started from basics (structural and imperative programming, classes) and went on to advanced things (TComponent, various ways to deal with memory management, class references, generics, and more). It total, it was 2 days * 6 hours. Mostly lectures, i.e. “Michalis talking and showing”, but also with some time to do exercises in Delphi.
I was happy to got very positive feedback from the participants! To let everyone benefit, I’m publishing materials from it:
- Repository with all (38, as of now) examples: https://github.com/modern-pascal/modern-pascal-course
We used Delphi during the course, but I made sure all information and examples is compatible also with the open-source FPC compiler. For this, we used FPC Delphi mode syntax.
We use GitHub Actions to make sure this is true: all the examples compile with FPC and Delphi. I created a new GitHub organization for this, https://github.com/modern-pascal/, useful to use my self-hosted runners with Delphi across non-CGE projects.
-
To not stop above, I pushed an upgrade to our Modern Object Pascal Introduction for Programmers.
This updates a few things, most notably adds a section Compilers and FPC “syntax modes” and adjusts all the text and examples to be relevant for Delphi too. Where the feature is FPC-specific (like CORBA interfaces or global operator overloads), we mention it clearly. Just like with Castle Game Engine, we want to support both compilers in all teaching materials.
The examples in the book still use the FPC ObjFpc mode, with some differences between ObjFpc and Delphi modes. When using FPC, this is the recommended mode (default in Lazarus and CGE projects), so we want to show it, even though it’s a bit more work.
Have fun with modern Pascal! If you like this work, please support us on Patreon.
Start the discussion at Castle Game Engine Forum