[fpc-pascal] Lazarus and FPC integration

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Sun Oct 30 18:47:24 CET 2005

On 10/30/05, Agustin Barto <abarto at gmail.com> wrote:
> a) Unicode didn't work for me on any (including the lastest) version
> of Lazarus. I don't know if this is a bug related to my particular
> enviroment (x86/FC4) or a limitation of the code editor.

Witch unicode? UTF-8 obviously works on Lazarus as the editor produces
and reads files in this format. I have also worked with lazarus and
XML files, witch are normally in UTF-8.

> b) When I really needed the multiplatform feature of Lazarus, I
> couldn't get the UI to look the same on Windows and Linux. I had some
> serious layout problems. The speed wasn't the same either.

Works perfectly here and with some very fast graphics on both
platforms. I use Anchors and Contraints to maintain appearance when
the form is resized. I don´t know what you used. The speed is good on
both for drawing graphics at 30Hz.

> c) My capstone project did some pretty intensive numerical computing.
> On Delphi it behaved reasonably good. The binaries compiled with fpc
> where OpenOffice.org 2.0 slow! even with aggressive non-portable
> optimizations (obviously this isn't lazarus problem).

My app performed very well doing Fourier Analisys on very big waves on
a 233Mhz machine running Damn Small Linux ... I got pretty impressed.

> d) Most of my work comes from refactoring old code. Lazarus
> refactoring features are pretty basic. This isn't much of a problem,
> though. Most of the Pascal (and ObjectPascal) code I work with is
> beyond refactoring (the language imposed architectural limitations).

How does pascal imposes architectural limitations? FPC even works on ARM...

> e) The problem with beign Delphi-like (or visual design-centric) is
> that it imposes some pretty ugly designs on the programmer, and this
> creates bad habits. For small projects this is obviously not a
> problem, but when you have to reuse code that comes with huge programs
> designed with these methods in mind, it can be a pain in the ass. (not
> entirely Lazarus' fault, though).

What bad designs does it impose the programmer?? I have a big interest
to know because I like to make a as reusable as possible code. Are you
talking about the form designer??

> I've worked with a lot of development enviroments and I can see any
> reason (other than the license) to use Lazarus over others. If I
> *have* to use ObjectPascal on Linux there are no competitors for
> Lazarus, but when I get to choose the language I choose Java/Eclipse,
> Java/NetBeans or any Smalltalk-based IDE if the project requires OO,
> and KDevelop/C for the rest.

And you talked about

here are many reasons to write code in Lazarus and not in c++ or in Java:

I deploy over the internet to a very wide public that may use
extremely slow computers, so I simply *cannot* in anyway force them to
install something that cannot fit a floppy or something that requires
a big library. And it also needs to perform very well with a easy to
use GUI.

This eliminates:
a) C++ using any platform independent library, like gtk, qt,
wxwidgets, etc, because the library is too big to fit a floppy

b) Java because it is slow and I my apps need to run even on a 233Mhz
pc with Windows 95. I cannot force my users to download the virtual

c) VB and it´s ugly run-time. But then VB was already eliminated
because it is a ridiculously weak language.

What I could use:
a) Delphi, and I use it. It is a wonderful option, but is not multi-platform.

b) Lazarus and is multi-platform

c) c++ and deploy only to Windows. I am not convinced that this option
is better then Delphi ... so if I need to be Win only I will choose

I don´t like scripting languages like perl or python because I dislike
the performance penalty they impose. I plan to run on 486s =)

Felipe Monteiro de Carvalho

More information about the fpc-pascal mailing list