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