Some of you may have heard of me; I've written a number of books on Pascal and Delphi, some going back to 1985 and Turbo Pascal 2.0.
Right now I'm in the process of adapting my 1993 book Borland Pascal 7 From Square One to FreePascal, and will be making it a free ebook, in PDF format. The page size will be A4, just like the FreePascal documentation itself. For the examples and screenshots, I'm going to be using Lazarus as the IDE, but will not be covering the GUI builder or other advanced features. The book will focus on the fundamentals of the Pascal language as implemented by FPC. It won't even go as far as objects, as there's plenty to learn first. (I am considering an adaptation of my book The Delphi Programming Explorer for Lazarus later on, as an introduction to OOP and GUI builder-style LCL development.)
Because the book is intended for absolute beginners, I want to make the examples as easy to understand as possible. And to that end, what I'd like to have is a new option for the "Create a new project" dialog in Lazarus: an "elementary program" that assumes the default FPC mode and does not incorporate any conditional compilation commands, as the current options "Program" and "Custom program" do.
If you're a newcomer to programming and Pascal, this seems a little forbidding:
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
begin
end.
That's what you see today when you create a new "Program" project under Lazarus. How about something like this:
program Project1;
uses
Crt;
begin
end.
I looked around but I don't see any way to create a new option for the "Create a new project" dialog. The Crt unit is plenty for starters, and as additional units become necessary for the examples, I'll explain what units are and how to include them.
I'd call this option "Elementary program." For the description, I'd suggest: "The simplest possible framework for a FreePascal program, useful when first learning the Pascal language."
So. What are the chances?
Thanks much in advance for your help!
--Jeff Duntemann
Colorado Springs, Colorado, USA