[Lazarus] Some information please

Peter E Williams foss.game.pascal.developer at iinet.net.au
Sun Jul 4 12:22:19 CEST 2010


Hi jjb,

On Sat, 2010-07-03 at 21:19 +0200,
lazarus-request at lists.lazarus.freepascal.org wrote:
> Message: 1
> Date: Sat, 3 Jul 2010 13:58:56 +0100
> From: jjb <realnug at gmail.com>
> Subject: [Lazarus] Some information please
> To: Lazarus mailing list <lazarus at lists.lazarus.freepascal.org>
> Message-ID:
>         <AANLkTinPi7oicCXo-sOJMgKB2_ml4h9hFZaR8pDitdPO at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> I am an interested observer of Lazarus but I know very little about
> it.
> I am interested partly because Pascal was the first language I ever
> used (it
> formed a very small part of a non-CS degree.)

I first used Pascal in about 1989 when I started a Degree in Computing
Studies at the Canberra College of Advanced Education (CCAE)... now the
University of Canberra. I had a sound knowledge of BASIC and database
design. I loved Pascal because I could use my BASIC skills with the
structure of a strongly typed language and enumerated types and if...
then... else and while... do loops (and repeat... until) etc. Remember
that in those days I was used to using Commodore BASIC 4 which didn't
even have an 'else' statement. The only way you could implement an
'else' was with goto. This taught me the evils of spaghetti-code by well
intentioned programmers (amateur and professional) who over-used the
goto statement and wrote code which was impossible to maintain without
rewriting large chunks of code. It also taught me how to write code in
BASIC without needing to use GOTO statements. 

> I understand that this is an open source project so I guess that those
> who
> develop it do so because they love it.
> Are these people users of Lazarus in their day jobs or is Lazarus just
> a
> hobby that they don't ever expect to use professionally?

At the Uni of Canberra (which the CCAE became when I studied there) we
wrote code in Pascal (Apollo Domain Pascal), Turbo Pascal 3, 5, and 5.5,
also C and C++, Assembler, Cobol, Prolog and various databases as well
as lots of theory. Most of the students already knew Pascal from college
so they skipped the lectures and formed groups of 3-5 and developed the
assignments in groups. I was a bit of a loner so I wrote all of my
assignments by myself. That's why I got 9+/10 for all my assignments
(although I did not do well in exams). Those students who bludged on the
group assignments failed the exams. The ones who actually wrote the
code, usually only 1-2 of the groups did well in the exams, because the
exam questions were based on the assignments. That's why I passed the
exams.

I had a good work ethic and wrote my assignments weeks in advance,
living on campus and often computing late into the night. Other students
left it all to 1-2 days before the assignments were due then panicked. I
can recommend learning how to draw Nassi/Schniderman Charts for your
procedures and making friends with computer lecturers and programmers. 

I wrote a NS chart for EVERY procedure of ALL my program code... and
handed it in with a complete listing on 132 column paper. This was a
requirement for the assignments. I don't draw NS charts any more but it
is worth learning HOW to draw them. I prefer NS charts to flowcharts
because with flowcharts it is too easy to write spaghetti-code. We were
taught NS charts in the lectures but many students skipped the lectures.

> I only found Lazarus by accident it seems to have a much lower profile
> than
> other open source stuff (eg python, php, java etc).
> Is there a reason for this?
> Where in the world is Lazarus popular/not so popular. I see that there
> is a
> german language textbook that may be translated to english sometime.

I would like to see this book translated also. I have about 15-20 books
on Delphi but none on Lazarus. Is there a good English lazarus textbook
that we can buy??? Alternatively, is there a PDF version that I can
download and send it to a photocopy shop for printing without infringing
copyright laws??? URLs please???

> The level of skill in this mail group seems quite high. Do people come
> to
> Lazarus as already skilled programmers in other
> languages as I don't see many newbies asking simple questions.
> Or is it the case that people here are older on average and cut their
> teeth
> when Pascal was more popular?

See my comment about about languages taught at Uni of Canberra. I loved
Pascal because it was structured and typed in contrast to BASIC (in
1989) which I had a high skill level in. Also Pascal was standardised
whereas BASIC was not.

> I guess I'm asking in a roundabout way if this community is growing.
> 
> I have read in Delphi discussions many times people talking about how
> to
> make the language more popular.
> One of the issues always brought up is price. Lazarus doesn't have
> this
> problem so I wonder
> if price is a factor in Delphi's relative unpopularity.

Remember that Delphi 5 Standard was AUD$99 and it did not come with the
source code for many units. If you wanted to get all the source code
then you needed to buy Delphi 5 Enterprise for about AUD$2500-3000. Yes,
cost was prohibitive to a hobby developer. That meant that often-times a
developer would buy one particular version then resist upgrading. Also
don't forget that if you wanted to port Delphi code from one version to
the next one then you needed all the source code. If you just had
the .TPU file and not the .pas file then you were stuffed. You either
needed to find the .pas file or a replacement for it or rewrite it...
which was not always practical.

I worked for the Australian Navy as a Defence Public Servant and much of
our communications programs were written in Turbo Pascal for OS/2 then
ported to ADA and Visual Basic and C/C++. Ada was the Defence forces'
standard programming language because of the work done with it in USA.
When MS-Windows took off OS/2 lost popularity. I tried and failed to
convince the bosses at work to port their Pascal and ADA code to Delphi.
Delphi was not popular enough. They chose to rewrite a lot in MS C/C++
because that was a Micro$oft product and was officially supported by
Micro$oft. I always thought that this was a big mistake but because I
was a draftsman who also developed databases and websites and not a
programmer, my advice was ignored. 

> My thinking is that languages need to get the kids interested and the
> way to
> do this is game development.
> I believe that C++ is the language of the serious game developers. I
> also
> believe that object pascal provides
> almost the same power as C++ but without a lot of the pain. Correct me
> if I
> am wrong as I don't know any of this from experience
> only from reading.
> I recently bought my 9 year old son this book The Game Maker's
> Apprentice<http://www.amazon.com/Game-Makers-Apprentice-Development-Beginners/dp/1590596153/ref=sr_1_1?ie=UTF8&s=books&qid=1278161293&sr=8-1>
> and
> he is working his way through it at the moment.

Look at this page.
https://sites.google.com/site/pewtas/home/delphi_source_code

It is my Delphi Source code page on my personal website and contains
about 11 Delphi open source games. None of them use graphic libraries.
All code is for Delphi (5) and are fully working and fully debugged open
source code & copyright to me. Feel free to port them to lazarus if you
like to ... that is what I plan to do. Please, if you do port any of
them or have problems with them then email me. Also, if you derive games
from them then please credit my work in the about dialogue and send me a
copy.

The only one which uses graphics is Frog! Retro Remake Game which is my
first graphics games and uses the Delphi graphics routines and my own
unit for graphics which is strongly derived from OpenGL but without
needing it. Instead I ported the unit for OpenGL Mono Fonts to Delphi 5
and rewrote it not require the OpenGL library. I have since written it
to be improved but a minor bug prevents me from releasing my latest
version of the new Frog! game. I *MAY* release it in about 2-4 months,
depending on time, interest and priorities.

> It comes with software enabling users to easily create 2D games with
> all the
> bells and whistles (lives, health, levels, explosions) and supplies
> lots of resources (images and sounds) for sprites etc. For most of the
> book
> users learn to create games by instancing built-in objects
> and altering their attributes and behaviour. Only later in the book is
> coding introduced to enable users to extend beyond what's provided.
> I think it's a wonderful but imagine if the language that was
> introduced was
> object pascal!

OpenGL etc can do all that. I am not experienced in using these so I
cannot provided examples. Look in the examples folder of lazarus and on
the open source archives. Does someone have a URL for this???

> I would be grateful for any information. 

I has been my pleasure to answer your questions.

Peter aka pew
Hobart, Tasmania, Australia.

-- 
Proudly developing Quality Cross Platform Open Source Games
Since 1970 with a Commodore PET 4016 with 16 KRAM
http://pews-freeware-games.org (<--- brand new -- still under development)





More information about the Lazarus mailing list