www. O S N E W S .com
News Features Interviews
BlogContact Editorials
.
Lazarus 1.0 Free Pascal IDE released
By special contributor Snorkel on 2012-08-30 22:38:02
After more than a decade, Lazarus has reached version 1.0. For those that don't know Lazarus - it's a Delphi-like IDE for the Free Pascal Compiler and has widget sets for win32/64 GTK2, Qt, and others. It's very very much like Delphi and instead of the VCL it has the LCL which is cross platform. Syntax is almost exactly the same as Delphi. You can create stand-alone win32/64 executables that require no .NET runtime or even an installer.
 Email a friend - Printer friendly - Related stories
.
Read Comments: 1-10 -- 11-20 -- 21-23
.
...
By Hiev on 2012-08-30 22:45:50
I got one word for Lazarus, but it says a lot:

underrated.
Permalink - Score: 5
.
Delphi
By henderson101 on 2012-08-30 23:53:16
I used Delphi commercially from 1998 till early 2007. I used it for a University project before that. It was good technology handled very poorly by Borland/Innovise/Borland/co degear/Embarcadero. Shame, shame, shame! People like Alan Bauer and Charlie Calvert were my heroes. I marvelled at Anders Hejlsberg absolute frickin genius, the VCL was once a wonderful thing.

But today I wonder why we still need to make silly claims like "doesn't need .Net runtime" when the .Net Runtime is installed by default in Windows 7, "compiles to a stand alone exe", which is bull, as the exe requires the subsystem that arrived with the OS (e.g. Win32) and if you do anything vaguely edgy, you *will* need to include additional DLL's (or libraries - sorry, force of habit when discussing Delphi.) And installer? Why do you need an installer? I hardly ever bother writing installers for our software, I just copy the built files to the target machine - which is surely what this is suggesting?

In short - cool. But both Delphi and Pascal are about as niche as you can get these days. Delphi jobs have completely dried up (for anything worthwhile), so it's probably 10 years too late to gain any traction.

About all it has going for it is that they can't hash up the LCL any more than Borland did with the CLX** did... though IIRC they have an LCL for MacOS X that tries to map Windows VCL concepts on to the Mac... hmmmm.

I know this all sounds pretty down on Free Pascal and Lazarus. I'm sorry. I just can't get enthusiastic about it. It would be interesting to see this pick up pace and become used - but it won't be used by anyone outside of small projects by ex Delphi fanatics (of which I was one till about 2008.)

** I alpha and beta tested Kylix... The first version I used didn't even have a working GUI. The IDE would start, do nothing very useful, then crash. The compiler was good though. I also beta tested Delphi 6, which IIRC was codenamed Iliad. The fact that the CLX was borked on the last beta of that wasn't a good sign to me (the alignment of the controls at run time shifted badly when you added a menu bar..)
Permalink - Score: 2
.
RE: Delphi
By schmoejoe713 on 2012-08-31 00:58:08
> "compiles to a stand alone exe", which is bull, as the exe requires the subsystem that arrived with the OS (e.g. Win32) and if you do anything vaguely edgy, you *will* need to include additional DLL's (or libraries - sorry, force of habit when discussing Delphi.)

So are you saying nothing qualifies as a standalone exe because it uses native libraries installed with the operating system? This is *not* bull.

C/C++/Delphi and similar languages *do* compile to a stand-alone EXE. They don't require additional runtimes. For example, .NET programs won't run in Windows PE, Delphi/Lazarus apps will. That's what stand alone means to me.
Permalink - Score: 4
.
RE: Delphi
By ggeldenhuys on 2012-08-31 01:03:46
The Lazarus project created a fantastic IDE. The editor is just filled with cool features - some not so obvious for the casual user, but for the working programmer it is great.

The BIG plus over Delphi, is that you have the source code. I often tweak things to suite my needs, or to fix a bug instantly. This is where Delphi falls down - it is a "black box" you can't tinker with, and you are at the mercy of a company that doesn't always know where it is heading.

The Free Pascal Compiler (which Lazarus uses) is also fantastic. Supporting something like 20 platforms. FPC can even generate Java bytecode applications.

Our company has been using Lazarus for the last 7 years. We have cross-platform desktop applications, Linux daemons, console utilities, CGI apps etc.

The FPC and Lazarus projects definitely deserve more attention from programmers. FPC's Object Pascal languages has modern features, easy to read and understand, and a very fast single pass compiler.

It's wonderful to see that the Lazarus project finally made the 1.0 milestone.
Permalink - Score: 7
.
RE[2]: Delphi
By henderson101 on 2012-08-31 02:11:07
> So are you saying nothing qualifies as a standalone exe because it uses native libraries installed with the operating system?

Let me turn this around, are you saying that the .Net framework that is installed as part of the OS is not "native"? Please define "standalone".

> C/C++/Delphi and similar languages *do* compile to a stand-alone EXE. They don't require additional runtimes.

Yes they do. They need the system libraries. They are native assembly level code, but ever Windows OS from Windows XP onwards has had the .Net loader as part of the native OS once the framework is installed. The framework has been installed by default since 2.0, which I believe was part of an XP service pack (sp 3?) and was certainlt part of server 2003 and Vista.

C++ is also a bad example, as the MSCRT is *not* part of the default OS install, anything compiled with Cygwin requires a bunch of DLL's and MingW generally gets round this by statically linking anything that isn't installed. Even Borland C++ *required* a bunch of DLL's.

And for god's sake, Delphi wasn't immune. Use Midas? DLL. Use anything written in C? DLL. ActiveX? DLL. None of this is guaranteed to be installed by default.

>
For example, .NET programs won't run in Windows PE, Delphi/Lazarus apps will. That's what stand alone means to me.


Ah, so the definition shifts to a paired down OS intended for PreInstallation Environments? Have you ever heard of the .Net Micro Framework? Gosh, that runs on micro controllers and there's even the netduino that is 100% .Net powered. http://netduino.com/
Permalink - Score: 1
.
RE[2]: Delphi
By henderson101 on 2012-08-31 02:24:06
Do you still go your own GUI or have you moved to LCL...?

I think LCL is the biggest issue I have with Lazarus. The VCL was crufty by the time I bailed on Delphi dev (I used mainly Delphi 5 die to constraints put on my by my employer - I back ported a lot of Delphi 6 and Delphi 7 features, I can tell you!!) Delphi 6 was munged to support a bunch of C++ oddness, and Delphi 7, well, I just never really found it added much to the picture for me. I used the .Net versions somewhat, but the fact that Borland completely crapped all over the place and made the .Net VCL horribly unportable and used odd hacks that broke it constantly (I forget the exact reason, but I remember Alan DOH-ing big time on his Oracle of Delphi blog - something about assumed code layout and private field mapping...) made it unusable.

The problem is, if you diss the LCL, you get angry shouting... but the problem is, the LCL is based on the VCL and the VCL is obsolete and very unsuitable by modern standards. The VCL was often a far too loose wrapper round the Win32 API (but never as horrible as MFC) and breaking that makes porting code to LCL non-trivial. So, either your code is a complete re-write (then why bother?) or you're saddled with a crufty framework. Rock, meet hard place.

I do like the Mac stuff that they've been doing. At least that shows some initiative and lateral thinking. And the Java byte code sounds pretty spiffy.
Permalink - Score: 2
.
RE[3]: Delphi
By schmoejoe713 on 2012-08-31 02:28:39
> Ah, so the definition shifts to a paired down OS intended for PreInstallation Environments? Have you ever heard of the .Net Micro Framework? Gosh, that runs on micro controllers and there's even the netduino that is 100% .Net powered. http://netduino.com/

Ah, but my enterprise of several hundred thousand systems doesn't run arduino, we run Windows, and we use Windows PE for many tasks like system imaging. In that scenario .NET won't cut it (and I say this as someone that actually likes C# quite a bit).

Out of the box, I can run Delphi anywhere Windows does, and yes it requires Windows and it's libraries. I can't say the same for Win PE 3.0 and C# (built on Win 7).

But anyhow, I see your point. That standalone to you means without dependency. And I understand that in recent years .NET framework is nearly ubiquitous on at least Vista and up.

My point is that .NET isn't always the right tool for the job. When I need to *know* that it will run because I don't know the host, I'm writing native code that only targets native (not managed) libraries for import.
Permalink - Score: 3
.
RE[3]: Delphi
By galvanash on 2012-08-31 02:46:32
> Let me turn this around, are you saying that the .Net framework that is installed as part of the OS is not "native"? Please define "standalone".

A standalone executable, once compiled, runs directly on the target platform's hardware without any sort of interpretation or just-in-time compilation - and it does not have a dependency on any external runtime framework. Its only external dependency is on system provided API libraries.

> Yes they do. They need the system libraries. They are native assembly level code, but ever Windows OS from Windows XP onwards has had the .Net loader as part of the native OS once the framework is installed. The framework has been installed by default since 2.0, which I believe was part of an XP service pack (sp 3?) and was certainlt part of server 2003 and Vista.

I think the argument is that a runtime framework and a library are not the same thing... Afaik, it is not possible to compile a .net application directly into machine code that will run _without_ a system installed .NET CLR. You can, however, compile an application that way using delphi. You can also write a Delphi application that doesn't even use the VCL at all...

I admit the distinction is very subtle. But I found the following definition to be very helpful (kudos to some anonymous developer on stackoverflow):

A Library is a tool.
A Framework is a way of life.

.Net is a framework. You have to commit your entire project to it - it become your "way of life". A library? You can use whatever piece you feel like using and ignore the rest.

Both the VCL and .NET are runtime frameworks. But with Delphi you can statically compile the runtime into your application - hence it becomes "standalone". You cannot do that with .NET.

That said, Win32, unlike .NET, is a library. You can selectively choose what bits to link to, and there is no runtime involved.
Permalink - Score: 4
.
RE[3]: Delphi
By ggeldenhuys on 2012-08-31 08:58:19
> Do you still go your own GUI or have you moved to LCL...?
Yes I still develop and use fpGUI Toolkit ( http://fpgui.sourceforge.net ), instead of the LCL. My own custom drawn cross-platform GUI framework. I do use the Lazarus IDE for 90% of my coding and debugging though.

The Delphi VCL is very Windows centric, because it is essentially a wrapper for the Win32. To me that meant, not ideal for cross-platform design. But saying that, it is amazing what the Lazarus folk have accomplished with the LCL.

> Win32 API (but never as horrible as MFC) and breaking that makes porting code to LCL non-trivial.
The Lazarus guys have also spent a lot of time developing project convertors, to help you move your Delphi VCL code over to FPC+Lazarus. Apparently that does a very good job, and a huge time saver.
Permalink - Score: 3
.
No DevC++ yet
By fithisux on 2012-08-31 09:43:29
unfortunately FPC+Lazarus cannot build DevC++ yet. Though at this time two forks exist

Orwel's DevC++ and WxDevC++

But yes, it is a big milestone. If you need an alternative, mseide is also open source.
Permalink - Score: 2

Read Comments 1-10 -- 11-20 -- 21-23

No new comments are allowed for stories older than 10 days.
This story is now archived.

.
News Features Interviews
BlogContact Editorials
.
WAP site - RSS feed
© OSNews LLC 1997-2007. All Rights Reserved.
The readers' comments are owned and a responsibility of whoever posted them.
Prefer the desktop version of OSNews?