Post a Comment
How good is Lazarus today? I was very interested in its development back in 2000-2002, partially because Kylix utterly failed. But then I learned C and GTK and kinda never looked back. I visited the Lazarus website from time to time, but their screenshots are severely outdated: they're still showing GTK 1 screenshots in 2007! This made me think that their development has halted or is very very slow.
Does the LCL still imitate the VCL or did they also add new things? The VCL is nice for mostly-fixed layout GUIs, but horrible for resizable dialogs because of the lack of sizers ala GTK and wxWidgets. Delphi 7 still suffers from this problem.
It's a shame to read that generics/template support is still in development. I think that any serious modern statically typed OO programming language should support generics/templates. Don't make me think back of the days when I had to write 3 different list classes just because I want to store different data types in it without requiring clients to cast return values.
Edited 2007-09-10 16:39
You can compile Lazarus to use GTK2.
oh, and Lazarus tries to copy the VCL and it really bugsme, they should have worked on a independent multiplatform style GUI like wxWidgets instead of trying to clone the VCL, don't get me wrong, VCL is the best productivity toolkit around for Win32 programing, but is not really designed to be multiplatform (no, Kylix doesn't count), it is more dessigned to work with the Windows API.
There is a project that is trying to make it possible:
http://sourceforge.net/projects/fpgui/
Edited 2007-09-10 17:24
That's correct. fpGUI doesn't try and be VCL compatible and talks directly to the underlying Windowing System. Which means any fpGUI based application has no dependencies on large 3rdParty libraries like GTK1 or GTK2 does. Which makes application deployment a breeze!
fpGUI now also has a Visual Form Designer to speed up your development.
Lazarus has years of experience of porting the VCL to GTK. It is suitable enough. The nice part is the ease that people can use the native widgetset (GDI,GTK,Carbon) to improve the (OS specific) behaviour of the app, and mix OS independant with dependant components.
This avoids a bit the "lowest common denomitor" problem that a portable widget set has.
RE[2]: How good is Lazarus/FPC?
> Delphi uses anchors for sizeable dialogs
Correct. It also has the "align" property, and has so since version 1. It is a bit unweildy (just as it can be with any resizable container that is aligned to a specific "area" of another container), but it's workable.
> .Net uses the same concept just with a different name ("dock").
Wrong. This is called "anchor" in dotNet. It works exactly as the Delphi version does too.
RE: How good is Lazarus/FPC?
RE[3]: How good is Lazarus/FPC?
What kind of non-font-sensitive, non-language-aware, hard-coded piece of shit as that?
If you do resize logic wrong, then yeah, it's easy, but it's 2007 --- we're getting past the point where you can give a wrong answer to a hard question just because it's easier than giving the right answer. If you do layout _right_, it's hard, and it's something the toolkit better handle.
Edited 2007-09-11 01:59
Uhm yeah, good for you. But I have 300 widgets. You still haven't given me a good reason to waste my time on 300 lines of code (probably more, because some widget's position depends on others, or depends on some conditions) instead of using that to solve a real problem.
As I said, an elitist attitude.
The LCL and VCL gets around this with a feature called Anchors. The LCL's anchors are a lot more flexible (better) than Delphi's ones.
BTW: The fpGUI project also features Anchors and should have Layout Managers (like Java or Qt) real soon.
Nice to hear that the pascal language is still around....as it is my first real language I learned when taking introductory courses in programming.
Wanted to try it out n freeBSD but since I'm running a 64 bits os, I wasn't able to install it. Hope they will deliver that version in the future, so I can experiment with it (what will I still know of that language...."-)
You compare and IDE that does background compilation, automatic syntax checking that not only checks the syntax but also offers solutions to said errors (via QuickFix), and also provides pretty much everything a developer can need to develop software, with a pretty barebones IDE. Is it any surprise that one consumes more memory and appears more sluggish than the other? What has this got to do with evil *waves hands about* JIT?
You're mistaken. Lazarus also does syntax checking, code-completion, has refactoring tools, context-sensitive help and tooltips. Further a debugger, two-way form editor, syntax highlighting offcourse snd you can add your own plugins. Everything a Pascal-programmer needs.
It only doesn't do background compilation (it can do syntax-checking, though) because you don't need that when all your program are compiled within a few seconds.
For those waiting for an updated port of FreePascal to OS4 and MOS, read here:
http://www.morphzone.org/modules/newbb_plus/viewtopic.php?forum=9&a...
i'm looking at the progress of freepascal every now and than because i liked pascal very much, back in the old days. the problem nowadays is developing GUI applications for mac os.
in the article it says, that carbon is near complete - but carbon is outdated and it's a question of time, till it's obsolete. no one wants to use carbon applications today. so my question is: what about cocoa?
are there chances that cocoa will be supported somewhen? i've searched the internet on this topic but can't find much.
Carbon is considered deprecated by Apple.However not by the users, since it seems the main widgetset used on Mac. What do you think the Offices, Adobe Reader and the many Aquifications of X apps (like e.g. LyX)use?
Carbon is way full featured enough, and is better suited to be accessed from existing applications.
Cocoa is an application framework, not a pure widget set. Even to the language (admitted, you appear to be able to avoid Objective C, but it is harder)
Carbon being deprecated by Apple means the resources that go into advancing the entire OS X Platform are on the Cocoa front alone. The law of diminishing returns will soon see the Carbon stallwarts either jumping ship when the dinky is still available or not. Apple gave you guys a decade to move to Cocoa.
Lazarus does not yet have the polish of Delphi, but it can create nice cross-platform applications. The Windows applications are really very good. Linux relies on GTK1, and dependency issues make supportimg all distributions difficult. The OSX Carbon components have really progressed rapidly - you can create usuable OSX, Windows and Linux apps simply by recompiling to the target OS.
I actually think that the Carbon/Cocoa distinction is a bit silly - Lazarus allows a user to create good applications fast, and I really think Carbon is so useful it will be supported for a long time, e.g. see
http://unsanity.org/archives/mac_os_x/carbon_vs_cocoa.php
Lazarus can use GTK2 as well, but the dependency issue is still there. That is why the fpGUI project [http://opensoft.homeip.net/fpgui/] has been started. It talks directly to the underlying windowing systems (Xlib or GDI) so there is no dependency issues.
Edited 2007-09-11 08:00 UTC
NO, not all distros come with GTK2. Kubuntu or any other KDE based distro doesn't come with GTK1 or GTK2. A bare bones X Window system (Linux or FreeBSD) comes with some lightweight window manager. Normally not with Gnome or some other GTK2 base WM.
Also installing GTK2 afterwards is normally a pain. It's not just a single package. It's gtk, gtk-comon, gdk, pango etc... A lot of packages just to get a GTK2 app running. Then lets talk about different versions on GTK2. Distro's are normally behind compared to the latest GTK2 version available, so your applications will have a hell of a time trying to run if it was designed with the latest GTK2.
Talking directly to XLib (like fpGUI does) removes all those problems! And your applications will run, no matter what lightweight or heavy WM you have installed.
Might be true for GTK1, but I am pretty sure every distribution ships GTK2 and Qt3, especially since the two are part of the library set specified by the LSB.
All distribution package managers do dependency resolution, don't they?
I didn't say all. I said most. And which distribution today doesn't support automatic dependency resolution? If I type 'apt-get install gtk2' then APT will automatically install whatever extra dependencies it has. Even FreeBSD's ports supports auto-installing dependencies.
I dare to say that if people refuse to install GTK in order to use your app, then your app is not worth installing anyway. Likewise, if a good app is written in QT, and I need that app, then I will make sure I have QT. I don't care about the GNOME/KDE "war". Even commercial apps like VMWare and BitRock Installer depend on GTK2 and they don't seem to be losing customers because of that.
Sure, there are hardcore geeks out there that absolutely to refuse GTK/QT (note that I didn't say GNOME/KDE) or other "bloat" because they're running a Pentium 300 with 64 MB RAM (or just because of irrational elitism), but those people consist of, like, 1% of the market. I'd gladly trade that market share with the amount of development time I save by using a good GUI toolkit.
It's a good thing to care about users and to minimize dependencies, but at some point there will be a point of diminishing returns. And I believe anything below GTK2/QT lies past that point.
"Distro's are normally behind compared to the latest GTK2 version available, so your applications will have a hell of a time trying to run if it was designed with the latest GTK2."
But what does that have to do with you, the developer? Just don't use the most recent GTK APIs and stick to the subset of APIs that were introduced in GTK 2.4 or something. The GTK API docs specifically mention the version where an API is introduced.
Edited 2007-09-11 18:42
The "IDE" that the article refers too is about as close to an "IDE" as notepad. What a bunch of misleading garbage. I read the article thinking dang man they must have something like Netbeans or Eclipse and what do you get instead, a friggin DOS based piece of crap that looks like the same friggin 386 compiler I used back in 1993 for ADA. Pascal was my first language and as such I kind of have fond memories of it since it is so easy to learn. So I was really excited when I read this article thinking I may have found a good cross platform solution for developing some GUI utilities that I need. Come to find out after downloading and installing the "IDE" it was nothing more than a DOS looking (yes I am not kidding) DOS looking piece of software right out of the pre-Win95 days. And I totally agree with the post above by evangs, comparing this to Eclipse is a complete mis-representation of the facts. Eclipse, Netbeans, Visual Studio, and SharpDevelop are light years ahead of this dinosaur and there is no friggin way you can compare them with "Free Pascal". So unless I am just not finding the right "IDE" on the Free Pascal website then this is a total joke and should not be considered a serious contender for any major development decision. If there is a real "IDE" for Free Pascal please post a reply with the location because I would love to see it.
I wouldn't be very quick to judge an IDE just by it's look. The OpenDylan IDE has a distinct Win95 look to it, but in many respects it's more advanced than Eclipse or NetBeans (eg: full compiler integration). SLIME is a pre Win95-looking Emacs add-on, but it's much more advanced than NetBeans or Eclipse in ways that matter.
I used Eclipse for a couple of projects over the period of a year, and I'm not very impressed. It's basically got a lot of gimmicks to make up for two major weaknesses: no real integration with the compiler, and a language that requires lot's of wizards and crap to get anything done.
That said, I'm not saying the FreePascal IDE is any better, but rather that you'd be surprised how a primitive-looking interface can hide a lot of powerful features, which show themselves only when you use the thing to write a lot of code.
Hi, the included IDE is actually not as bad as you make it sound. It is a clone of Borland Turbo Pascal's IDE for DOS.
However, the IDE that was talked about in the article that can do RAD is called "Lazarus" and you can find it at http://lazarus.freepascal.org/
Lazarus really is a good IDE if you've used something like Delphi or the early versions of VB. It's very comparable to those. It also can do cross platform applications just like stated in the article, it really is just a simple recompile away from another platform. I'm just not a huge fan of Pascal, but if I was I'd definitely be all about Free Pascal/Lazarus, the speed of the compiler is just absolutely amazing after having used hello-world-in-c++-takes-five-seconds-to-compile-on-a-dual-core
GCC. Not that it is a fair comparison since C++ is a very difficult language to compile.
Thanks for the link, I will check it out.. I figured there had to be something better than what I saw from the Free Pascal site. And as far as trying to compare the DOS version of Free Pascal to Netbeans or any other full featured GUI based IDE ( this is in response to the first guy who posted a response to my thread ) don't even think about going there. I would love to see someone sit down and whip out a GUI in FPC DOS at the same time someone is whipping out the same GUI in Netbeans and lets just see who gets done first. Anyway thanks for the link.
Where did you learn to read pal?
The "RAD" IDE is called Lazarus from http://lazarus.freepascal.org
The textmode IDE ala TP is called fpIDE and is part of the free pascal package (and btw. most fpc devels still use that because it had better gdb support in windows).
In any case next time, before you put something down, please try to read properly.
Just in case somebody didn't notice, Pixel image editor is written using mix of FreePascal, C and assembler: http://www.kanzelsberger.com
As I am planning to use FPC on a small Linux system (read no X) I would like to know if there is _any_ textual user interface (such as TechnoJock's Object Toolkit) for FPC.
I know that FreeVision is "available" but I haven't been able to find any kind of Pascal documentation for it, only a reference that the FPC's IDE (not Lazareus) uses it.
Please post if you know anything.
In the latest LinuxJournal magazine there is an interview about the developer behind the image editor Pixel, one of the main strength is that it is very portable.
http://www.kanzelsberger.com/pixel/?page_id=12
http://en.wikipedia.org/wiki/Pixel_image_editor
Another feature for which FPC rocks is it's ability to generate code WITH GUI ELEMENTS (!!!!!!!) that can run on ARM based PDA's and Smart Devices. I have used it in arm-wince based devices.
Neat, clean and without the tons of GB's and setting mayhem that comes with MSVS.
Well, one fundamental problem with the Linux model of backward compatibility is that a binary compiled on an old system will work on a new system (if the programmers do their work properly), but a binary compiled on a new system does not run on an old system, due to symbol versioning.
This even happens if you don't use any new functionality, i.e. your source would perfectly compile on the system.
On the other hand, a Win32 program compiled on Windows Vista can run on Windows 95 or even Win3.1+Win32s if no new functionality is used.
The result is that Windows sometimes may get a message "sorry, you need a newer Windows", but Linux users are constantly upgrading their systems, or compiling packages by hand. This is also the reason why different binaries are needed per Linux distribution.
Yes, for example see: http://taoyue.com/tutorials/pascal/









