[Lazarus] Lazarus Goal

Martin lazarus at mfriebe.de
Fri Nov 13 00:26:03 CET 2009


Brian Prentice wrote:
> My point about showing the differences in the dialogs, one acceptable 
> and one clearly not acceptable, is that the solution seems to require 
> the construction of two dialogs one for OS X and one for WindowsXP.  
> Perhaps I'm wrong here but if I'm right this violates the Lazarus and 
> FPC goal of write once. I don't want to start a war here but as you 
> probably know Java has solved this problem nicely with layout 
> managers.  If layout managers were implemented in Lazarus the IDE 
> would also be simpler, an additional advantage.
Answered inthe mean time by others => use anchors
>
> Earlier in this thread it was stated that when designing an 
> application consideration should be given to the differences in the 
> underlying operating systems.  This might be true but if you do this 
> you severly weaken the stated goal which would then read something like:
>
> 'Lazarus and Free Pascal aim to be write once, compile anywhere for 
> those programs which only use the supported operating system features 
> that share a common design'.
>
> Surely a better approach for Lazarus and FPC is to hide operating 
> system difference from users.
Yes and no.

Lazarus aims to hide those differences. Examples:
- automatic placements of the about menu in different main menus (Mac vs 
Windows)
- automatic showing/hiding of Icons on buttons, depending on the OS default.

The difference to Java is. Lazarus offers both:
1) Functionality available on all OS
2) Functionality available on selected OS only.

Java only offers the first. And yes of course, that is easier for 
someone new to cross-OS develpment, because it protects you from errors.

Lazarus does not protect you from doing things that are not portable. On 
the other hand it offers additional features for people who only need 
one OS.

As far as components go, restrictions can be seen in the Object 
inspector. As far as source-code goes: Lazarus can not warn you. (This 
would require intelligent analysis of the source, something that only 
humans can do)

Conclusion:
Java forces you do do portable code
Lazarus offers this do you


Martin




More information about the Lazarus mailing list