On Sun, 7 Mar 2010, Graeme Geldenhuys wrote:

On 6 March 2010 17:51, Michael Van Canneyt <[email protected]> wrote:

I appreciate that some bugs are hard to find. But you are wrong if you think
that rolling your own widgetset will guarantee you less bugs.

Martin (MSEgui) and myself having first hand experience in this will
definitely tell you that there are much less bugs (simply because the
code is simpler), easier to fix bugs too. And to fix a bug it's in one
location for all supported platforms (99% of the time).

The downside to this is: there is also a lot less functionality.
A simpler product is by definition easier to maintain.

As you will introduce more components, you'll also introduce more
bugs, this is inevitable.

And as soon as someone says 'I want native look and feel', you're
in for a lot of work, and again extra bugs, by nature different per platform - and you're in the same situation Lazarus is in now.

But it has been discussed a million times before and not to be
repeated here again. Lazarus wanted to take a different approach, by
having a native look and feel and using native components where
possible. I know this.

I just think that LCL took the wrong approach in there implementation.
Forcing Windows-ism on every widgetset the LCL supports - hence
complicating implementations a lot. Take a look at Qt? No Windows-ism
in it's design, no Win32 API types in it's design etc., yet it
succeeds in the native look and feel on all large platforms.

I 100% agree with the critique about windows-isms.

I would also have preferred the LCL to be a VCL 'without the windows calls'

I think the VCL does a pretty good job of abstracting out the Windows API.
You can program it pretty much without knowing anything about the windows API
(some corner cases aside, such as keyboard key names).

It has always pained me to see lazarus' LCL re-introducing the Windows API
to such an extent.

If I was planning Lazarus' future (for clarity: I am not), I would lay out
for the LCL:

- 1.0 as being what is there now, minus the blatant bugs.
  No features/components added any more.
  (I'm pretty condifent Vincent agrees on this goal)

- 2.0: Get rid of the windows-isms.
  Add a set of controls/features deemed necessary, such as an internet browser.

The IDE itself is another story, there you are more free.

The problematic point is: no-one likes to do bugfixing only.

Michael.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to