[fpc-pascal] Lazarus vs MSEgui

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Fri Apr 8 11:59:17 CEST 2016

On 2016-04-08 10:08, Santiago A. wrote:
> Any body has experience in both (or another IDE for FPC) and has his two
> cents?

It's MSEide - if you are refering to the IDE portion of the project. ;-)

I switch between Lazarus and MSEide very frequently. Overall I prefer
MSEide. Yes it's settings are different, but that doesn't mean bad.
Don't let habits or what you are used to detract from trying something
new. Once I got used to the MSEide way, I quite liked it a lot.

Here is my list...

Pros of MSEide:
  - better code templates
  - better debugging
  - import & export of project settings
  - macros (global and per project)
  - no use of "packages" - I found macros work much better for me.
  - it's really really fast. I also never install components in a IDE,
    so Lazarus Packages are of no use to me.
  - not too much automation. I fight more and more with Lazarus to try
    and disable automation that I don't want or like. Martin managed to
    strike the exact right balance between automated code generation,
    and the programmer doing what it loves - writing code.
  - Code navigation is not as fussy as Lazarus. eg: I have lots of code
    with include files in the head of the unit. From another project,
    Lazarus refuses to navigate that code. MSEide has no troubles.
  - It is very stable, and Martin is super fast at fixing things.
    Normally everything gets done the same day. I have no idea how he
    finds the time to manage that!!
  - Code Templates: Much better implemented than Lazarus. Separate
    files for each template (thus easy to share or update). Quick to
    configure or modify, and has all the features needed.
  - Very good cross-platform console output window support. No need to
    run apps in a separate console window, just to see output. The IDE
    does this for you across platforms and consistently.
  - Fantastic docking support. I can configure the IDE in seconds just
    the way I want - per project too. I like the small detached
    "control center" as Martin calls it - the main IDE window.

Cons of MSEide
  - some quirky behaviour in the editor, but Martin has explain his
    reasoning for some - which actually makes perfect sense.
  - Minor: Yes by default fonts are small, but again it is done to fit
    as much on the screen as posible. Simply pass a command line
    parameter to the IDE to adjust any fonts - a simple fix.
  - No code-insight (or very limited). I think that's what it is called.
    Where you type for example a . and then get a list of available
    methods pop up. My work-around is to code with DocView help viewer
    permanently open on the side so I can quickly search for what I

I can't evaluate the gui toolkit MSEgui, as I don't use that. Neither do
I use LCL for that matter.

Pros of Lazarus:
  - Everybody here loves Delphi. Lazarus copies Delphi, so many seem
    instantly at home and happy. I'm not a lemming. ;-)
  - Some like all the automation (code completion, auto indentation
  - Debugging is moving in the right direction, but I still don't think
    it's as good as MSEide.

Cons of Lazarus:
  - Things break often. As the saying goes: "Too many hands in the pot".
  - Things change often.
  - Lazarus Packages. Recently I was told I don't understand them
    correctly. I simply don't like them (I used too). Compiler settings
    often differ in a package compared to the project itself. Sometimes
    changes in code in a package (especially if include files were used)
    are not detected on a recompile of the project doesn't trigger a
    recompile of the package in question. This happens often, and I
    waste a lot of time debugging something I should have to. Sometimes
    packages a recompiled for no reason.
  - I hate all the automation added to Lazarus. I fight for hours trying
    to disable some feature, and often can't find where... the settings
    are too complex and spread out over multiple screens. eg: In my one
    copy of Lazarus it still does seemingly random indentation or
    begin..end completion - often producing code I don't want. I still
    can't figure out where to disable that.
  - big toolbar buttons in every IDE window - wasting massive amounts
    of screen space.
  - LCL is inconsistent in feature between platforms. So I can't set up
    my IDE under Windows the same as I can under FreeBSD or Linux. For
    example I like my editor tabs on the right, and the tab text MUST
    be horizontal. This is not possible with LCL-Qt or LCL-Win.

I'm sure spending more time I can add more items to each category. My
advice. Try each one for a week at least. Ask questions if you don't
understand. You can't evaluate something as complex as an IDE in a
single day, or worse, just a couple of hours.

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

My public PGP key:  http://tinyurl.com/graeme-pgp

More information about the fpc-pascal mailing list