Sign in Join

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

Mailing lists / lazarus / 2017-07

Congrats to the FPC/Lazarus projects - job well done!

27 messages · 10 people · –

Reply by email Subscribe to this list Your subscription

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

Graeme Geldenhuys

Hi Guys,

This is just to give everybody that works on FPC or Lazarus a pat on the back. Seriously, you guys are doing an *excellent* job. Even though I am sometimes a bit hard on you guys.

Having moved back to Delphi (I'm using XE at the moment) for a contracting job, I got to the realization how bad Delphi has become. Compared to Lazarus IDE, Delphi IDE is a joke!!

[rant on]

My issues with Delphi IDE in the last two weeks:

- Error Insight (red squiggles for Unknown Identifiers) is horribly broken. My code editor looks as if my 1 year old drew with a red marker all over the screen! More sad news - the IDE Product Manager of Delphi told me personally that the latest Delphi version is better, but there are still many false positives. Oh dear.

- Delphi Project Manager window is useless!
It has drag-n-drop and shows you a nice blue target drop location, but those are all fake features. You can't drag-n-drop units to reorganize your project.
There is a kludge work-around - using F2 to rename a unit (but that too, only works sometimes) by giving it a relative path and file name. But then...
- Delphi IDE doesn't update all references to the old units, in case of a unit rename.
- Delphi IDE doesn't delete or rename the old DCU file, so have fun debugging code that doesn't seem to update, because it is silently using the old DCU file still lying around.
- Delphi IDE doesn't sort the units after a rename. Hell, it's not even sorted after I restart the IDE or reload the project.

- Delphi IDE is so SLOW to start up, and I'm running a beefy Intel i7 with 32GB RAM.

- You can't customise IDE shortcuts. What EMBT gives you is what you are forced to live with. I use a custom Dvorak keyboard layout, and many QWERTY-centric shortcuts are terrible to type using my keyboard layout. Lazarus allows me to customise them as needed.

- Delphi IDE seems to randomly decide some files will contain BOM markers and others not. I still haven't figured out if there is actually any logic in the way it works.

- Delphi compiler gives no hints on unused units.

- Oh why is "Save Project As..." under the File menu and not the Project menu!

- Delphi IDE doesn't have a keyboard shortcut for File -> Open!!! Have they not heard about Ctrl+O ???

- No editor option to switch off "cursor past end of line" feature.

...and this is just the tip of the iceberg!!!

[rant off]

I promise, I'll never complain about Lazarus IDE or FPC again! :) Long live open source development tools.

ps:
There was ONE thing I did like about Delphi - the "File -> New -> XML Data Binding" option, where it generates interfaces and classes to work with XML data or a schema. That was pretty useful. Does Lazarus have something like that yet?

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote
I promise, I'll never complain about Lazarus IDE or FPC again! :) Long live open source development tools.

I have put this little snippet of text aside, so I can use it for future reference ;)

Show quoted text 7 lines
ps: There was ONE thing I did like about Delphi - the "File -> New -> XML Data Binding" option, where it generates interfaces and classes to work with XML data or a schema. That was pretty useful. Does Lazarus have something like that yet?

Not to my knowledge.
Having moved to JSON, I have written json2pas, which serves a similar purpose, but a xml2pas is still on my todo list.

However, WST and the SDO toolkit (the latter in FPC) do provide something similar. WST can be used to convert a XSD to pascal code.

Michael.

PS. Note 2 self: still need to insert json2pas in the json viewer tool.

Reply by email

Ondrej Pokorny
to Graeme Geldenhuys: This is just to give everybody that works on FPC or Lazarus a pat on the back. Seriously,…
Graeme Geldenhuys wrote
There was ONE thing I did like about Delphi - the "File -> New -> XML Data Binding" option, where it generates interfaces and classes to work with XML data or a schema. That was pretty useful. Does Lazarus have something like that yet?

OXml can do that for Lazarus (it's my commercial project): http://www.kluug.net/oxml.php

Ondrej

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
On 2017-07-13 06:54, Michael Van Canneyt via Lazarus wrote: > I have put this little snippet of text aside, so I can use it for future > reference ;) Yeah, knowing this list [nobody here ever forgets], that is something that going to bite me in the a** at some point. :)

Auntie Google has a long memory, and she likes to gossip :)

Michael.

Reply by email

Graeme Geldenhuys
to Ondrej Pokorny: OXml can do that for Lazarus (it's my commercial project): http://www.kluug.net/oxml.php…
Ondrej Pokorny wrote
OXml can do that for Lazarus (it's my commercial project): http://www.kluug.net/oxml.php

Well done.

One small note...

On that page it mentions "OXml supports Lazarus 1.0 and newer on all platforms (tested Win32, Win64, Linux, MacOSX)." - that doesn't mean much to anybody that uses Lazarus from SVN - a common option. Nowhere do you mention what FPC versions are supported, though you do explicitly mention what Delphi versions are supported. It would be very useful if you can add the FPC version info too. Just a thought.

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Marco van de Voort
to Graeme Geldenhuys: This is just to give everybody that works on FPC or Lazarus a pat on the back. Seriously,…
Graeme Geldenhuys wrote 9 lines
[rant on] My issues with Delphi IDE in the last two weeks: - Error Insight (red squiggles for Unknown Identifiers) is horribly broken. My code editor looks as if my 1 year old drew with a red marker all over the screen! More sad news - the IDE Product Manager of Delphi told me personally that the latest Delphi version is better, but there are still many false positives. Oh dear.

My experience is the other way. Delphi (XE10) here, updates it live, while lazarus needs a recompile.

- Delphi IDE is so SLOW to start up, and I'm running a beefy Intel i7 with 32GB RAM. - No editor option to switch off "cursor past end of line" feature.

My biggest beef with Delphi is that it is confused by having ..\xxxx paths in the search paths. They are interpreted as relative to the local directory, not to the project. If you switch such projects with e.g. "recent files" strange things may happen, but if you navigate with to the .dproj with file->open project, then everything is ok (since that sets the current dir for the Delphi application apparently)

This is an issue in D7, and still is in XE10 rainy city.

Reply by email

Graeme Geldenhuys
to Marco van de Voort
Marco van de Voort wrote
> - Error Insight (red squiggles for Unknown Identifiers) is horribly > broken. My code editor looks as if my 1 year old drew with a red

...snip...

My experience is the other way. Delphi (XE10) here, updates it live, while lazarus needs a recompile.

I would rather take _accurate information_ that all the false positives that Delphi gives.

My biggest beef with Delphi is that it is confused by having ..\xxxx paths in the search paths. They are interpreted as relative to the local

Yeah, I noticed that one too.

And more....

* Code navigation is disable when you are debugging!! WTF is the point of that!

* Code navigation via keyboard shortcuts (eg: Alt+<back>) sometimes take you to the strangest places in code - not where I was before.

* Refactoring: renaming identifiers - eg: a class name, doesn't update the comment markers for classes - so they will still have the old name, but the actual class name is updated. Little inconsistencies.

* Code Completion can't update changed parameters like Lazarus can. I didn't realize until now how often I rely on this when using Lazarus.

* Class Completion on overridden methods generate "inherited;" instead of "inherited <method_name>;". So with that omission, I can't code navigate (eg: Ctrl+LClick) to the parent [inherited] method.

* No support for global editor bookmarks. Ctrl+<num> only works for the current file. You can't have a bookmark in two or more files and think you can jump between them!

Wow, with every day I'm using Delphi this list of annoyances or bugs are growing fast. And EMBT thinks they can still justify the HUGE price tag?? What are Delphi Developers actually paying for? They should vote with their wallet and stop upgrading until EMBT actually starts fixing things.

So I'll reiterate.... Job well done to the FPC, Lazarus and MSEide teams! You guys go far beyond what a commercial company can produce.

Regards,
Graeme

Reply by email

Ondrej Pokorny
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
And EMBT thinks they can still justify the HUGE price tag?? What are Delphi Developers actually paying for? They should vote with their wallet and stop upgrading until EMBT actually starts fixing things. So I'll reiterate.... Job well done to the FPC, Lazarus and MSEide teams! You guys go far beyond what a commercial company can produce.

IMO we should give the Lazarus foundation more importance/advertisement.

I was already told by a 3rd party company that they ported their applications to Lazarus and would like to pay monthly for keeping the project going.

Ondrej

Reply by email

Michael Van Canneyt
to Ondrej Pokorny
Ondrej Pokorny wrote 9 lines
On 20.07.2017 13:33, Graeme Geldenhuys via Lazarus wrote: > And EMBT thinks they can still justify the HUGE price tag?? What are > Delphi Developers actually paying for? They should vote with their > wallet and stop upgrading until EMBT actually starts fixing things. > > So I'll reiterate.... Job well done to the FPC, Lazarus and MSEide > teams! You guys go far beyond what a commercial company can produce. IMO we should give the Lazarus foundation more importance/advertisement.

I'm definitely open for suggestions on this.

Michael.

Reply by email

Sven Barth
to Graeme Geldenhuys: ...snip... I would rather take _accurate information_ that all the false positives that…

Am 20.07.2017 13:33 schrieb "Graeme Geldenhuys via Lazarus" <

: * Code navigation is disable when you are debugging!! WTF is the point of that!

Delphi had always been a fancy text editor when debugging and probably always will be :P

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20170720/7c2d1da6/attachment.html>

Reply by email

Sven Barth
to Graeme Geldenhuys: ;-) [ I promise this will be the last] * With Delphi, "deprecated" is not allowed on…

Am 20.07.2017 14:44 schrieb "Graeme Geldenhuys via Lazarus" <

Show quoted text 17 lines
: On 2017-07-20 12:33, Graeme Geldenhuys via Lazarus wrote: > > And more.... ;-) [ I promise this will be the last] * With Delphi, "deprecated" is not allowed on Properties. * Delphi doesn't support user defined compiler hints and warnings like {$warning This is a user-defined warning}

The syntax in Delphi is "{$message [hint¦error¦warn¦fatal] 'text'}" which is also supported by FPC.

See also:
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/compdirsmessagedirective_xml.html

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20170720/68892edb/attachment.html>

Reply by email

Graeme Geldenhuys
to Sven Barth: Am 20.07.2017 13:33 schrieb "Graeme Geldenhuys via Lazarus" < Delphi had always been a…
Sven Barth wrote
Delphi had always been a fancy text editor when debugging and probably always will be :P

I'm just shocked at how behind Delphi has become. FPC and Lazarus are so far ahead in language features, target platforms, IDE features - they have simply made Delphi obsolete. EMBT keeps buying other companies or products and adding more junk into Delphi - instead of fixing what is already there (basic IDE and language features). They should take a page out of Canonical's playbook - remember the Ubuntu One Hundred Papercuts initiative.

All FPC and Lazarus needs is better marketing for commercial entities. Also trying to include FPC and Lazarus as standard in the RPi Linux disto would also help kick-start its popularity.

Regards,
Graeme

Reply by email

Petr Hložek
to Graeme Geldenhuys: I'm just shocked at how behind Delphi has become. FPC and Lazarus are so far ahead in…

2017-07-20 15:54 GMT+02:00 Graeme Geldenhuys via Lazarus :

Show quoted text 6 lines
I'm just shocked at how behind Delphi has become. FPC and Lazarus are so far ahead in language features, target platforms, IDE features - they have simply made Delphi obsolete. EMBT keeps buying other companies or products and adding more junk into Delphi - instead of fixing what is already there (basic IDE and language features). They should take a page out of Canonical's playbook - remember the Ubuntu One Hundred Papercuts initiative.

You are right! Right now I'm working on project with over 1M lines of source code and code completion is so slow! Even Ctrl+Click navigation doesn't work, it jumps always to nonsense place. If I try to write something, I still see blue circle indicating Delphi is thinking... . Horrible experience. Core i5 with 16GB RAM and SSD disk. Also tons of lines with red mark etc.

BTW Yesterday created packages of fpc 3.0.2 and Lazarus 1.6.4 for Ubuntu 16.04 and 16.10. After 1.8 is released, I'll create packages as well.
https://launchpad.net/~ok2cqr/+archive/ubuntu/lazarus

Petr

Reply by email

Graeme Geldenhuys
to Petr Hložek
Petr Hložek wrote
Even Ctrl+Click navigation doesn't work, it jumps always to nonsense place.

Yeah, I get that all the time. I'm now using GExpert's add-on for its "procedure list" and "grep search" features to get more accurate code navigation in Delphi.

Horrible experience. Core i5 with 16GB RAM and SSD disk. Also tons of lines with red mark etc.

I wonder if Lazarus IDE could use the Delphi dcc.exe command line compiler? I guess not because the compiler settings are so different, and Lazarus hides all those behind a GUI dialog. One might have better luck using MSEide with dcc.exe because MSEide allows for much more versatile compiler parameter configuration (nothing hidden behind a GUI dialog). Umm, maybe something to try over the weekend.

Regards,
Graeme

Reply by email

Mattias Gaertner
to Graeme Geldenhuys
[...] I wonder if Lazarus IDE could use the Delphi dcc.exe command line compiler?

It can call it. For example as "execute before".

When dcc uses the same format "filename(line,column) message" the IDE will jump to notes and errors.

The FPC command line parameters are different. You have to pass the parameters by yourself. Some IDE macros might help, like the $Proj* macros.

The IDE does not have a parser for the output. So it cannot fetch the defines needed for parsing. You can use the Tools / Codetools defines editor to set them.

Quickfixes might not recognize the message.

Mattias

Reply by email

Juha Manninen
to Ondrej Pokorny: IMO we should give the Lazarus foundation more importance/advertisement. I was already…
Ondrej Pokorny wrote
IMO we should give the Lazarus foundation more importance/advertisement.

It should be the other way around. The foundation should advertise the project it is associated with.
That is what foundations do with other projects.
Sometimes advertising requires money and the donations become handy. So far the foundation has funded development of Pascal-Javascript converter. There is no effort for PR or public visibility.
I did not get any answer from foundation members in Google+ forum about this issue.
I still hope the PR work will come at some point.

Juha

Reply by email

Michael Van Canneyt
to Juha Manninen
Juha Manninen wrote 6 lines
On Thu, Jul 20, 2017 at 2:39 PM, Ondrej Pokorny via Lazarus wrote: > IMO we should give the Lazarus foundation more importance/advertisement. It should be the other way around. The foundation should advertise the project it is associated with.

It works both ways, actually.

Show quoted text 6 lines
That is what foundations do with other projects. Sometimes advertising requires money and the donations become handy. So far the foundation has funded development of Pascal-Javascript converter. There is no effort for PR or public visibility. I did not get any answer from foundation members in Google+ forum about this issue.

Quite possible. I am not on the forum.

I still hope the PR work will come at some point.

As said, I am open for suggestions.

Michael.

Reply by email

el_es
to Michael Van Canneyt
Michael Van Canneyt wrote 27 lines
On Thu, 20 Jul 2017, Juha Manninen via Lazarus wrote: > On Thu, Jul 20, 2017 at 2:39 PM, Ondrej Pokorny via Lazarus > wrote: >> IMO we should give the Lazarus foundation more importance/advertisement. > > It should be the other way around. The foundation should advertise the > project it is associated with. It works both ways, actually. > That is what foundations do with other projects. > Sometimes advertising requires money and the donations become handy. > So far the foundation has funded development of Pascal-Javascript converter. > There is no effort for PR or public visibility. > I did not get any answer from foundation members in Google+ forum > about this issue. Quite possible. I am not on the forum. > I still hope the PR work will come at some point. As said, I am open for suggestions. Michael.

At times I took to send the announcements of new versions of FPC and/or Lazarus to lwn.net a couple of times - maybe the Foundation could take to increase FPC's and Lazarus's visibility over there?

Note there is a lot of bias there, towards mostly c-likes and their compilers (and java, perl, python, haskell, rust, and other obscure langi used by 2 people in the world, /s ) (after all, the staple of that site is still Linux Kernel and 'Desktop Systems' development)

OTOH it is read by professionals - also ones who still may be thinking, that Pascal is stuck in the 90's - maybe it's time to start proving them wrong ? To some people out there, it would be like a Whole New World ...

They could easily ignore me, puny human that I am (not even a subscriber, just enjoying reading LWN)... They shan't ignore you that easy, as you're a proper Foundation :)

-L.

Reply by email

Unknown author
to Graeme Geldenhuys: This is just to give everybody that works on FPC or Lazarus a pat on the back. Seriously,…
Graeme Geldenhuys wrote 9 lines
Hi Guys, This is just to give everybody that works on FPC or Lazarus a pat on the back. Seriously, you guys are doing an *excellent* job. Even though I am sometimes a bit hard on you guys. Having moved back to Delphi (I'm using XE at the moment) for a contracting job, I got to the realization how bad Delphi has become. Compared to Lazarus IDE, Delphi IDE is a joke!!

Except that firemonkey has wayyyy more complete of a component palette set for macOS cocoa...

Show quoted text 5 lines
[rant on] My issues with Delphi IDE in the last two weeks:

[...]

- Delphi IDE is so SLOW to start up, and I'm running a beefy Intel i7 with 32GB RAM.

Agree, Delphi is very slow to load, and use, even on a modern 64 bit laptop

Wirth's law applies, if you know it... As computers get faster, software gets more bloated and computers cannot keep up with the software bloat.

Reply by email

Graeme Geldenhuys
to Unknown author
Lars wrote
Wirth's law applies, if you know it... As computers get faster, software gets more bloated and computers cannot keep up with the software bloat.

Indeed, and it doesn't only seem to apply to Windows software. Linux and FreeBSD software are affected too. Just last week I tried FreeBSD's "native GUI desktop environment" called Lumina, which includes a file manager application. By pure chance I ran htop and noticed the Lumina file manager uses 500MB RAM. I promptly switched back to PCManFM (a generic GTK2 base app) which has exactly the same functionality, but uses only 45MB RAM. And then FreeBSD wants to make PCManFM obsolete - what the hell!

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Unknown author
to Graeme Geldenhuys
Graeme Geldenhuys wrote 11 lines
On 2017-07-24 03:39, Lars via Lazarus wrote: > Wirth's law applies, if you know it... As computers get faster, > software > gets more bloated and computers cannot keep up with the software > bloat. Indeed, and it doesn't only seem to apply to Windows software. Linux and FreeBSD software are affected too. Just last week I tried FreeBSD's "native GUI desktop environment" called Lumina, which includes a file manager application. By pure chance I ran htop and noticed the Lumina file manager uses 500MB RAM.

Is it because of QT 5 ?
It says on the internets that Lumina uses QT 5

Or, in Lazarus terms: To keep on topic ;-) do lazarus QT apps act much more slow or use up much more memory.

I'm always interested in the actual culprit of the issue - it could even be a memory leak that just needs fixing!

Reply by email

Graeme Geldenhuys
to Unknown author: Is it because of QT 5 ? It says on the internets that Lumina uses QT 5 Or, in Lazarus…
Lars wrote
Is it because of QT 5 ? It says on the internets that Lumina uses QT 5

I don't actually know what GUI toolkit Lumina uses, but it might well be qt5. If that's the cause of the huge memory usage or not - I can't say.

What I do know is that many developers these days don't pay much attention to many things, and write pretty sloppy code. A lot of it can be contributed to unrealistic deadlines in commercial environments where they think developers are robots, and we can just churn out code like a production line and at a constant rate. Then again, Lumina is not a commercial project, so shouldn't have the same pitfalls.

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email