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.



      
_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to