Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2009-12

QT bindings as defalt (was Release 1.0, part 2)

13 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Phil Hess

One of the points about Orpheus and other ported packages that I should probably make is that I've been in contact with Roman Kassebaum who maintains the Orpheus SourceForge projects and recently updated Orpheus for Unicode on Delphi 2009/2010. We've discussed possibly merging our codebases and also possibly trying to support DelphiX when/if it's released.

Fortunately since I maintained full Delphi compatibility in my port, that should make merging a bit easier. But I have to say that Roman was quite dismayed to learn that ports of many other packages that he uses were done as one-way ports to Lazarus, leaving Delphi compatibility behind. I could sense his interest in Lazarus quickly dissipating.

Roman's largest app is 2.3 million lines of code! I've been encouraging him to see how much of it he can get compiled with Lazarus, not so much to offer the app on other platforms, but as a way of further testing his code and expanding his world (in the U.S., engineers call this sort of effort a "skunkworks" project - historically lots of great original things come out of those). This would also be a good test of Lazarus. But if the other packages have changed significantly from their Delphi sources, then this might be difficult for him to do.

Thanks.

-Phil

----- "Felipe Monteiro de Carvalho" wrote 28 lines
On Tue, Dec 1, 2009 at 1:24 PM, Phil Hess wrote: > Good point, although if you recall the history of this port, it started with the only two widgetsets that worked back then: win32 and gtk1 - the others just came along for the ride. I'm not even sure that LCLWin32 was defined back when I started. I would bet they were already defined, they are extremely old. > Does anyone use Qt on Windows though? That doesn't make sense to me. Why put another layer on top of Windows when win32 works quite well? And without any auxiliary libraries. Less work to port between LCL platforms. If you use LCL-Qt in all platforms your port effort between them is minimal (if necessary), both because you are using the same LCL-Qt codebase instead of multiple widgetset codes with various states of supported components and because Qt is not a native toolkit, it just looks native but has custom painting which helps it be very consistent across platforms. -- Felipe Monteiro de Carvalho -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Graeme Geldenhuys
to Phil Hess
Phil Hess wrote
that should make merging a bit easier. But I have to say that Roman was quite dismayed to learn that ports of many other packages that he uses were done as one-way ports to Lazarus, leaving Delphi compatibility behind.

To be fair, Delphi itself was left behind for a few years and started looking like it was heading the way of Kylix. Same applies to many component suites. So in that case why bother with the extra effort to keep compatibility with a dead product.

Now speaking as somebody that has ported a fare share of components and complete projects to other GUI toolkits. Most of the time changes will never be back-ported to the original project. Plus, it's hard enough already to port a component to another GUI toolkit, and then you expect to obfuscate the code even further with IFDEFs just to keep it alive for two compilers and various GUI toolkits - that's crazy. And double work!

Take TSynEdit for example. The code has changed such a lot from the original, I don't think anybody will be able to backport Lazarus's synedit to the original code. So why not simply clean up the Lazarus code and remove all those damn IFDEFs so the code is actually readable.

All I do is try and notify the original author to let them know their component or project lives on in another project and keep the credits or copyright notice in the units.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Phil Hess
to Graeme Geldenhuys

Graeme,

If Delphi is dead, then what's Lazarus?

The subtext is that with Delphi you can pull off the hat trick of a 2.3 million line app that sells for big bucks and where the client does not tolerate bugs or instabilities or excuses. Can anyone make that claim for Lazarus?

Thanks.

-Phil

----- "Graeme Geldenhuys" wrote 50 lines
Phil Hess wrote: > that should make merging a bit easier. But I have to say that Roman > was quite dismayed to learn that ports of many other packages that he > uses were done as one-way ports to Lazarus, leaving Delphi > compatibility behind. To be fair, Delphi itself was left behind for a few years and started looking like it was heading the way of Kylix. Same applies to many component suites. So in that case why bother with the extra effort to keep compatibility with a dead product. Now speaking as somebody that has ported a fare share of components and complete projects to other GUI toolkits. Most of the time changes will never be back-ported to the original project. Plus, it's hard enough already to port a component to another GUI toolkit, and then you expect to obfuscate the code even further with IFDEFs just to keep it alive for two compilers and various GUI toolkits - that's crazy. And double work! Take TSynEdit for example. The code has changed such a lot from the original, I don't think anybody will be able to backport Lazarus's synedit to the original code. So why not simply clean up the Lazarus code and remove all those damn IFDEFs so the code is actually readable. All I do is try and notify the original author to let them know their component or project lives on in another project and keep the credits or copyright notice in the units. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Graeme Geldenhuys
to Phil Hess: If Delphi is dead, then what's Lazarus? The subtext is that with Delphi you can pull off…
Phil Hess wrote
If Delphi is dead, then what's Lazarus?

What I meant to say was that after about Delphi 7 and the rise of Visual Studio + .NET, Delphi took a major hit in popularity. Combine that with Borlands many failed attempt at getting into .NET and then deciding to sell Delphi, the future looked bleak.

This is what I meant with the uncertain future of Delphi (looking similar to Kylix). That's the time our company moved to FPC and Lazarus. The open source toolchain had a brighter future, so the idea of keeping ported components active for Delphi did not seem worth the effort.

Embarcadero seems to be doing a better job with Delphi now, so maybe now there is more intensive to keep backward compatibility with Delphi. But I'm not going to bother.

The subtext is that with Delphi you can pull off the hat trick of a 2.3 million line app that sells for big bucks and where the client does not tolerate bugs or instabilities or excuses. Can anyone make that claim for Lazarus?

Well, our application is not quite that big, sitting around 300,000 lines of code at the moment. Our product also sells well (I'm still employed <wink>), and has an install base of over 15,000 computers. So yeah, I don't think we are doing to bad considering we are not using a commercial product like Delphi, but rather open source software like FPC and Lazarus.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Martin
to Graeme Geldenhuys
Graeme Geldenhuys wrote 8 lines
Marc Weustink wrote: > That process is already started. > I take it you mean cleaning up the code and not "backporting to the original code". In that case, excellent news. ;-)

Yes, he means cleaning up.

Some of the IFDEF have been removed already, and the only supported/compiling version is the Lazarus version. The original SynEdit also has code that in LazArus is part of the LCL => that is also gradually removed from SynEdit, to use the LCL instead.

Martin

Reply by email

Phil Hess
to Graeme Geldenhuys: What I meant to say was that after about Delphi 7 and the rise of Visual Studio + .NET,…
----- "Graeme Geldenhuys" wrote 14 lines
> The subtext is that with Delphi you can pull off the hat trick of a > 2.3 million line app that sells for big bucks and where the client > does not tolerate bugs or instabilities or excuses. Can anyone make > that claim for Lazarus? Well, our application is not quite that big, sitting around 300,000 lines of code at the moment. Our product also sells well (I'm still employed <wink>), and has an install base of over 15,000 computers. So yeah, I don't think we are doing to bad considering we are not using a commercial product like Delphi, but rather open source software like FPC and Lazarus.

Well, I guess you can say you're within an order of magnitude of that 2.3 million lines.

By the way, Delphi 2010 compiles that 2.3 million lines of code in 70 seconds, including linking and creating a map file.

The 2.3 does not include any Delphi RTL/VCL source or 3rd party components.

Thanks.

-Phil

Reply by email

Michael Van Canneyt
to Phil Hess
Phil Hess wrote 21 lines
----- "Graeme Geldenhuys" wrote: >> The subtext is that with Delphi you can pull off the hat trick of a >> 2.3 million line app that sells for big bucks and where the client >> does not tolerate bugs or instabilities or excuses. Can anyone make >> that claim for Lazarus? > > Well, our application is not quite that big, sitting around 300,000 > lines of code at the moment. Our product also sells well (I'm still > employed <wink>), and has an install base of over 15,000 computers. > So > yeah, I don't think we are doing to bad considering we are not using > a > commercial product like Delphi, but rather open source software like > FPC > and Lazarus. Well, I guess you can say you're within an order of magnitude of that 2.3 million lines. By the way, Delphi 2010 compiles that 2.3 million lines of code in 70 seconds, including linking and creating a map file.

Strange.
It takes longer to compile my work project, which is around 700.000 lines. It takes up to 5 minutes to compile on any reasonable new computer.

Just to say:
Giving such numbers is quite dangerous, because It all depends on the file layout, number of packages and whatnot.

For fun, I created a small program that creates program code for 2.3 million lines distributed over 460 units (approx 6000 lines per unit), and a program that calls a routine from each unit.

The 64-bit compiler compiles it all in 1m53s. Given that the 32-bit compiler is much faster than the 64-bit one, I think it's close to a tie with Delphi.

Michael.

Reply by email

Graeme Geldenhuys
to Phil Hess: Well, I guess you can say you're within an order of magnitude of that 2.3 million lines.…
Phil Hess wrote
By the way, Delphi 2010 compiles that 2.3 million lines of code in 70 seconds, including linking and creating a map file.

I know Delphi is fast, but that is very fast. We have already had a discussion why Delphi could be so fast, so we will not go into that again. Just the highlights: Delphi is only for one platform, the code could be optimized like crazy because it is only for one architecture, only x86 ASM is needed pascal code etc...

FPC has many other requirements like maintainability and cross-platform etc, which all causes it to take a slight speed penalty.

Either way: FPC + very large complex code base = a nice deserved coffee brake. :)

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Michael Van Canneyt: Strange. It takes longer to compile my work project, which is around 700.000 lines. It…
Michael Van Canneyt wrote
For fun, I created a small program that creates program code for 2.3 million lines distributed over 460 units (approx 6000 lines per

This made be laugh. Don't you think software developers have a weird idea of what is considered 'fun'? :-) Try and explain that to my wife!

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 7 lines
Michael Van Canneyt wrote: > > For fun, I created a small program that creates program code for 2.3 > million lines distributed over 460 units (approx 6000 lines per This made be laugh. Don't you think software developers have a weird idea of what is considered 'fun'? :-) Try and explain that to my wife!

You should try explaining to my wife. She hates computers already :-)

Michael.

Reply by email

Marco van de Voort
to Phil Hess: If Delphi is dead, then what's Lazarus? The subtext is that with Delphi you can pull off…
Phil Hess wrote 5 lines
The subtext is that with Delphi you can pull off the hat trick of a 2.3 million line app that sells for big bucks and where the client does not tolerate bugs or instabilities or excuses. Can anyone make that claim for Lazarus?

If you have the "nobody got fired for choosing the default" mentality, one shouldn't even be using Delphi nowadays.

Reply by email