Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2008-08

Pasic Ide - previously named Lightsarus

12 messages · 6 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ciprian Mustiata

Hi Lazarus devel team and users,

Back in december 2007 I've announced (Ciprian Mustiata) a Lazarus fork named Lightsarus. Because the effort to make it a new Lazarus or to sustain a big Lazarus legacy was big I was reconsidered the idea. So I've consider to see the Lazarus/FreePascal issues and I will try with that project to attack that issues. Most of issues were discussed wit Mathias and with Florian in my attemp to give a new fresh look to Lazarus.

FreePascal issues:
- FreePascal is a very powerful compiler, yet some features of it like RTTI support cannot pass the FPC RTL bound. Another issue is to create components, for the same reason in another languages. .NET languages write all code in a language independent mannger as much as they write a descrption of the code. RTTI and Reflection (the biggest importante of RTTI) is a part of .NET/Mono. So someone may create one Button class in C#, and may be reused in VB and to be checked with IS and AS operator with no issue, because the C# compiled code is enough high level to have that informations to it
- FreePascal is hard to get componetized, for the previous issue. This means that is for now impossible (from my knowledge) to create a component in a DLL and to import in Lazarus. That has multiple reasons, one of it is that FreePascal internal unit structure may change from revision to revision. The format that .NET uses can be used as a component from any other language and is standardized (in ECMA). So if you have some C# code (like SharpZLib that offers code for archiving/extracting from different archives), you may use it freely from any other .NET languages
- FreePascal applications are huge! Even with smartlink, strip, the Lazarus IDE have 8 MB, without stripping and with default settings, Lazarus executable have 80 M. For instance the Pasic IDE (yet not so big), after it embeds 100k, and the entire binary have 200k. A hello world application in .NET/mono is around 3-4k.
- improvements over FreePascal in performance, can be achieved in the new applications after recompiling. Improvements over mono runtime are for free over all code.

Lazarus IDE issues:
- LCL: LCL wants to be (and is) a multiplatform way to mimic Delphi VCL over a lot of runtimes. Win32, Cocoa, Qt, Gtk1, Gtk2, etc. All of them seem credible, yet they have issues and different behavior. You may take in account making an enterprise ready code that you should test twice the LCL code before you submit over one platform (for instance Linux and GTK2). Right now most of blockers are solved, yet some other like drag&drop did not work
- Lazarus IDE interface mimics Delphi 7. Yes, Delphi 7 is a nice release, I am fully agree with it, yet Lazarus stride to achieve to be a smaller cousin of an older product. Linux for instance did not try to mimic AIX (even IBM is a great contribuitor to it), is less foundamental close to Unix than is OS X Leopard. Thinking that Lazarus may be used for education purposes, because Pascal is an easy language to learn, Lazarus became a headache. Code completion did not work (well), a lot of code and UI looks outdated, you have to make a combination between FreePascal/Lazarus wiki, Delphi VCL help and Google to solve your problems, which most of persons are not ready (without some experience)

Anyway, Lazarus is de-facto IDE of FreePascal language, is pretty capable, that is for sure, FreePascal the same.

Pasic IDE wants to build an Object Pascal on top of Mono (.NET). For that it was took for now the best of the breed .NET compiler of Pascal (RemObjects Oxygene, known as Chrome) and stride to build a new UI fo development. Today the team (made from two persons) achieve the pre-alpha milestone where something starts, something imports, someting open, blah blah.

We considered more than once what is the best approach to add value for free software development and that approach say:
- we will not recreate a new runtime (LCL) as Mono offers enough
- we will not create a RTL as right now exist a very good one (partially correct for some persons)
- the platform is from scratch well documented (even is on MSDN Microsoft site)
- it will work on any Mono platform. For instance may work on iPhone because there is a build of Mono on it
- we will not focus on optimizations, componentization, is made by design
- the IDE will use Tango principlies (and they will have one distinct look and feel on all platforms)
- it will be user oriented. The UI applies automatically as in Gnome, most dialogs have no Apply button. there is a study in Tango project that the title bar for new users should be bigger and better to contain a title and a subtitle, and is implemented, etc.
- if there is a company that wants extra-testing, etc. it may pay and the money will go back to development (most development will focus in compiler side, which we want to make a complete Oxygene implementation of it)

So, there is a site: http://www.pasicide.org , today we announce only the first pre-alpha version (to know what will be all about).

If you have ideas or you want to contribuite to it, go to forum ( http://www.pasicide.org/forum ) or contact us personally ( ciprian dot mustiata at yahoo dot com ).

Regards and we think that is a good new for Pascal comunity, The Pasic IDE team

Search for all things and keep only what is good.

Reply by email

Florian Klaempfl
to Ciprian Mustiata
Hi Lazarus devel team and users, - FreePascal applications are huge!

Well, PasIDE needs 28 MB here to display an error at startup while FPC/Lazarus needs 24 MB to run a full RAD IDE. Not to talk about the .Net framework downloads.

So I wonder what's huge :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Paside.png
Type: image/png
Size: 28585 bytes
Desc: not available
Url : http://www.lazarus.freepascal.org/pipermail/lazarus/attachments/20080824/78f28596/attachment-0001.png

Reply by email

Ciprian Mustiata

Thank you Florian for your bug report.

Right now should launch or at least to display a better error in a Message Box. Is fixed and uploaded the fix.

Regards,
Ciprian

Search for all things and keep only what is good.

Earlier message 16 lines
----- Original Message ---- From: Florian Klaempfl To: General mailing list Sent: Sunday, August 24, 2008 4:08:25 PM Subject: Re: [Lazarus] Pasic Ide - previously named Lightsarus Ciprian Mustiata schrieb: > Hi Lazarus devel team and users, > - FreePascal applications are > huge! Well, PasIDE needs 28 MB here to display an error at startup while FPC/Lazarus needs 24 MB to run a full RAD IDE. Not to talk about the .Net framework downloads. So I wonder what's huge :)

Reply by email

Florian Klaempfl
to Ciprian Mustiata
Thank you Florian for your bug report. Right now should launch or at least to display a better error in a Message Box. Is fixed and uploaded the fix.

Maybe you should now work on being not huge as promised. After opening two files memory usage is at 45 MB.

Reply by email

Joost van der Sluis
to Ciprian Mustiata: Thank you Florian for your bug report. Right now should launch or at least to display a…

Op zondag 24-08-2008 om 08:10 uur [tijdzone -0700], schreef Ciprian Mustiata:

Thank you Florian for your bug report. Right now should launch or at least to display a better error in a Message Box. Is fixed and uploaded the fix.

Did you also fix the memmory-issue? Which was the most important complaint? 28MB for just one error-message is a bit of a problem, no? For a project that is designed to create small programs?

Joost

Reply by email

Ciprian Mustiata

Hi Fpc/Lazarus users,

This memory measurements are biased.

Most of the memory usage in your application is not the application itself, is about the system libraries that are loaded. For instance, at the moment he point the memory usage of 28 M for a MessageBox, was the moment when the entire application was loaded, was loaded yet DLLs for processing XMLs (via System.XML .NET namespace) and Windows.Forms code. Take from yourself and run the tests. In normal case, at the same tasks, .NET should have an overhead (test by yourself) as calling system libraries.

In my default application launch (remember this is about a pre-alpha/preview release) there is: 8 M memory usage (Vista 32 bits, not 64, if someone as Florian sow that the application requires more RAM in 64 bit .NET runtime against 32 bit Lazarus) against 10M that has Lazarus.

The single issue that I wanted to point it out is that: if you take a console application in .NET (which mainly loads only kernel32.dll and mscorlib.dll - the VM of the .NET on Windows) the usage will be much lower yet similar with a FPC one (a bit more cause of mscorlib.dll). If you take that memory is not freed at once (excluding if you program using IDisposable) because of GC, in a well crafted benchmark, always will make a .NET application to use more than a Lazarus one.

But, if you consider that .NET 3.0 (Pasic requires 2.0) is a part of Windows VIsta, Mono is a part of two major distros (Ubuntu as a part of GNOME, and Suse that are teamed with Novell team that makes Mono), you may consider that distributing a .NET application is not such a big issue and there is not a requirement for download.

Considering that .NET/Mono gives to you not experiental generics, offers to you all that FreePascal have as runtime, but in some respects even more, it makes a better choice for an IDE to use it.

So, do it by yourself. Anyway, the scope of the today preview was to show how it will be about and you are very welcome to feedback any oppinions. One last issue, if you wil look in code, that many dialogs are kept in RAM, only for one reason, is faster a Show than to create a dialog from scratch. For a devel machine that is not an issue.

If you consider that have memory leaks or it use too many memory, please fill a bug report and give a real feedback (which files gives to you that usage!?), not creating FUD against something that is not Lazarus. Regarding the dialog that is used to render text, is the default TextEdit dialog that offers .NET. There was an initial try to use SharpDevelop Syntax Highlighter (similar with SynEdit) but it does not work on Linux, so for now is deffered until will be fixed to work on Linux or another highligher will be implemented.

Thank you again for your feedback,
The PasicIde team

Search for all things and keep only what is good.

Earlier message 18 lines
----- Original Message ---- From: Joost van der Sluis To: General mailing list Sent: Sunday, August 24, 2008 5:26:07 PM Subject: Re: [Lazarus] Pasic Ide - previously named Lightsarus Op zondag 24-08-2008 om 08:10 uur [tijdzone -0700], schreef Ciprian Mustiata: > Thank you Florian for your bug report. > > Right now should launch or at least to display a better error in a Message Box. Is fixed and uploaded the fix. Did you also fix the memmory-issue? Which was the most important complaint? 28MB for just one error-message is a bit of a problem, no? For a project that is designed to create small programs? Joost

Reply by email

Florian Klaempfl
to Ciprian Mustiata: This memory measurements are biased. Most of the memory usage in your application is not…
This memory measurements are biased.

Not more biased than your statements about huge applications.

If you take that memory is not freed at once (excluding if you program using IDisposable) because of GC, in a well crafted benchmark, always will make a .NET application to use more than a Lazarus one.

So what's your point? Main memory is more expensive than hard disk space.

So, do it by yourself. Anyway, the scope of the today preview was to show how it will be about and you are very welcome to feedback any oppinions.

I guess most people agree that this has nothing to do with lazarus: it's neither an addon nor compatible, so you might advertise somewhere else.

are kept in RAM, only for one reason, is faster a Show than to create a dialog from scratch.

Of course, else .Net applications would suck even more.

Reply by email

Ciprian Mustiata

Hi Henry,

Please for Pasic Ide regarding question to not ask in Lazarus Forum

I will answer privately, but as shorthand: run it with $ mono Pasic.exe and should run.

Regards,
Ciprian Mustiata

Search for all things and keep only what is good.

Earlier message 14 lines
----- Original Message ---- From: Henry Vermaak To: General mailing list Sent: Sunday, August 24, 2008 6:26:04 PM Subject: Re: [Lazarus] Pasic Ide - previously named Lightsarus 2008/8/24 Ciprian Mustiata : > The PasicIde team do you pronounce this the same as "pesticide"? just joking. how do i try this out in linux? henry

Reply by email

Felipe Monteiro de Carvalho
to Ciprian Mustiata

This thread is absolutely out of topic here. It doesn't even run with the Free Pascal compiler, but instead uses an incompatible Pascal dialect, and has nothing to do with Lazarus.

To get publicity for your producs I would suggest:

* buying some internet Ads.
* Posting this in the RemObjects forum or mailling list, supposing they have one
* Maybe the fpc-other mailling list?

The mailling list is not as easy to be moderated as the forum, so I propose that noone answer to this thread anymore, effectively closing it.

Felipe Monteiro de Carvalho -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.lazarus.freepascal.org/pipermail/lazarus/attachments/20080824/1dd38545/attachment.html

Reply by email

Graeme Geldenhuys
to Ciprian Mustiata: Hi Lazarus devel team and users, Back in december 2007 I've announced (Ciprian Mustiata)…
Ciprian Mustiata wrote
- FreePascal applications are huge! Even with smartlink, strip, the Lazarus IDE have 8 MB, without stripping and

That 8Mb executable contains a LOT of components and classes. RTL, FCL, LCL and IDE. 8Mb suddenly doesn't seem that large to me! Considering we can buy 1 Terabyte hard drives now, size is not that much of a issues. Size might be more of an issue for mobile devices, but then even those devices (I own one) can have SD cards a 1+ Gig space.

with default settings, Lazarus executable have 80 M.

That's perfectly fine, considering it's got a lot of debugging information included.

A hello world application in .NET/mono is around 3-4k.

Oh sure, but don't forget it requires a 120+Mb runtime environment. So that makes that hello world application a 123Mb executable. :-( Lazarus still beast it by far!! ;-)

Lazarus IDE issues: - LCL: LCL wants to be (and is) a multiplatform way to mimic Delphi VCL over a lot of runtimes. Win32, Cocoa, Qt, Gtk1, Gtk2, etc. All of them seem credible, yet they have issues and different behavior. You may take in account making an enterprise ready code that you should test twice the LCL code before you submit over one platform (for instance Linux and GTK2).

I have this issue with LCL as well. Make no mistake, the Lazarus team did a great job so far, but they are battling a moving target. I tackled this issue from a different perspective and implemented my own custom drawn toolkit (fpGUI) which doesn't relay on any large libraries and don't have to be a Delphi VCL clone. This works perfectly for me and our company, but isn't the goal of the Lazarus LCL. The choice is yours: Help fix the LCL issues, or switch to a different GUI toolkit. ps: I still use the Lazarus IDE though - I think that is great!!

- Lazarus IDE interface mimics Delphi 7. Yes, Delphi 7 is a nice release, I am fully agree with it, yet Lazarus stride to achieve to be a smaller cousin of an older product.

A common mistake. The goal of Lazarus is NOT to clone the Delphi IDE!!! It only wants to clone the VCL - that's it!

outdated, you have to make a combination between FreePascal/Lazarus wiki, Delphi VCL help and Google to solve your problems, which most of persons are not ready (without some experience)

Documentation patches are always welcome! Remember, FPC and Lazarus are open-source projects. Created by developers in their spare time. It has not corporate sponsors and nobody gets paid for the efforts.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Ciprian Mustiata: This memory measurements are biased. Most of the memory usage in your application is not…
Ciprian Mustiata wrote
But, if you consider that .NET 3.0 (Pasic requires 2.0) is a part of Windows VIsta, Mono is a part of two major distros (Ubuntu as a part of GNOME, and Suse that are teamed with Novell team that makes Mono), you may consider that distributing a .NET application is not such a big issue and there is not a requirement for download.

Do not make assumptions as to what your users are using. We only recently discontinued support for Win95 and force some of our users to upgrade to Win98 or newer. Most of our customers still use Win98 - their philosophy is simple: If it ain't broken, why fix it!

For them, there is no incentive it upgrading the OS, which also means they need to upgrade their hardware. Money they can spend elsewhere.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email