[Lazarus] Teaching Pascal at College

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Fri Oct 14 08:28:32 CEST 2016

On Thu, Oct 13, 2016 at 3:13 PM, Erwin van den Bosch via Lazarus <
lazarus at lists.lazarus-ide.org> wrote:

> Although I use Free Pascal/Lazarus a lot (because we have a lot of
> existing pascal code) I think C++ and some GUI framework like QT might be a
> better option. C/C++ is the number one used programming language. C/C++
> code is much more portable to other systems. There are more compilers. QT
> has a very nice IDE (QT Creator) and is available for Windows, Mac and
> Linux. Nobody is using Pascal these days. So why learn it?
> I'm not a big fan of the RAD development way any more. (I was years ago).
> The problem is that you should separate your business logic and the GUI.
> With Delphi like RAD it's very difficult to do that. (but it is possible)
> Everything is coded in events and connected to database aware GUI controls.
> (In the case of a database application)
> Another problem with the RAD way is that a lot is stored in forms (.lfm
> files) and it's difficult to see/notice changes to those files. They can be
> very big and it's difficult to see if some control is missing, for example,
> an event or so. The Lazarus IDE does frequently change the properties of
> controls on the form. For example the width and the height properties
> frequently change with no reason as it seems. As specially when you do
> development on both Windows and Linux. That makes tracking code changes
> (and so potential new bugs) not very easy.
> Regards,
>     Erwin

I consider QT a very big trap . Please be careful about its license if you
want to develop commercial software and also if you want to teach computer
programming to the students that they will work for commercial companies .

I am seeing many student projects in , especially , Github , which I
consider a total disaster for the students because over time , when they
start as a worker in a commercial company , they will not be able to use
their knowledge if the company does not buy a commercial license from QT
owner .

Trap is the following : QT is using LGPLv2 license in some parts . This
seems to be a good choice , BUT , the same sources are using in some parts
LGPLv3 ( Three ) license . Since software is developed or contributions
accepted by QT owner , this LGPLv3 license is NOT compulsory , means they
can have it LGPLv2 license .  Really , I consider GPLv3/LGPLv3 licenses not
suitable for a service to humanity as a whole because they are very hostile
to commercial companies . If any LGPLv3 part is used , is only a disaster
for all of the other software . In QT , this fact is a seemingly hidden
trap .

I am not a commercial person . I am a retiree of the Government of Turkey
from a State University .
I have attempted to a  business to produce furniture , it turned to be a
disaster . I decided that business activities is not for me . I am trying
to produce software to supply it to market just to obtain money at least to
support its maintenance . If more money , there may be possibility to
produce more software .

I know that software development is an extremely costly process . To try to
enforce commercial companies to make their software open source
unconditionally , really it is not a friendly action .
Or trying to entrap into a situation that they will be enforced to buy a
software by tricking them in any way .

It is not my business to discuss the issues about QT , but it is necessary
to be at least friendly to the people . My trouble is that point . To
expect that everyone ( especially students ) will know  details of the
licenses and their legal consequences is not very realistic . Here , main
responsibility lies on the schools and their instructors . A huge number of
student projects ( in order of many ten thousands ) even does not contain
any single sentence about their license . With this structure , no one of
the students in job search can use their projects to show their
achievements because most of the project copyrights are belong to their
universities . When a software does not contain any explicit license about
what can be done with it , its rule is with respect to copyright laws : You
can NOT touch to this !
So simply .

Since I have mentioned the above issue about student projects , I want to
also mention the following disastrous issue about them :

Quality of projects is so low that ( even in best universities of the world
) , the only my feeling was a big disappointment and sorrow . It is not
necessary to each everything listed in a manual of a programming language ,
but teach a subset that , at least the student can write a program which
can be used in a production environment with its inherent quality . It is
not important of its size also , but its quality .
Quality of software is the most important feature . Use knowledge found in
"Software Engineering" books in a way that it can be used even in an
introductory course .

A starting point may be


Instead of writing fifty useless programs , allow the student to write five
quality programs written in such a way that it can be used in a commercial
product with its full development steps defined in the above page (
including its copyright and license information ).

This point should also be considered with respect to size of software :
Perhaps small , but in sufficient quality .

Thank you very much .

Mehmet Erol Sanliturk

> Op 12-10-2016 om 20:10 schreef Adrian De Armas via Lazarus:
> Hello everyone,
> I am a professor of "introduction to programming". Currently we are
> working with matlab and c.
> Today I had a meeting about doing the module more interesting to the
> students. Currently we teach algorithms making console applications and
> usually I receive questions like "Why don't we do something more modern?".
> I recommended that we should use Pascal in General and Lazarus in
> particular to teach how to create rich GUI Applications and to my surprise
> the idea was well recieved. Now I have to make suggestions about how to
> prepare the module starting from zero. Students do not know how to program
> and I need to include subjects as: variable declaration, operations, if,
> while, for, functions and procedure, arrays and multidimensional arrays.
> I would love to know what you think about making the transition from
> console to GUI.
> This is an exciting opportunity I'd love to make it right.
> Regards
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus-ide.org
> http://lists.lazarus-ide.org/listinfo/lazarus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20161013/7b9770eb/attachment-0001.html>

More information about the Lazarus mailing list