Live data from Hacker News

Lazarus – A Delphi-compatible cross-platform IDE

lazarus-ide.org

61–70 of 187 posts

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

#62
post #9

Lazarus is awesome because of the speed of the compiler, the fact that it has a GUI that works, and is OPEN SOURCE. So one wonders WTH is going on with all the other compiled languages that have nothing like this? And no QT is not the answer, we need a built-in good enough GUI! =)

IIRC Delphi compilers are usually single pass and thus really fast

That is correct and it is why all the variables must be declared before the "implementation" section of a unit. The compilation felt instantaneous.

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

#63
post #42

How do you avoid spaghetti code, in an environment like lazarus?

I'll take this one - architecture.

So you can setup a very standard MVC or MVVM architecture using Lazarus.

I bought this book to help:http://www.apress.com/br/book/9781484222133 it uses Delphi, so there's translation to do, but the concepts are the same.

Also, Lazarus has an amazing community that's a joy to be a part of, and is extremely welcoming.

I'm a hardware jockey (mostly) so if they can explain it to me, literally anyone can get it.

To boot, there are a number of excellent older texts that are just a few dollars, and all the concepts are the same.

There's new material being produced more and more for it as well.

What I'm trying to say is: join us... One of US. One of US. One of US....

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

#64
post #54

Earlier quoted context omitted.

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 Wri…

Oh, in that case that's no better than C++'s shared_ptr.

I remember Delphi being fun back in the day and it still compiles way faster than C++, but C++ is evolving and maybe with modules even the compilation speed gap will disappear...

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

#65
I use Free Pascal at times. In case there are any FP developers here: your build arrangements hamper my use. I tried installing earlier this week from source and could not get it going.

My ideal would be a single configure/Makefile combination in the root directory. Consider if the user does not have root, how are they to set a prefix?

The idea of the 'build' download is good, but not if it needs to link to recent shared-objects. Particularly recent shared objects like libc. Maybe you could put statically-linked tools in the 'build' version.

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

#66
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.

I'm pretty sure that was the default mode, I never knew you could not have windowed mode.

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

#67
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…

If someone is working on ERP systems then I don't think the cost is going to be that significant to them.

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

#68
post #24

Earlier quoted context omitted.

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.

WPF/XAML can give you amazing results but I'm nowhere near as productive with it as I was with VB6.

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

#69
post #38

Earlier quoted context omitted.

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…

it's a real blur but I do recall doing the unmaximize and undock stuff to get things looking just right. I distinctly recall no longer being able to do that in some version.. I thought it was 5 but you've proven me wrong. maybe D2005?

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

#70
post #64

Earlier quoted context omitted.

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 Wri…

Oh, in that case that's no better than C++'s shared_ptr. I remember Delphi being fun back in the day and it still compiles way faster than C++, but C++ is evolving and maybe with modules even the compilation speed gap will disappear...

I actually feel that shared_ptr is a better fix, because that makes the memory handling consistently opt-in, instead of inconsistent.
Post reply on HN