Lazarus and FPC integration

classic Classic list List threaded Threaded
75 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Lazarus and FPC integration

David Emerson
I think the time has come to integrate (the installations of) FPC and Lazarus more fully. I'll first use myself as an example as to why; then I'll present the reasons I suspect such an integration has not already taken place, and suggest an implementation of the integration (mostly from the end-user's perspective).

As a nearly 3-year user of FPC, I have never tried Lazarus. Why not? Well, every time I visit the Lazarus site, I find it a little confusing, and I'm concerned about conflicts with my current FPC, and am not sure which version of Lazarus to download. Based on my own experience, I suspect that many potential users are often confused by the FPC and Lazarus websites and the download procedure.

I suspect several reasons for the current lack of integration:

- Historically, Lazarus was borne out of FPC. In the minds of some of the core developers (and many others) they remain as separate entities that should be installed and thought of as independant projects (though they do integrate well together.) This may be the most significant block to the integration effort!! (Come on guys, let's acknowledge the success of the Lazarus effort by integrating the installer!)

- Some users may want to run FPC from the command-line only (or other IDE, e.g. SciTE or Vim) and not bother with the Lazarus IDE
- Some users may already have FPC installed and not want to re-download it when installing Lazarus
- other reasons?


So I hope to address all of these concerns with my proposal. I have a lot of ideas in my mind that I'd like to propose and discuss, but for now I will only present what I think is by far the most important one:

1. The primary download, that probably 90% of visitors to the FPC site would download, should be a single, integrated Lazarus-and-FPC package.

So, what do I mean by this? I mean that, when you go to www.freepascal.org and hit the big "download Free Pascal" button (link), there should be two options: one to download the integrated FPC/Lazarus environment, and the other to do something special.

This makes it EASY for new (and old!) users to get up and running with the most appropriate development environment. WE CAN STILL ACCOMODATE those users who want, e.g., a command-line-only compiler, or an older version, or to not download all the units or get documentation in a different format. But remember, those 10% are likelier to be the expert users. They are capable of navigating a few more web pages or download sites in order to figure out how to get just what they want, when the primary download does not suit them. Let the primary download serve the masses.

What I haven't really discussed here is how, or whether, to integrate the websites freepascal.org and lazarus.freepascal.org. I think they should be more integrated than they are, but the starting point is to make sure that people who navigate to either site can download what it is they really want -- an IDE with compiler included.

Oh yeah, okay, I lied ... one more little suggestion:

2. If I direct my web browser to freepascal.org, it can't find it. The site is one of the very few I encounter that requires me to type the www prefix. This is a pain in the butt and I bet it deters many potential users.

~David.




_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

L505


>- Some users may want to run FPC from the command-line only (or other IDE, e.g. SciTE or
Vim) and not bother >with the Lazarus IDE
>- Some users may already have FPC installed and not want to re-download it when installing
Lazarus
>- other reasons?

Maybe some people want to try FP-IDE and not bother with lazarus if they are from a
DOS/turbo pascal background. Myself I'm too young for that and have never used turbopascal
once.. but I'm sure others have.

Were any people at the Systems from turbo pascal era? i.e. i hear turbo pascal was used in
universities a lot in some places.

>2. If I direct my web browser to freepascal.org, it can't find it. The site is one of the
very few I encounter that >requires me to type the www prefix. This is a pain in the butt
and I bet it deters many potential users.


Simple .htaccess fix with mod_rewrite (attention: webmaster ;) )

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Daniel Franzini
In reply to this post by David Emerson


On 10/29/05, David Emerson <[hidden email]> wrote:
I think the time has come to integrate (the installations of) FPC and Lazarus more fully. I'll first use myself as an example as to why; then I'll present the reasons I suspect such an integration has not already taken place, and suggest an implementation of the integration (mostly from the end-user's perspective).

 well, I myself as an end-user (aiming to help developing too) think that they should not be integrated...at least not officially....but, well, the sources and other tools are out there....ANYONE can produce such a package

As a nearly 3-year user of FPC, I have never tried Lazarus. Why not? Well, every time I visit the Lazarus site, I find it a little confusing, and I'm concerned about conflicts with my current FPC, and am not sure which version of Lazarus to download. Based on my own experience, I suspect that many potential users are often confused by the FPC and Lazarus websites and the download procedure.

your concern is quite normal...Lazarus  ain't  reached a  maturity/stability level we desired, although it is possible to produce quite useful stuff with it...

I suspect several reasons for the current lack of integration:

- Historically, Lazarus was borne out of FPC. In the minds of some of the core developers (and many others) they remain as separate entities that should be installed and thought of as independant projects (though they do integrate well together.) This may be the most significant block to the integration effort!! (Come on guys, let's acknowledge the success of the Lazarus effort by integrating the installer!)

They are independent projects!  I think everyone in this community is very pleasant to see Lazarus growing up yet lacking several components (see the Lazarus roadmap). Not integrating the installer doesn't mean we doesn't like/acknowledge Lazarus.

- Some users may want to run FPC from the command-line only (or other IDE, e.g. SciTE or Vim) and not bother with the Lazarus IDE

yeap! I'm one of those, since I use some 3rd-party editors to write code and I like to have fine control over the build process the tools I write.

- Some users may already have FPC installed and not want to re-download it when installing Lazarus

yeap!

- other reasons?


So I hope to address all of these concerns with my proposal. I have a lot of ideas in my mind that I'd like to propose and discuss, but for now I will only present what I think is by far the most important one:

1. The primary download, that probably 90% of visitors to the FPC site would download, should be a single, integrated Lazarus-and-FPC package.

well, you should notice that there are bandwidth costs and limitations...adding such a package would increase the hit in the server...maybe the core developers (I'm not included, I'm just an user) would have to buy some more space/bandwidth in order to host the package...and I think they already do quite an effort writing good code for us to use

So, what do I mean by this? I mean that, when you go to www.freepascal.org and hit the big "download Free Pascal" button (link), there should be two options: one to download the integrated FPC/Lazarus environment, and the other to do something special.

I don't think that the user who wants to write some code couldn't navigate two or more pages, download some packages and install them (also reading a bunch of documentation helps A LOT, and there are plenty of it in the Lazarus wiki). So i see no need of an oficial integration. But it's like I said before: the sources and tools are out there. You can make your own brand new  fully customized packed and distribute it. If it is really good, I'm sure people will help you with it: some can donate web space/band some can write code.

This makes it EASY for new (and old!) users to get up and running with the most appropriate development environment. WE CAN STILL ACCOMODATE those users who want, e.g., a command-line-only compiler, or an older version, or to not download all the units or get documentation in a different format. But remember, those 10% are likelier to be the expert users. They are capable of navigating a few more web pages or download sites in order to figure out how to get just what they want, when the primary download does not suit them. Let the primary download serve the masses.


The primary download do serve the masses! Just because it is not integrated doesn't mean that people don't use it or don't download it. Here in Brazil, FPC is largely used in schools and colleges to teach beginner and advanced stuff about computer programming, replacing Turbo Pascal (wich is paid (at least the >= 5.5) and quite old).

What I haven't really discussed here is how, or whether, to integrate the websites freepascal.org and lazarus.freepascal.org. I think they should be more integrated than they are, but the starting point is to make sure that people who navigate to either site can download what it is they really want -- an IDE with compiler included.

 Well, I see no point integrating those. I think people can navigate in both sites to find out what they want. And like I said, such a package would increase the costs to the developers.

Oh yeah, okay, I lied ... one more little suggestion:

2. If I direct my web browser to freepascal.org, it can't find it. The site is one of the very few I encounter that requires me to type the www prefix. This is a pain in the butt and I bet it deters many potential users.

well, if you use Firefox type freepascal and hit ctrl + shift + enter

~David.
_______________________________________________
fpc-pascal maillist  -   [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal



--
Daniel

"(...) one learns how to write code by reading code. One doesn't learn how to
ride a bike by reading a book, either." (Theo de Raadt)

"Man is driven to create; I know I really love to create things. And while I'm not good at painting, drawing, or music, I can write software." (Yukihiro Matsumoto, a.k.a. ``Matz'')

"The best way to sell yourself is to show what you have produced, rather than tell people what you know, what you want to do, or what degrees you have." John Carmack
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
In reply to this post by David Emerson
On 10/29/05, David Emerson <[hidden email]> wrote:

> - other reasons?
>

Here are the reasons why I don't use Lazarus regularly (I use
FreePascal almost every day):

- The "compiler mismatch" of Lazarus. Most of the time lazarus
requires a version of fpc that's not the current stable version.
- The lazarus site is teh sukc. The first time I decided to try
lazarus I couldn't find the download link. What I did find was several
links pointing to different versions with no indication of which
should I download. On the other side the fpc site is pretty straight
forward; you can get to good stuff in a couple of clicks.
- Let's face it: FPC is a mature and stable (and awesome) project,
Lazarus isn't. I think there shouldn't be mixed, at least for the time
being.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Felipe Monteiro de Carvalho
On 10/30/05, Agustin Barto <[hidden email]> wrote:
> On 10/29/05, David Emerson <[hidden email]> wrote:
> - Let's face it: FPC is a mature and stable (and awesome) project,
> Lazarus isn't. I think there shouldn't be mixed, at least for the time
> being.

But those are reasons to mix the projects (not in code)! From Systems
we can know that many people are not using FPC because they need a
good gui IDE.

If Lazarus website isn't very good (yes ... the download link is
pretty horrible ...) then a new website for both could became a major
improvement for both. More users and a better website for both.

Said That I think there should be 5 download options clearly visible
for the users after clicking the Download link:
1 - the latest stable FPC + Lazarus IDE (take to a page with the liks
to download for the various platforms, a short explanation on how to
install and the links must point directly to the mirrors, not another
download page to avoid the current labirint)
2 - the latest stable FPC without Lazarus IDE (same as above)
3 - development Beta FPC (instructions to get via svn)
4 - development beta Lazarus (instructions to get via svn)
5 - Download older versions of Lazarus or FPC

currently Lazarus for different platforms is mixed as are different
versions of the program. Worse, clicking the download button on the
site takes to a labirint of options ....

--
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
On 10/30/05, Felipe Monteiro de Carvalho
<[hidden email]> wrote:
>
> But those are reasons to mix the projects (not in code)! From Systems
> we can know that many people are not using FPC because they need a
> good gui IDE.

Errr...Lazarus is a good IDE/RAD? It certainly is a good start, but is
far from being comparable with other development enviroments. If you
ask me, it's too much like Delphi (that's really bad). Although 99.5%
of my apps use gui, I never use the visual editor (I gave up hoping
that the next click on the palette wouldn't kill lazarus). I'd kill to
have something like Eclipse or NetBeans for fpc.

I use Lazarus only because it's the only ide available. Don't get me
wrong, I absolutely love fpc and Lazarus, but I won't use it for any
of the projects at work (I use Java/Eclipse for that).

> Said That I think there should be 5 download options clearly visible
> for the users after clicking the Download link:
> 1 - the latest stable FPC + Lazarus IDE (take to a page with the liks
> to download for the various platforms, a short explanation on how to
> install and the links must point directly to the mirrors, not another
> download page to avoid the current labirint)
> 2 - the latest stable FPC without Lazarus IDE (same as above)
> 3 - development Beta FPC (instructions to get via svn)
> 4 - development beta Lazarus (instructions to get via svn)
> 5 - Download older versions of Lazarus or FPC

Sounds reasonable. But there aren't any lazarus stable releases yet :)
The platform version could be addressed like in the Squeak
(www.squeak.org) site. That is: Windows / Linux / MacOS / Other. btw,
that would be a good site layout for lazarus' site.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Micha Nelissen
On Sun, 30 Oct 2005 11:07:13 -0300
Agustin Barto <[hidden email]> wrote:

> Errr...Lazarus is a good IDE/RAD? It certainly is a good start, but is
> far from being comparable with other development enviroments. If you
> ask me, it's too much like Delphi (that's really bad). Although 99.5%
> of my apps use gui, I never use the visual editor (I gave up hoping
> that the next click on the palette wouldn't kill lazarus). I'd kill to
> have something like Eclipse or NetBeans for fpc.

But what exactly is missing from lazarus then ? These statements are all
too vague. Lazarus does not need any particular version of fpc per se
(other than being >= 2.0.0), but you do need a tools -> build lazarus if
you switch from one version to another, to recompile the LCL units to be
compiled compatible to your installed FCL units from FPC.

Micha
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Felipe Monteiro de Carvalho
In reply to this post by Agustin Barto
On 10/30/05, Agustin Barto <[hidden email]> wrote:
> Errr...Lazarus is a good IDE/RAD? It certainly is a good start, but is
> far from being comparable with other development enviroments. If you
> ask me, it's too much like Delphi (that's really bad). Although 99.5%
> of my apps use gui, I never use the visual editor (I gave up hoping
> that the next click on the palette wouldn't kill lazarus). I'd kill to
> have something like Eclipse or NetBeans for fpc.

I think Lazarus is a great RAD IDE. I created (the start of) a
multi-platform gui for my ISA oscilocope in 1 day. The other guys on
the project were amazed, they say: I would take weeks to do this on
c++!! The project is also undoable on java. Clicking the pallete has
never killed Lazarus for me.

What exactly is wrong on it being Delphi like??? I love Delphi (the
non .net at least).

I think you need to try the latest stable Lazarus (0.9.10) and take a
look if it is still unstable .. maybe you tested an old lazarus. The
project has had significant improvements.

Please give objective reasons to back up your statement that Lazarus
is a bad IDE (and test the latest stable one to see if the problems
were not fixed).

The download page: http://sourceforge.net/project/showfiles.php?group_id=89339

--
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
On 10/30/05, Felipe Monteiro de Carvalho
<[hidden email]> wrote:
>
> Please give objective reasons to back up your statement that Lazarus
> is a bad IDE (and test the latest stable one to see if the problems
> were not fixed).
>

a) Unicode didn't work for me on any (including the lastest) version
of Lazarus. I don't know if this is a bug related to my particular
enviroment (x86/FC4) or a limitation of the code editor.

b) When I really needed the multiplatform feature of Lazarus, I
couldn't get the UI to look the same on Windows and Linux. I had some
serious layout problems. The speed wasn't the same either.

c) My capstone project did some pretty intensive numerical computing.
On Delphi it behaved reasonably good. The binaries compiled with fpc
where OpenOffice.org 2.0 slow! even with aggressive non-portable
optimizations (obviously this isn't lazarus problem).

d) Most of my work comes from refactoring old code. Lazarus
refactoring features are pretty basic. This isn't much of a problem,
though. Most of the Pascal (and ObjectPascal) code I work with is
beyond refactoring (the language imposed architectural limitations).

e) The problem with beign Delphi-like (or visual design-centric) is
that it imposes some pretty ugly designs on the programmer, and this
creates bad habits. For small projects this is obviously not a
problem, but when you have to reuse code that comes with huge programs
designed with these methods in mind, it can be a pain in the ass. (not
entirely Lazarus' fault, though).

I've worked with a lot of development enviroments and I can see any
reason (other than the license) to use Lazarus over others. If I
*have* to use ObjectPascal on Linux there are no competitors for
Lazarus, but when I get to choose the language I choose Java/Eclipse,
Java/NetBeans or any Smalltalk-based IDE if the project requires OO,
and KDevelop/C for the rest.

Please note that *I use Lazarus and I will use Lazarus in the future*
(or at least until I get rid of the old ObjectPascal legacy code), but
until some of the issues are solved (like the Unicode problem) I'll
try with Emacs/fpc first.

btw, I really wouldn't like to start a flamewar :)
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Florian Klämpfl
Agustin Barto wrote:

 > a) Unicode didn't work for me on any (including the lastest) version
 > of Lazarus. I don't know if this is a bug related to my particular
 > enviroment (x86/FC4) or a limitation of the code editor.

Unicode can mean a lot?

> b) When I really needed the multiplatform feature of Lazarus, I
> couldn't get the UI to look the same on Windows and Linux. I had some
> serious layout problems. The speed wasn't the same either.

You have to use panels and give up absolute layouts they won't work
cross platform.

>
> c) My capstone project did some pretty intensive numerical computing.
> On Delphi it behaved reasonably good. The binaries compiled with fpc
> where OpenOffice.org 2.0 slow! even with aggressive non-portable
> optimizations (obviously this isn't lazarus problem).

I still want to see the code which with slower with fpc 2.0 than with
Delphi :) A lot of people say so, nobody was able yet to show me real
code :)))

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Felipe Monteiro de Carvalho
In reply to this post by Agustin Barto
On 10/30/05, Agustin Barto <[hidden email]> wrote:
> a) Unicode didn't work for me on any (including the lastest) version
> of Lazarus. I don't know if this is a bug related to my particular
> enviroment (x86/FC4) or a limitation of the code editor.

Witch unicode? UTF-8 obviously works on Lazarus as the editor produces
and reads files in this format. I have also worked with lazarus and
XML files, witch are normally in UTF-8.

> b) When I really needed the multiplatform feature of Lazarus, I
> couldn't get the UI to look the same on Windows and Linux. I had some
> serious layout problems. The speed wasn't the same either.

Works perfectly here and with some very fast graphics on both
platforms. I use Anchors and Contraints to maintain appearance when
the form is resized. I don´t know what you used. The speed is good on
both for drawing graphics at 30Hz.

> c) My capstone project did some pretty intensive numerical computing.
> On Delphi it behaved reasonably good. The binaries compiled with fpc
> where OpenOffice.org 2.0 slow! even with aggressive non-portable
> optimizations (obviously this isn't lazarus problem).

My app performed very well doing Fourier Analisys on very big waves on
a 233Mhz machine running Damn Small Linux ... I got pretty impressed.

> d) Most of my work comes from refactoring old code. Lazarus
> refactoring features are pretty basic. This isn't much of a problem,
> though. Most of the Pascal (and ObjectPascal) code I work with is
> beyond refactoring (the language imposed architectural limitations).

How does pascal imposes architectural limitations? FPC even works on ARM...

> e) The problem with beign Delphi-like (or visual design-centric) is
> that it imposes some pretty ugly designs on the programmer, and this
> creates bad habits. For small projects this is obviously not a
> problem, but when you have to reuse code that comes with huge programs
> designed with these methods in mind, it can be a pain in the ass. (not
> entirely Lazarus' fault, though).

What bad designs does it impose the programmer?? I have a big interest
to know because I like to make a as reusable as possible code. Are you
talking about the form designer??

> I've worked with a lot of development enviroments and I can see any
> reason (other than the license) to use Lazarus over others. If I
> *have* to use ObjectPascal on Linux there are no competitors for
> Lazarus, but when I get to choose the language I choose Java/Eclipse,
> Java/NetBeans or any Smalltalk-based IDE if the project requires OO,
> and KDevelop/C for the rest.

And you talked about

here are many reasons to write code in Lazarus and not in c++ or in Java:

I deploy over the internet to a very wide public that may use
extremely slow computers, so I simply *cannot* in anyway force them to
install something that cannot fit a floppy or something that requires
a big library. And it also needs to perform very well with a easy to
use GUI.

This eliminates:
a) C++ using any platform independent library, like gtk, qt,
wxwidgets, etc, because the library is too big to fit a floppy

b) Java because it is slow and I my apps need to run even on a 233Mhz
pc with Windows 95. I cannot force my users to download the virtual
machine.

c) VB and it´s ugly run-time. But then VB was already eliminated
because it is a ridiculously weak language.

What I could use:
a) Delphi, and I use it. It is a wonderful option, but is not multi-platform.

b) Lazarus and is multi-platform

c) c++ and deploy only to Windows. I am not convinced that this option
is better then Delphi ... so if I need to be Win only I will choose
Delphi

I don´t like scripting languages like perl or python because I dislike
the performance penalty they impose. I plan to run on 486s =)

--
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Alain Michaud
In reply to this post by Agustin Barto

> Errr...Lazarus is a good IDE/RAD? It certainly is a good start, but is
> far from being comparable with other development enviroments. If you
> ask me, it's too much like Delphi (that's really bad). Although 99.5%
> of my apps use gui, I never use the visual editor (I gave up hoping
> that the next click on the palette wouldn't kill lazarus). I'd kill to
> have something like Eclipse or NetBeans for fpc.
>
> I use Lazarus only because it's the only ide available. Don't get me
> wrong, I absolutely love fpc and Lazarus, but I won't use it for any
> of the projects at work (I use Java/Eclipse for that).

I use Lazarus, and I like it very much.  They have improved it very much
since the last two releases and it does not crash any more. It is a
GREAT software, and even if the documentation should more uniform, the
2-packages system  (FPC-Lazarus) is OK.

My message to the developers: Do not add any new features until the
first Official release. Then write a book!

Good luck.

Salut

Alain Michaud    


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Bugzilla from elio@mixtk.com
In reply to this post by Felipe Monteiro de Carvalho
El Dom 30 Oct 2005 11:47, Felipe Monteiro de Carvalho escribió:
> On 10/30/05, Agustin Barto <[hidden email]> wrote:
> > a) Unicode didn't work for me on any (including the lastest) version
> > of Lazarus. I don't know if this is a bug related to my particular
> > enviroment (x86/FC4) or a limitation of the code editor.
>
> Witch unicode? UTF-8 obviously works on Lazarus as the editor produces
> and reads files in this format. I have also worked with lazarus and
> XML files, witch are normally in UTF-8.

Hhhmmm, i just opened an UTF-8 document in the editor and it didn't display it
correctly, perhaps there's a setting hidden somewhere?
Another thing that doesn't work in Lazarus is the input of accented
characters. Hitting á produces 'a. This migh not be a big deal but is very
annoying.

> [...]
> > e) The problem with beign Delphi-like (or visual design-centric) is
> > that it imposes some pretty ugly designs on the programmer, and this
> > creates bad habits. For small projects this is obviously not a
> > problem, but when you have to reuse code that comes with huge programs
> > designed with these methods in mind, it can be a pain in the ass. (not
> > entirely Lazarus' fault, though).
>
> What bad designs does it impose the programmer?? I have a big interest
> to know because I like to make a as reusable as possible code. Are you
> talking about the form designer??

This is a common problem with "visual" IDE's, they are focused in
implementation speed and not overall project quality, this had already been
discused in other places. As Agustin pointed this is not visible for small
Form1 based projects but it gets bad as the project grows. I agree this is
not entirely Lazarus' fault too.

>
>
> This eliminates:
> a) C++ using any platform independent library, like gtk, qt,
> wxwidgets, etc, because the library is too big to fit a floppy

Which library do you use for Pascal that fits in a floppy?

>
> I don´t like scripting languages like perl or python because I dislike
> the performance penalty they impose. I plan to run on 486s =)

Perl is usually fast, Python not so much. But anyway if you want fast go with
assambler :-).

>
> --
> Felipe Monteiro de Carvalho
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Felipe Monteiro de Carvalho
> > This eliminates:
> > a) C++ using any platform independent library, like gtk, qt,
> > wxwidgets, etc, because the library is too big to fit a floppy
>
> Which library do you use for Pascal that fits in a floppy?

LCL (Win32 on Windows and gtk 1.2 for Linux).

After strip and upx I get:
700kb on Linux
420kb on Windows

And this does not require any special library to be distributed. I am
guessing any modern linux already comes with gtk 1.2 +. The main size
problem is for Windows, witch in run on the vast majority of old
computers. The app needs to fit a floppy and run on a 233Mhz computer
with Windows 95. Lazarus produces this kind of app.

The result with Delphi is significantly superior as I get a 400kb app
that handles XML DOM, many forms and lot´s of data without upx. But is
not platform independent...

> Perl is usually fast, Python not so much. But anyway if you want fast go with
> assambler :-).

No, I have already seen a speed comparion using the factoring of a
number as the problem. Perl and Python are overwelmingly inferior no
anything, including Java, c++ and pascal. java is slow then both c++
and pascal.

Assembler is not cpu independend =)

--
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Micha Nelissen
In reply to this post by Bugzilla from elio@mixtk.com
On Sun, 30 Oct 2005 13:48:52 -0600
Elio Cuevas Gómez <[hidden email]> wrote:

> > > e) The problem with beign Delphi-like (or visual design-centric) is
> > > that it imposes some pretty ugly designs on the programmer, and this
> > > creates bad habits. For small projects this is obviously not a
> > > problem, but when you have to reuse code that comes with huge programs
> > > designed with these methods in mind, it can be a pain in the ass. (not
> > > entirely Lazarus' fault, though).
> >
> > What bad designs does it impose the programmer?? I have a big interest
> > to know because I like to make a as reusable as possible code. Are you
> > talking about the form designer??
>
> This is a common problem with "visual" IDE's, they are focused in
> implementation speed and not overall project quality, this had already been
> discused in other places. As Agustin pointed this is not visible for small
> Form1 based projects but it gets bad as the project grows. I agree this is
> not entirely Lazarus' fault too.

I'd like to know why this isn't a problem in Eclipse or KDevelop, but is in
Lazarus.

Micha
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
In reply to this post by Felipe Monteiro de Carvalho
On 10/30/05, Felipe Monteiro de Carvalho
<[hidden email]> wrote:
>
> Witch unicode? UTF-8 obviously works on Lazarus as the editor produces
> and reads files in this format. I have also worked with lazarus and
> XML files, witch are normally in UTF-8.

I can't type any international characters (like accented vowels) in
the editor. FYI, mi FC4 uses UTF-8.

> > c) My capstone project did some pretty intensive numerical computing.
> > On Delphi it behaved reasonably good. The binaries compiled with fpc
> > where OpenOffice.org 2.0 slow! even with aggressive non-portable
> > optimizations (obviously this isn't lazarus problem).
>
> My app performed very well doing Fourier Analisys on very big waves on
> a 233Mhz machine running Damn Small Linux ... I got pretty impressed.

It was a very complex statistical analysis. Many many huge matrices.
On Delphi it took almost a day to complete a process, on fpc (running
on Windows) I had to stop it after 50 hours. Maybe I was being unfare
with fpc. It has to work reasonably well on any of the supported
architectures, while Delphi only has to deal with one.

> How does pascal imposes architectural limitations? FPC even works on ARM...

I was talking about design. One example? Polymorphism with primitive
data types can get really messy really fast with ObjectPascal. It's
not easy, for instance, to have a generic data structure that can
store *any* primitive data in a type-safe way. I have to admit that
this kind of problem can be solved, but my point was, that in other
languages this isn't an issue.

>
> What bad designs does it impose the programmer?? I have a big interest
> to know because I like to make a as reusable as possible code. Are you
> talking about the form designer??

Software that's designed starting from the user interface to the
behavioral parts of the program leads to some pretty nasty design
bias. We usually call this the "visual basic syndrome" :)

>
> I deploy over the internet to a very wide public that may use
> extremely slow computers, so I simply *cannot* in anyway force them to
> install something that cannot fit a floppy or something that requires
> a big library. And it also needs to perform very well with a easy to
> use GUI.
>

Good point. We usually deal with resource shortage on the client side
using a three-tiered architecture or virtual machines. If I absolutely
*have* to delegate some work on the client (maybe due to the lack of
adequate network connection), fpc/lazarus seems like good solution in
terms of portability and resource economy.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Felipe Monteiro de Carvalho
On 10/30/05, Agustin Barto <[hidden email]> wrote:
> I can't type any international characters (like accented vowels) in
> the editor. FYI, mi FC4 uses UTF-8.

AFAIK this is a gtk only problem and has already being submited as a
bug report (by me). It works perfectly on Windows. And the problem is
only related to the IDE. TEdit (and programs that use it) can handle
accented words on gtk. The real importance is the programs produced by
the IDE not it. The problem then becames only a annoyance on linux.

--
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Florian Klaempfl-2
In reply to this post by Agustin Barto
Agustin Barto wrote:
> I was talking about design. One example? Polymorphism with primitive
> data types can get really messy really fast with ObjectPascal. It's
> not easy, for instance, to have a generic data structure that can
> store *any* primitive data in a type-safe way.

Variants?

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
In reply to this post by Felipe Monteiro de Carvalho
On 10/30/05, Felipe Monteiro de Carvalho
<[hidden email]> wrote:
> AFAIK this is a gtk only problem and has already being submited as a
> bug report (by me). It works perfectly on Windows. And the problem is
> only related to the IDE. TEdit (and programs that use it) can handle
> accented words on gtk. The real importance is the programs produced by
> the IDE not it. The problem then becames only a annoyance on linux.

It's a HUGE problem! I can't properly document the code!

This is a big problem for me, 'cause I only use Windows to play games :)

I hope it gets fixed.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Lazarus and FPC integration

Agustin Barto
In reply to this post by Florian Klaempfl-2
On 10/30/05, Florian Klaempfl <[hidden email]> wrote:
> Agustin Barto wrote:
> > I was talking about design. One example? Polymorphism with primitive
> > data types can get really messy really fast with ObjectPascal. It's
> > not easy, for instance, to have a generic data structure that can
> > store *any* primitive data in a type-safe way.
>
> Variants?
>

If Variants could store objects and interface instances, maybe. I
could use pointers too, but I really don't want to implement poor
men's polymorphism :)

I solved the problem using a single-rooted wrapper hierarchy (java
style). It's not elegant nor efficient, but it saved me from writing
the same code over and over, and having to deal with pointers, or
variants.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
1234