[Lazarus] Release 1.0, part 2

Mattias Gaertner nc-gaertnma at netcologne.de
Wed Dec 2 00:47:47 CET 2009


On Tue, 01 Dec 2009 15:58:30 -0500
Mehmet Erol Sanliturk <sanliturk at ttmail.com> wrote:

> [...]
> In the following pages and the others some useful information may be 
> found about software development and bugs :
> 
> 
> http://en.wikipedia.org/wiki/Category:Programming_bugs
> http://en.wikipedia.org/wiki/Category:Software_anomalies
> http://en.wikipedia.org/wiki/Category:Computer_errors
> 
> 
> http://en.wikipedia.org/wiki/Category:Maturity_models
> http://en.wikipedia.org/wiki/Capability_Maturity_Model
> 
> 
> http://en.wikipedia.org/wiki/Category:Software_project_management
> http://en.wikipedia.org/wiki/Software_Peter_principle
> http://en.wikipedia.org/wiki/No_Silver_Bullet
> http://en.wikipedia.org/wiki/Software_rot
> http://en.wikipedia.org/wiki/Software_brittleness
> http://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution
> http://en.wikipedia.org/wiki/Software_entropy
> http://en.wikipedia.org/wiki/Software_quality
> http://en.wikipedia.org/wiki/Computer_bug

Nice list. :)

 
> Unfortunately , there is a concept < law of conservation of bugs >
> mentioned in the page
> 
> http://www.site.uottawa.ca:4321/oose/index.html#lawofconservationofbugs

Well. What counts as bug?
The svn changes?

 
>[...]
> My opinion is that discussion about Lazarus version numbers is not 
> converging to a solution .
> 
> My suggestions are as follows :
> 
> 
> Move Lazarus Components Library into Free Pascal at the side of FCL .
> Renumber its version to Free Pascal Version .

The FCL code and the LCL code is maintained by completely different
people.

 
> Maintain Lazarus as only IDE , and use Free Pascal as compiler .

Separating IDE, components and LCL would be possible (debian is going
into this direction) and from marketing point of view an 1.0 IDE, some
1.0 components and a 0.9.28 LCL may sound better.
But:
- there are many developers asking for bigger bundles instead of smaller
ones (see code typhoon and fppkg).
- In every release until now there were new features in the LCL that
  were supported in the IDE, so both had to be released in parallel.
  The next release will be no exception, because of resources and build
  modes.
- Using separate versions would increase confusion.

 
> Remove Free Pascal from inside of Lazarus . It is physically unnecesary 
> to keep it inside of Lazarus .

Free Pascal is only installed by the windows installer there.
All other systems install Free Pascal as separate package at a separate
location.


> Instead of including Free Pascal into Lazarus , mention which Free 
> Pascal lowest numbered version is able to compile it .
> 
> For the Free Pascal there are Language Reference Guide and Programmer´s 
> Reference Guide .
> These are related to documentation of respective Free Pascal version .
> 
> There is no ( with respect my knowledge ) a Free Pascal Language Design 
> Specification .
> My idea is that discussion should go on this Specification document . 
> Free Pascal versions
> will be implementation of this specification as much as possible .

This topic should be discussed on the fpc-devel list.

 
> In Lazarus wiki there are very good pages about which parts are 
> implemented and which parts require further work ( To Do List ) .
> These works may be converted to a Lazarus Design Specicifation document 
> and development may be pursued with respect to that document .
> 
> Assume that specifications are numbered as Version 1 .
> When Lazarus fully implements that specification its version will be at 
> least the version of the specification . Without such specification 
> version numbering will not be able to show any measurable entity .

True.
At the moment the bug tracker is used for this, which is not a good
specification.

For example: eight years ago the specification for 1.0 would be
something like this:
- half the debugger that we have now
- 30 controls on windows + linux with half the properties we have now
- some IDE features

In other words: Lazarus is already far beyond that.
It would be possible using IFDEFs to create such a release.

 
> When the following sites are studied one point may be noticed :
> 
> http://delphi.icm.edu.pl/
> http://www.torry.net/
> 
> Nearly all of the presented sources contain information about which 
> Delphi versions may compile the sources ( means that there is a very 
> strong dependency of source syntax and sometimes semantics to Delphi 
> version ) .
> 
> I think , later on , Lazarus and Free Pascal compilable sources will 
> start to mention version dependency explicitly .

I think this is different.
Delphians have no choice which version to use, they must live with the
version they bought/can afford. For lazarus/free pascal components it
makes no sense to support a five year old compiler or five year old
lazarus.

 
> Now , it seems that most requested feature is to enlarge
> the Free Pascal and Lazarus but maintain exact backward compatibility .
> I consider such a possibility is an impossibility . My policy is to use 
> a smallest possible subset of a language which this subset may not be 
> changed over time or changes are so small that does not break my 
> programs severely .

Difficult.
Lazarus has to catch up with Delphi, with FPC, with several operating
systems and with several widgetsets and with a few features of its own.
The smallest stable subset is therefore very small - too
small for many applications.


Mattias




More information about the Lazarus mailing list