Live data from Hacker News

Lazarus – A Delphi-compatible cross-platform IDE

lazarus-ide.org

51–60 of 187 posts

Re: Lazarus – A Delphi-compatible cross-platform IDE

#51
post #38

Earlier quoted context omitted.

The floating windows were still very much present in Delphi 7, my preferred arrangement [0]. D7 was the last "good" version before the .NET era. Actually I remember the buzz around Lazarus and Free Pascal really growing when the .NET versions of Delphi came out. So I think its fair to say Lazarus took plenty of influence from versions later than D2. [0] http://i.imgur.com/gHQR6aH.png

oh dang I used D7 for years and didn't know you could configure it into this mode. I would've preferred it at the time. I'd say clearly Lazarus is tracking the best of Delphi, not just version 2 from 1995.

It's been years since I worked in Delphi regularly, but I still have it installed and have been looking around in it this evening for the first time in a long while. Right now I can't find the option to change from this to a single-window mode, but I'm not sure there is one.

I think the trick is to just not run it maximized, then undock the various parts from the main editor window. Then once you have things resized and placed where you want, you save it as a Desktop layout. I don't know how far back that feature goes.

I would have to reinstall it from scratch somewhere to see how it looks by default. I really want to do this and dare say I even intend to! I may even have D5 and D3 somewhere in a box too, but now I'm approaching self-promise overload!!

Here it is maximized and docked. Is that something like what you remember?

http://i.imgur.com/aeTYPjb.png

Re: Lazarus – A Delphi-compatible cross-platform IDE

#52

Earlier quoted context omitted.

The floating windows were still very much present in Delphi 7, my preferred arrangement [0]. D7 was the last "good" version before the .NET era. Actually I remember the buzz around Lazarus and Free Pascal really growing when the .NET versions of Delphi came out. So I think its fair to say Lazarus took plenty of influence from versions later than D2. [0] http://i.imgur.com/gHQR6aH.png

Agreed, it seems that the odd-numbered Delphi versions were the best.... 3, 5, 7. 7 was my main environment for years.

Those are the versions I had. It seemed to parallel the odd numbered Windows versions too, or at least that every other version was decent.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#53
post #50
post #4

Lazarus/FPC checks so many nice boxes: [x] Statically compiled [x] Native UI on Linux/Mac/Win [x] Typically compiled without code changes on Linux/Mac/Win [x] Small binaries [x] No GC [x] Readable, somewhat python-like syntax [x] Still, doesn't rely on indentation for nested blocks [ ] (Fill in)

> [x] Readable, somewhat python-like syntax I have a rather different opinion on OP that it has a needlessly verbose syntax. Pythonic it is definitely not. Even C# (which is another creation of Anders Hejlsberg, after MS poached him from Borland) has a better, readable and concise syntax. I used to be a Delphi evangelist in it's glory days. Now I bristle when I read Pascal source code, there's so much unnecessary vis…

My feeling as well. In my heart I am really happy that Lazarus (and Harbour, the Clipper-compatible compiler) exist, but being rational the days of desktop applications are over.

Python is being run on microcontrollers these days; I actually wrestle with the non-adoption of Python (or Ruby, or Javascript, or Tcl) as 1st-class citizen language for desktop and mobile; it does not make sense for me. Certainly writing desktop/web apps in C++ or Pascal make even less sense.

Perhaps I am forgetting the big number of fellow developers that work on ERP systems and outdated software, for them it is a blessing to have free tools, while in the 90s such a tool could cost $3k.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#54
post #4

Lazarus/FPC checks so many nice boxes: [x] Statically compiled [x] Native UI on Linux/Mac/Win [x] Typically compiled without code changes on Linux/Mac/Win [x] Small binaries [x] No GC [x] Readable, somewhat python-like syntax [x] Still, doesn't rely on indentation for nested blocks [ ] (Fill in)

No GC is actually an advantage? The world really changed, there are people rejoicing for procedural languages, while we have so many excellent OO and FP alternatives, and they are actually happy to shoot their own foot with manual memory management. I'm not really sure that the change has been for the better.

Lazarus is Object Orientated. Delphi definitely offers garbage collection in newer versions, not sure about Lazarus.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#55
post #53
post #50

Earlier quoted context omitted.

> [x] Readable, somewhat python-like syntax I have a rather different opinion on OP that it has a needlessly verbose syntax. Pythonic it is definitely not. Even C# (which is another creation of Anders Hejlsberg, after MS poached him from Borland) has a better, readable and concise syntax. I used to be a Delphi evangelist in it's glory days. Now I bristle when I read Pascal source code, there's so much unnecessary vis…

My feeling as well. In my heart I am really happy that Lazarus (and Harbour, the Clipper-compatible compiler) exist, but being rational the days of desktop applications are over. Python is being run on microcontrollers these days; I actually wrestle with the non-adoption of Python (or Ruby, or Javascript, or Tcl) as 1st-class citizen language for desktop and mobile; it does not make sense for me. Certainly writing de…

> My feeling as well. In my heart I am really happy that Lazarus (and Harbour, the Clipper-compatible compiler) exist, but being rational the days of desktop applications are over.

Oh boy, I hadn't heard about Harbour until now; earlier today I was looking at the Wikipedia page for id Tech 5, and it says it uses Clipper so I was really scratching my head wondering how they pulled that off and why. Now I know, thanks for mentioning it. :- )

Re: Lazarus – A Delphi-compatible cross-platform IDE

#57
post #18

We've updated the description from “Proving That Pascal Is Alive and Kicking Ass”. Submitters: the guidelines ask that you please don't editorialize titles.

That headline made people read... and your current title is not fully accurate. It is a Delphi inspired Pascal for sure, but not fully compatible, more like a free alternative.

Exactly. Your title was clickbait and dishonest.

We don't accept that here.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#58

Earlier quoted context omitted.

I've created small projects in Lazarus and you are right in all points except in the small binary part, also I would add that it comes with db drivers for Postgrees, MySQL and Firebird SQL out of the box.

Depends on what you define as small but if you remove the GDB debugging information you can trim down your binaries by a huge amount. My last project was 3.4MB.

Back in the day I used to run the exe through and get them even smaller: https://upx.github.io/

Re: Lazarus – A Delphi-compatible cross-platform IDE

#59
post #24
post #14

Earlier quoted context omitted.

Xcode is a RAD tool at heart so we're in the glory decade of RAD. We just don't call it that.

In my opinion, I wouldn't call XCode the pinnacle. That position is for VB/C#.

Still, things didn't get any more Rapid than they were in 1998 and that's a bit sad. In terms of productivity, C# with WPF/XAML is at best equally good IMO.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#60
post #54

Earlier quoted context omitted.

No GC is actually an advantage? The world really changed, there are people rejoicing for procedural languages, while we have so many excellent OO and FP alternatives, and they are actually happy to shoot their own foot with manual memory management. I'm not really sure that the change has been for the better.

Lazarus is Object Orientated. Delphi definitely offers garbage collection in newer versions, not sure about Lazarus.

No. Delphi offers reference counting, but only on interface variables. It's a huge difference really, because if your last interface variable that points to an object goes out of scope, the object is freed from memory. Even if you have raw class pointers to it.

Example:

    IMyInterface = interface
        procedure Foo;
    end;

    TMyClass = class(TInterfacedObject, IMyInterface)
        procedure Foo;
    end;

    procedure TMyClass.Foo;
    begin
        WriteLn('Foo');
    end;

    procedure DoTheFoo(AObj: IMyInterface);
    begin
        AObj.Foo;
    end;

    procedure SomeMethod;
    var
        LObj: TMyClass;
    begin
        LObj := TMyClass.Create;
        DoTheFoo(LObj);
        LObj.Foo; // 
I work with Delphi in my day job.
Post reply on HN