Recent

Author Topic: Why the 'duality' Lazarus-FreePascal?  (Read 18384 times)

epergola

  • Full Member
  • ***
  • Posts: 157
Why the 'duality' Lazarus-FreePascal?
« on: July 24, 2009, 04:42:06 am »
Hi
I am addressing specifically the team. Great team, the product is REALLY good, the idea of cross-compiling behind it imho is genial.
BUT.
I hope these considerations of mine will not offend anybody.
1. Generally, a programmer is not interested in nor knowledgeable of
    the inner workings of the compilers. It has to know the
    requirements of his app and be able to set the compiler to
    produce  an app that meets those requirements. If I can make
    an example:
    if I were an interior decorator I should know what characteristics
    I want for my ceramic tiles, my wall paint, my floor panels, etc.
    But he/she will never have, nor need of, nor desire for I suspect,
    the detailed knowledge of the ceramic tile manufacturer and the
    the paint manufacturer and the wood carpenter, etc.
    Why do FPC and Lazarus not have a more unified approach?
    New FPC?here is the installer to upgrade from FP 2.2.2 to 2.2.4
    on your existing Lazarus! Maybe it requires too much time?
    Maybe not: a 'standard' installer, that replaces all the files,
    recompiles all required units needs to be created only once.
    The only thing I would need to pass to the installer is the root
    of my lazarus existing installation (in my case C:\LAZARUS): ALL
    subdirectory are the original ones created by Lazarus.
    Those who had the time, the knowledge and desire to mess
    around the directory structure will have again the time,
    knowledge (to what use?), and the passion to 'make' and
    'fpcmake' at will.
2. Corollary: 'make' and 'fpcmake' require an average college
    course to be mastered. And no, I am not mentally challenged
    and yes I have been programming for the last 25 years.
3. Maybe I can't get my idea across. I ask questions about, or I
   click Help  in Lazarus and I am 90% of the times remanded to
   FreePascal, am given examples on how to use command lines
   (pre-Lazarus) that require more and more knowledge of the
   dawn (I think) of FreePascal when there was no GUI (?)     
   I downloaded Lazarus, I would like to do everything inside Lazarus.
   I suspect the vast majority of prospective users expect the same.
In conclusion, I would not mind to pay $300-$500 for the product if it were a commercial one. So, believe me, it is not my intention to
criticize: I think the potential is much greater, and can be achieved
with more direct-help support ('run makefile with options -xyz' =? where should I be when I run the make file? 'go to your lazarus\fpc\2.2.2\source\and run makefile ...' would be helpful. The guy that has fp2.2.4 will KNOW that he must do to 2.2.4), with more automation (installers/upgrader), with more step-by-step instructions in the answers in the Forums ('go to Project->Compiler Options->Linking and check the box Use Debug Info' would save quite a bit of time to a newbie compared with  'use debug info in your app') 

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #1 on: July 24, 2009, 08:14:28 am »
First, it's not easy to guess the level of programming skill and knowledge of each person. And for brevity (and a little laziness :D), we often think that the person have average skill and knowledge. So, the given solution is... as you might often get.
Quote
Generally, a programmer is not interested in nor knowledgeable of the inner workings of the compilers.
Correct.
Quote
t has to know the requirements of his app and be able to set the compiler to produce an app that meets those requirements.
Now you say it, he needs to know at least how to use it.
Quote
Why do FPC and Lazarus not have a more unified approach?
Because each is a separate project.
Quote
'make' and 'fpcmake' require an average college course to be mastered
Even worse, my college doesn't teach them. And my friends just get confused (some also get sick) whenever I play with it.
Quote
I ask questions about, or I click Help in Lazarus and I am 90% of the times remanded to FreePascal, am given examples on how to use command lines (pre-Lazarus) that require more and more knowledge of the dawn (I think) of FreePascal
That means, most of your problem is language related, not IDE related. Remember to separate FPC as a compiler and Lazarus as an IDE.

epergola

  • Full Member
  • ***
  • Posts: 157
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #2 on: July 24, 2009, 08:56:32 am »
Leledumo
you are a hero member but this answer is not that heroic.
First, just a note. You write "we often think that the person have average skill and knowledge." knowledge of what?
I started my University Computer Science courses (in Canada, York University, not in Papuasia) dealing with Assmbly (the '0' and '1' if I recall well) then Fortran, PL1, Pascal etc... Maybe your peers are all Einstein of CS?

1 "Now you say it, he needs to know at least how to use it."
   In fact I do. "Write once, compile everywhere".
   I use Lazarus, I compiled for wince exactly as I should according
   not  to me, but to the Lazarus IDE and documentation
2 "Because each is a separate project."Not true. They are not
   separate, but inter-twined. Try do do anything with Lazarus
    without  FreePascal....
3. "even worse, my college doesn't teach them." Neither I can find
    one. One  more reason to get more friendly, straightforward help.
4. But anyway, b/cyou must npot be that "bad" since you ansered
   me...:_). What is this if  not a bug???
   BRAND NEW Preoject, 2 forms
    in form1 1 button, on click
        form2:=tForm2.Create(self)
        form2.showmodal;
         form2free
    in form 2 1 buttom, onclick
       modalresult=MrCancel
    I press the button in form1 4times , all isfine.
    On the 5th time.... bingo!!!! SIGSEV!
    I REPEAT: only 2 forms, 2 button. Nothing of bytes, integers
    array. record. ,misaligned bus or streetcar.... NOTHING at all
(target OS Target Cpu set fine in Lazarus IDE: IN FACT it runs 4 times before crashing!)
So? Is there a WinCe team member on the  Forum? Nobady cares?
Has anybody tried it (may happen after 6 or 7 tries)/ Have you
tried it Leledumo? I did ALL 'according to the book' of lazarus.
So? I spent countless sleepless nights. Can anybody help?



skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #3 on: July 24, 2009, 09:53:23 am »
So? Is there a WinCe team member on the  Forum? Nobady cares?
Has anybody tried it (may happen after 6 or 7 tries)/ Have you
tried it Leledumo? I did ALL 'according to the book' of lazarus.
So? I spent countless sleepless nights. Can anybody help?
I've not developed WinCE, so i can't say for sure. But why don't you use logging?
Logging the application proves to be the most reliable way to debug, so far.
Of course it's not that nice and easy as it would be with a proper debugger. But it seems like it's the only way for you.

There're some logging in LCL (DebugLn or writeln), most of them are commented.
So you probably want to uncomment them.

Since you have a crash on Form2.Free. It's logical to insert logs into Form's destructor.

something like this (customform.inc file):

Code: [Select]
{------------------------------------------------------------------------------
  Method: TCustomForm.Destroy
  Params:  None
  Returns: Nothing

  Destructor for the class.
 ------------------------------------------------------------------------------}
destructor TCustomForm.Destroy;
var
  HandlerType: TFormHandlerType;
begin
  DebugLn('[TCustomForm.Destroy] A ',Name,':',ClassName);
  if not (csDestroying in ComponentState) then GlobalNameSpace.BeginWrite;
  try
    DebugLn('[TCustomForm.Destroy] FreeThenNil(FIcon)');
    FreeThenNil(FIcon);
    DebugLn('[TCustomForm.Destroy] FreeIconHandles');
    FreeIconHandles;
    DebugLn('[TCustomForm.Destroy] Screen.RemoveForm(Self)');
    Screen.RemoveForm(Self);
    DebugLn('[TCustomForm.Destroy] FreeThenNil(FActionLists)');
    FreeThenNil(FActionLists);
    DebugLn('[TCustomForm.Destroy] for HandlerType:=Low(FFormHandlers) to High(FFormHandlers)');
    for HandlerType:=Low(FFormHandlers) to High(FFormHandlers) do
      FreeThenNil(FFormHandlers[HandlerType]);
    DebugLn('[TCustomForm.Destroy] B ',Name,':',ClassName);
    inherited Destroy;
    DebugLn('[TCustomForm.Destroy] END ',Name,':',ClassName);
  finally
    GlobalNameSpace.EndWrite;
  end;
end;

Recompile LCL and application.
Run it, and see the logs.

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1933
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #4 on: July 24, 2009, 10:17:46 am »
This guy had a similar problem:
http://www.lazarusforum.de/viewtopic.php?f=24&t=1549

He said rebuiliding the LCL for WinCE/Arm helped.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #5 on: July 24, 2009, 10:27:48 am »
Quote
knowledge of what?
Of the compiler and IDE.
Quote
Maybe your peers are all Einstein of CS?
Nope, even most of them can't program at all.
Quote
They are not separate, but inter-twined. Try do do anything with Lazarus without FreePascal....
Well... I can still design my apps and use Delphi to compile (maybe with XDev Toolkit help and some adjustments here and there). One thing for sure, I can use FreePascal without Lazarus. Each is also developed by different teams (though some members might work on both).
Quote
What is this if  not a bug???
Have you filed a bug report?
Quote
Have you tried it Leledumo?
Don't have WinCE or its emulator and not interested in it currently.

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1933
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #6 on: July 24, 2009, 10:31:47 am »
One  more reason to get more friendly, straightforward help.

It's really simple: If somebody knows the answer, he will answer.
There is no support staff.

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 1216
    • Burdjia
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #7 on: July 24, 2009, 11:50:48 am »
Quote from: epergola
Why the 'duality' Lazarus-FreePascal?

The fast answer is: They are different projects.

Once upon a time a guy named Florian Klaempfl created its own Pascal compiler and called it Free Pascal. Some time after that, Cliff Baeseman, Shane Miller and Michael A. Hess started their own Pascal IDE and decided to use the Free Pascal compiler and called it Megido, but that project was dissolved. Then Marc Weustink and Mattias Gaertner continued the project renaming it as Lazarus.

Or that is the story I read. ::)

1. Generally, a programmer is not interested in nor knowledgeable of
    the inner workings of the compilers. It has to know the
    requirements of his app and be able to set the compiler to
    produce  an app that meets those requirements.

I think I not agree. The better you know about the inner workings of the compilers, better applications you'll create with them, don't you?

2. Corollary: 'make' and 'fpcmake' require an average college
    course to be mastered. And no, I am not mentally challenged
    and yes I have been programming for the last 25 years.

Absolutely not. I think I've mastered 'make' and it's my favourite tool to compile my applications in any language (I program C, Objective C and COBOL too) and I haven't a college course finished actually. :P

About the 'fpcmake', well, I did try to use it and I didn't success but it's because there are almost no documentation available except few useless examples. I think if there's the same documentation about 'fpcmake' than 'make' (I mean this) I'll mastered both them. 8-)

3. Maybe I can't get my idea across. I ask questions about, or I
   click Help  in Lazarus and I am 90% of the times remanded to
   FreePascal, am given examples on how to use command lines
   (pre-Lazarus) that require more and more knowledge of the
   dawn (I think) of FreePascal when there was no GUI (?)    
   I downloaded Lazarus, I would like to do everything inside Lazarus.
   I suspect the vast majority of prospective users expect the same.

Well: may be because your questions aren't specific to Lazarus but they are about Free Pascal compiler or the [Object]Pascal language itself.  ;)

About the IDE, Free Pascal has its very own IDE, very similar than good old TurboPascal IDE, and it works in more platforms than Lazarus (i.e. MS/free/Caldera/...-DOS operating systems). You can get that IDE downloading the stand-alone FPC package (i.e. fpc-ide.deb on Debian et al systems).

2 "Because each is a separate project."Not true. They are not
   separate, but inter-twined.

As I've said they're different projects and nobody will change this fact in the next year(s). Ask anybody.

Try do do anything with Lazarus
    without  FreePascal....

Try to do anything with Free Pascal without Lazarus... And you'll success! They're different projects and while it's true that Lazarus needs FPC, FPC doesn't need Lazarus.

Actually I don't use Lazarus often. I used it few times. Most times I use the "GNU's way": Edit using Vim, compile using make+FPC, debug using gdb. No Lazarus. And that's why I really love FPC and Lazarus.
« Last Edit: July 24, 2009, 02:18:33 pm by Ñuño_Martínez »
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

Sternas Stefanos

  • Full Member
  • ***
  • Posts: 170
  • Ex Pilot, M.Sc, Ph.D
    • http://www.pilotlogic.com
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #8 on: July 24, 2009, 01:01:25 pm »
My friend "epergola".
First of ALL Lazarus IDE and FreePascal compiler are Free Projects.
Are Community free projects.

In  Community projects, we use take and Fix-it philosophy
NOT take or leave-it, commercial way.

In Community projects, we help other people to solver their programming problems (like yours), if they respect the project and the other Community persons.

In Community projects, when we make comments for something so big like Lazarus IDE, we write our full name not "epergola".

So come and help, to make Lazarus better but with your Programming skills.




« Last Edit: July 24, 2009, 01:06:58 pm by Sternas Stefanos »
CodeTyphon Architect and Programmer

LazaruX

  • Hero Member
  • *****
  • Posts: 597
  • Lazarus original cheetah.The cheetah doesn't cheat
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #9 on: July 24, 2009, 02:33:17 pm »
Hi,
your same question could be applied a bit to
Why the 'duality' Delphi-Pascal?

FreePascal can also work on its own, without requiring Lazarus.
Lazarus is just an application made on top of FP to make development easier and nicer.
Look at this like the sidecar of a motorcycle. FP is the motorcycle, Lazarus the Sidecar. The motorcycle (FP) can also work on its own. But the sidecar (Lazarus) requires the motorcycle(FP) .


In Community projects, when we make comments for something so big like Lazarus IDE, we write our full name not "epergola".
Everybody chooses the name he/she wants. Maybe he's just concerned about privacy. Nick names do have a reason to exist, ... ;-)

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #10 on: July 24, 2009, 03:03:55 pm »
Maybe there would be less confusion if a common "official" name existed for the two projects. Do we develop our projects in FreePascal or Lazarus? I think it's fair to say, in Lazarus/FPC.
Lazarus/FPC on Linux

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1933
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #11 on: July 24, 2009, 03:22:59 pm »
Maybe there would be less confusion if a common "official" name existed for the two projects.
I don't think this is a real problem. It's just "Delphi thinking" but even there, I guess there are different people developing Compiler, RTL, VCL and IDE.
It's the same "problem" for KDevelop/GCC, Netbeans/JDK etc..

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #12 on: July 24, 2009, 05:07:19 pm »
It's just "Delphi thinking" but even there, I guess there are different people developing Compiler, RTL, VCL and IDE.
It's the same "problem" for KDevelop/GCC, Netbeans/JDK etc..

Exactly. And IMO this is an opportunity to simplify matters for people who are not familiar with it. Notice that you referred to those projects as KDevelop/GCC and Netbeans/JDK. Apple make Mac OSX, not Darwin and Aqua and Finder. Linux is not referred to as Linux and XWindow and Gnome or KDE. Even if Lazarus and FPC had started as a single project it would have had to be broken into several subprojects, with different developers working on each of these subprojects. But in the end, it would be better if Lazarus/FPC were perceived as a monolithic "product". That would help placing it in a class with Delphi rather than with KDevelop and GCC -- if that is what we want, of course. It would help market it more efficiently as open-source software while not blurring the distinction between Lazarus and FPC.
« Last Edit: July 24, 2009, 05:14:21 pm by Troodon »
Lazarus/FPC on Linux

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1933
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #13 on: July 24, 2009, 06:56:30 pm »
But in the end, it would be better if Lazarus/FPC were perceived as a monolithic "product".

Not sure. I think the problem (if ever) is that Lazarus IS perceived as a monolithic product.
So that the people are not aware of the fact that some questions would be better asked in the FPC mailing-list etc.

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Why the 'duality' Lazarus-FreePascal?
« Reply #14 on: July 24, 2009, 08:01:19 pm »
is Cheetah the logo of Lazarus or FPC? :)

IHMO, the problem is not with duality itself, but with some features that don't work as expected.
If everything works fine and smooth, nobody would ever care about the separate nature of the compiler and the IDE.

 

TinyPortal © 2005-2018