Sign in Join

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

Mailing lists / fpc-pascal / 2005-10

Lazarus and FPC integration

75 messages · 17 people · –

Reply by email Subscribe to this list Your subscription

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

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.

Reply by email

L505
to David Emerson
- 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 ;) )

Reply by email

Daniel Franzini
to David Emerson: I think the time has come to integrate (the installations of) FPC and Lazarus more fully.…
David Emerson wrote 6 lines
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,

Show quoted text 5 lines
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:

Show quoted text 7 lines
- 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?

Show quoted text 8 lines
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<http://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

Show quoted text 7 lines
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 <http://freepascal.org> and lazarus.freepascal.org<http://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:

Show quoted text 5 lines
2. If I direct my web browser to freepascal.org <http://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 - 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

Reply by email

Agustin Barto
to David Emerson: I think the time has come to integrate (the installations of) FPC and Lazarus more fully.…
David Emerson 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.

Reply by email

Felipe Monteiro de Carvalho
to Agustin Barto
Agustin Barto wrote
On 10/29/05, David Emerson 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

Reply by email

Agustin Barto
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho 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).

Show quoted text 10 lines
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.

Reply by email

Micha Nelissen
to Agustin Barto
Show quoted text 6 lines
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

Reply by email

Felipe Monteiro de Carvalho
to Agustin Barto: On 10/30/05, Felipe Monteiro de Carvalho Errr...Lazarus is a good IDE/RAD? It certainly…
Agustin Barto wrote 6 lines
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

Reply by email

Agustin Barto
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 5 lines
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 :)

Reply by email

Florian Klaempfl
to Agustin Barto
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.

Show quoted text 5 lines
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 :)))

Reply by email

Felipe Monteiro de Carvalho
to Agustin Barto: On 10/30/05, Felipe Monteiro de Carvalho a) Unicode didn't work for me on any (including…
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.

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...

Show quoted text 6 lines
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??

Show quoted text 6 lines
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

Reply by email

Alain Michaud
to Agustin Barto: On 10/30/05, Felipe Monteiro de Carvalho Errr...Lazarus is a good IDE/RAD? It certainly…
Show quoted text 10 lines
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

Reply by email

Elio Cuevas Gómez
to Felipe Monteiro de Carvalho: Witch unicode? UTF-8 obviously works on Lazarus as the editor produces and reads files in…
Felipe Monteiro de Carvalho wrote 8 lines
On 10/30/05, 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. 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.

Show quoted text 11 lines
[...] > 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.

Show quoted text 5 lines
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 :-).

Show quoted text 6 lines
-- Felipe Monteiro de Carvalho _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Felipe Monteiro de Carvalho
to Elio Cuevas Gómez
Show quoted text 5 lines
> 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

Reply by email

Micha Nelissen
to Elio Cuevas Gómez: Hhhmmm, i just opened an UTF-8 document in the editor and it didn't display it correctly,…
Show quoted text 16 lines
> > 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

Reply by email

Agustin Barto
to Felipe Monteiro de Carvalho: Witch unicode? UTF-8 obviously works on Lazarus as the editor produces and reads files in…
Felipe Monteiro de Carvalho 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.

Show quoted text 7 lines
> 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" :)

Show quoted text 7 lines
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.

Reply by email

Felipe Monteiro de Carvalho
to Agustin Barto
Agustin Barto 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

Reply by email

Agustin Barto
to Felipe Monteiro de Carvalho: AFAIK this is a gtk only problem and has already being submited as a bug report (by me).…
Felipe Monteiro de Carvalho wrote 5 lines
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.

Reply by email

Agustin Barto
to Florian Klaempfl: Variants?
Florian Klaempfl wrote 8 lines
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.

Reply by email

Florian Klaempfl
to Agustin Barto
Agustin Barto wrote 14 lines
On 10/30/05, Florian Klaempfl 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.

They can? Simply use custom variants.

Show quoted text 6 lines
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,

Which isn't java either ...

but it saved me from writing the same code over and over, and having to deal with pointers, or variants.

Reply by email

Felipe Monteiro de Carvalho
to Agustin Barto: On 10/30/05, Felipe Monteiro de Carvalho It's a HUGE problem! I can't properly document…
Agustin Barto wrote 6 lines
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.

You´ve beat me =)

They only thing I can say now is that I would love to see it implemented =P

here is the bug report for more info:
http://www.lazarus.freepascal.org/mantis/view.php?id=1186

Felipe Monteiro de Carvalho

Reply by email

Agustin Barto
to Florian Klaempfl: They can? Simply use custom variants. Which isn't java either ...
Florian Klaempfl wrote
> If Variants could store objects and interface instances, maybe. They can? Simply use custom variants.

Don't know what custom variants are. I'd appreciate a link to the documentation.

Show quoted text 5 lines
> I solved the problem using a single-rooted wrapper hierarchy (java > style). It's not elegant nor efficient, Which isn't java either ...

I don't know how other developers work, but for us at work, development speed is far more important (several orders of magnitude) than execution speed. If using Haskell or Lisp lets us meet or beat the ever-closing deadlines, we "advice" the client to get really fast computer with lots and lots of memory :)

I won't get into a "which is better" debate. I have enough of those trying to convince Debian users to switch Fedora :)

We use the tool that better suits our needs. The only thing that we won't use, no matter how good or profitable they can be, are Microsoft products.

Reply by email

Dean Zobec
to Agustin Barto: On 10/30/05, Felipe Monteiro de Carvalho I can't type any international characters (like…
Agustin Barto wrote 10 lines
>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" :)

It's true, but you don't have to use a RAD approach if you don't want to :) The RAD approach is handy for prototyping or for the quick development of small utilities.
When it comes to bigger projects, to avoid the inclusion of the domain code in the GUI interface code, that leads to unmaintainable projects, you can choose a different design.
One approach is the use of the RTTI - aware controls to link them to the published properties of your Business Objects or, better, use a more complex but more flexible bridge pattern to decouple the link between the business objects and the GUI without even using the RTTI metadata. You only need a powerful editor to be productive in this case, and Lazarus has a indeed a good one.
You told us about the lack of some refactoring tools: Lazarus has a wonderful object oriented framework for writing plugins, so we all can feel free to contribute to add them. It's not a Lazarus limit imho. Ciao, Dean

Reply by email

Agustin Barto
to L505: Google.com Your search - "single-rooted wrapper hierarchy" - did not match any documents.…
L505 wrote 8 lines
> > I solved the problem using a single-rooted wrapper hierarchy (java > > style). It's not elegant nor efficient, Google.com Your search - "single-rooted wrapper hierarchy" - did not match any documents.

Let's say you need a general purpose list to store any kind of primitive data or objects (you don't know in advance what are you going to store). This problem can be solve with the good ole TList and casting, but you have to deal with pointers and their syntax. What I did is define an abstract wrapper (a class) that can be evaluated to any primitive type or Object. I then define implementations of this wrapper for the primitive types, and make a list of wrappers using TList or TObjectList. If a wrapped is evaluated for the wrong type, I throw an exception (Or I just let fpc/delphi deal with the call to an abstract method).

As I said, it wasn't elegant nor efficient, but certainly was flexible. Looking back (this code is from two years ago) I guess I could have done things differently, but at the time I was just starting with Pascal and I was in a rush to get my CS degree.

Reply by email

L505
to Elio Cuevas Gómez: Hhhmmm, i just opened an UTF-8 document in the editor and it didn't display it correctly,…
Show quoted text 5 lines
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'm beginning to think we need a Big huge button in the lazarus IDE with caption as: "Hide Lazarus Component Palette (Click This Only If You Come From a Java Background)"

That caption is quite big, so the button might span across the entire screen.

I simply ignore the palette when I don't need it! Can't you? For example if I was designing the Google search engine in the Lazarus IDE, I would find little use for the component palette (except maybe for protyping templates of how the website will look, which accounts for 2 percent of the application code). But all the OTHER benefits of the IDE such as code completion, plug-ins (and for me cliptext, FTP, linux testing in Windows, etc) are what the IDE can do for me. It's not only to do with visual designer, it is also the code completion and quick syntax check, FTP uploading, and things like that.

Reply by email

Elio Cuevas Gómez
to Felipe Monteiro de Carvalho: AFAIK this is a gtk only problem and has already being submited as a bug report (by me).…
Felipe Monteiro de Carvalho wrote 9 lines
On 10/30/05, Agustin Barto 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.

I reported it directly to the Lazarus mailing list a loooong time ago. I only received "works for me" kind of answers. I hope you get more lucky and this "bug" gets fixed soon. That would be good for all of us.

Show quoted text 6 lines
-- Felipe Monteiro de Carvalho _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to Micha Nelissen: On Sun, 30 Oct 2005 13:48:52 -0600 I'd like to know why this isn't a problem in Eclipse…
Micha Nelissen wrote 6 lines
On Sun, 30 Oct 2005 13:48:52 -0600 I'd like to know why this isn't a problem in Eclipse or KDevelop, but is in Lazarus.

Don't take the comment too personal :). I don't think the "problem" is necesarily bad, i love Lazarus, it can get me an application done in a few hours even with complete lack of documentation. It's just that if used incorrectly can lead to huge problems, but that's true for any tool right?

Micha _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to Felipe Monteiro de Carvalho: LCL (Win32 on Windows and gtk 1.2 for Linux). After strip and upx I get: 700kb on Linux…
Felipe Monteiro de Carvalho wrote 17 lines
> > 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.

This is not really a fair reason to reject C++. You can also program gtk 1.2 applications in C++. Of course you still have all the other problems with C++ :).
About your guess, well, i have always had to explicitly install gtk1.2 libs in order to install Lazarus. The only exception was FC3. gtk1.2 is already too old, most distros will, if at all, use gtk2 instead. But anyway you can't spect to fit everything in a floppy do you? You always have to asume something.

Show quoted text 14 lines
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 =)

Well, all depends in the application i guess. If i want really small i use assambler (mosly for PIC programming), i want really fast i do it in C, if i want fast implementation i do it in Python, if i want fast GUI implementation i use Lazarus. For anything else i use Pascal.

Show quoted text 6 lines
-- Felipe Monteiro de Carvalho _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to L505: I'm beginning to think we need a Big huge button in the lazarus IDE with caption as:…
L505 wrote 18 lines
I'm beginning to think we need a Big huge button in the lazarus IDE with caption as: "Hide Lazarus Component Palette (Click This Only If You Come From a Java Background)" That caption is quite big, so the button might span across the entire screen. I simply ignore the palette when I don't need it! Can't you? For example if I was designing the Google search engine in the Lazarus IDE, I would find little use for the component palette (except maybe for protyping templates of how the website will look, which accounts for 2 percent of the application code). But all the OTHER benefits of the IDE such as code completion, plug-ins (and for me cliptext, FTP, linux testing in Windows, etc) are what the IDE can do for me. It's not only to do with visual designer, it is also the code completion and quick syntax check, FTP uploading, and things like that.

These are all good things, but if the IDE editor can't handle basic stuff like international characters it's not very useful. Another thing is that the IDE looks very ugly. I know these are Linux especific, in windows Laz is great. As they say, take this with a grain of salt, my ideal IDE is Kate+vim+bash+Konsole :-)

Btw, i hate Java :-)

Show quoted text 8 lines
-- L505 http://z505.com _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to Dean Zobec: It's true, but you don't have to use a RAD approach if you don't want to :) The RAD…
Dean Zobec wrote 8 lines
[...] > One approach is the use of the RTTI - aware controls to link them to the published properties of your Business Objects or, better, use a more complex but more flexible bridge pattern to decouple the link between the business objects and the GUI without even using the RTTI metadata. You only need a powerful editor to be productive in this case, and Lazarus has a indeed a good one. [...]

Excuse my ignorance, but, what's RTTI?

Reply by email

Vincent Snijders
to Elio Cuevas Gómez: These are all good things, but if the IDE editor can't handle basic stuff like…
Elio Cuevas Gómez wrote
These are all good things, but if the IDE editor can't handle basic stuff like international characters it's not very useful.

For you. It is useful for most of the English speaking people and those are quiet a lot too, although not as much as the whole world population. And even though I don't live in a English speaking country, I never had problems with it, because all source and comments of my programs are English. Therefore for me it is not a very important issue. It is nice to have for others.

Vincent.

Reply by email

Vincent Snijders
to Elio Cuevas Gómez: Excuse my ignorance, but, what's RTTI?
Elio Cuevas Gómez wrote 14 lines
El Dom 30 Oct 2005 16:52, Dean Zobec escribió: >[...] > >>One approach is the use of the RTTI - aware controls to link them to the > >published properties of your Business Objects or, better, use a more >complex but more flexible bridge pattern to decouple the link between >the business objects and the GUI without even using the RTTI metadata. >You only need a powerful editor to be productive in this case, and >Lazarus has a indeed a good one. >[...] Excuse my ignorance, but, what's RTTI?

Run-time Type Information.

See for example
http://www.freepascal.org/svn/lazarus/trunk/components/rtticontrols/examples/

Vincent.

Reply by email

Florian Klaempfl
to Vincent Snijders: For you. It is useful for most of the English speaking people and those are quiet a lot…
Vincent Snijders wrote 12 lines
Elio Cuevas Gómez wrote: > These are all good things, but if the IDE editor can't handle basic > stuff like international characters it's not very useful. For you. It is useful for most of the English speaking people and those are quiet a lot too, although not as much as the whole world population. And even though I don't live in a English speaking country, I never had problems with it, because all source and comments of my programs are English. Therefore for me it is not a very important issue. It is nice to have for others.

Indeed, if it is so important, somebody would have implemented it already :)

Reply by email

Marco van de Voort
to Elio Cuevas Gómez: This is not really a fair reason to reject C++. You can also program gtk 1.2 applications…
Show quoted text 8 lines
El Dom 30 Oct 2005 14:27, Felipe Monteiro de Carvalho escribi?: > > Assembler is not cpu independend =) Well, all depends in the application i guess. If i want really small i use assambler (mosly for PIC programming), i want really fast i do it in C, if i want fast implementation i do it in Python, if i want fast GUI implementation i use Lazarus. For anything else i use Pascal.

C shouldn't be faster than Pascal.

Reply by email

Felipe Monteiro de Carvalho
to Elio Cuevas Gómez: This is not really a fair reason to reject C++. You can also program gtk 1.2 applications…
Elio Cuevas Gómez wrote 7 lines
> > > This eliminates: > > > a) C++ using any platform independent library, like gtk, qt, > > > wxwidgets, etc, because the library is too big to fit a floppy This is not really a fair reason to reject C++. You can also program gtk 1.2 applications in C++. Of course you still have all the other problems with C++ :).

......

But anyway you can't spect to fit everything in a floppy do you? You always have to asume something.

Actually it is a fair reason for me. My apps really *need* to fit a floppy ... most of the e-mail I get about the installer I created on Delphi for BrailleVirtual Course is about people trying to put it into a floppy.

That´s the reality here in Brazil .... there are lot´s of old computers, specially in one of my main users, the public schools.

I usually test on a Pentium 100Mhz with Win95. If it runs ok I´m happy

If it´s multi-platform I also test on a Pentium233Mhz with Damn Small Linux

Well, all depends in the application i guess. If i want really small i use assambler (mosly for PIC programming), i want really fast i do it in C, if i want fast implementation i do it in Python, if i want fast GUI implementation i use Lazarus. For anything else i use Pascal.

I want both: small and also a good looking, easy to use GUI created with a RAD =)

I don´t remember the last time a created a program that does not involve a GUI.

Felipe Monteiro de Carvalho

Reply by email

Felipe Monteiro de Carvalho
to L505: If you had a procedure or a function in a Pascal record, and it was a DLL/DSO, could a C…
L505 wrote
If you had a procedure or a function in a Pascal record, and it was a DLL/DSO, could a C application import it as a Struct with a pointer to a function in that struct?

Yes, and the other way is also possible. This is done the other way round when a pascal program calls RegisterClass from the Windows API. It is sending a structure has a pointer to a function.

The only possible problem I see is if the structure contains numbers that are smaller then a Integer (smallint, byte, word, etc) ... then you may have some problems with the alignment of the data.

From the Win API example I think that if you simple declare a normal

record on both and use it as a parameter it will work.

Felipe Monteiro de Carvalho

Reply by email

Marco van de Voort
to Felipe Monteiro de Carvalho
Show quoted text 14 lines
On 10/31/05, L505 wrote: > If you had a procedure or a function in a Pascal record, and it was a DLL/DSO, could a C > application import it as a Struct with a pointer to a function in that struct? Yes, and the other way is also possible. This is done the other way round when a pascal program calls RegisterClass from the Windows API. It is sending a structure has a pointer to a function. The only possible problem I see is if the structure contains numbers that are smaller then a Integer (smallint, byte, word, etc) ... then you may have some problems with the alignment of the data. >From the Win API example I think that if you simple declare a normal record on both and use it as a parameter it will work.

Runtime library initialising might also be a problem if the DLL uses complex stuff internally?

Reply by email

Marco van de Voort
to Felipe Monteiro de Carvalho
Show quoted text 5 lines
On 10/31/05, Marco van de Voort wrote: > Runtime library initialising might also be a problem if the DLL uses complex > stuff internally? What do you mean by complex?

Anything that needs stuff in the RTL initialised. Since this includes heapmanagement this affects a lot. (like ansistring usage)

Can maybe get solved relatively easy btw (like a call to the DLL init code)

Reply by email

Agustin Barto
to Florian Klaempfl: Indeed, if it is so important, somebody would have implemented it already :)
Florian Klaempfl wrote 16 lines
Vincent Snijders wrote: > Elio Cuevas Gómez wrote: > >> These are all good things, but if the IDE editor can't handle basic >> stuff like international characters it's not very useful. > > > For you. It is useful for most of the English speaking people and those > are quiet a lot too, although not as much as the whole world population. > And even though I don't live in a English speaking country, I never had > problems with it, because all source and comments of my programs are > English. Therefore for me it is not a very important issue. It is nice > to have for others. Indeed, if it is so important, somebody would have implemented it already :)

It's a major issue. In here, we're having a serious programmer shortage. One of the coolest things about Lazarus is that it could allow us to hire people that comes from a Windows/Delphi background and integrate them into our Whatever/Linux enviroment. The problem is that not everyone is capable of writing correct (in terms of grammar and spelling) english code documentation.

I have nearly 600k lines of Delphi code that was extensively documented in Spanish. I don't want to rewrite the whole documentation just because of a bug!

Reply by email

Peter Vreman
to Agustin Barto
Show quoted text 27 lines
> >> These are all good things, but if the IDE editor can't handle basic > >> stuff like international characters it's not very useful. > > > > > > For you. It is useful for most of the English speaking people and > those > > are quiet a lot too, although not as much as the whole world > population. > > And even though I don't live in a English speaking country, I never > had > > problems with it, because all source and comments of my programs are > > English. Therefore for me it is not a very important issue. It is nice > > to have for others. > > Indeed, if it is so important, somebody would have implemented it > already :) It's a major issue. In here, we're having a serious programmer shortage. One of the coolest things about Lazarus is that it could allow us to hire people that comes from a Windows/Delphi background and integrate them into our Whatever/Linux enviroment. The problem is that not everyone is capable of writing correct (in terms of grammar and spelling) english code documentation. I have nearly 600k lines of Delphi code that was extensively documented in Spanish. I don't want to rewrite the whole documentation just because of a bug!

The cool thing about fpc and lazarus is that you can fix things yourself. Don't forget that we don't get paid and do it all in our spare free time.

Reply by email

Agustin Barto
to Peter Vreman
Peter Vreman wrote
The cool thing about fpc and lazarus is that you can fix things yourself. Don't forget that we don't get paid and do it all in our spare free time.

If Lazarus was written in Java or Smalltalk, I might be able to help out. But given that I'm not an experienced Pascal (nor GTK+) programmer...

Although it's a very unfortunate bug, it's not the end of the world. I'll just do what I usually do: Use fpc+Emacs :)

Reply by email

Micha Nelissen
to Elio Cuevas Gómez: Don't take the comment too personal :). I don't think the "problem" is necesarily bad, i…
Show quoted text 7 lines
> I'd like to know why this isn't a problem in Eclipse or KDevelop, but is in > Lazarus. Don't take the comment too personal :). I don't think the "problem" is necesarily bad, i love Lazarus, it can get me an application done in a few hours even with complete lack of documentation. It's just that if used incorrectly can lead to huge problems, but that's true for any tool right?

Well, I am aware of the fact that a visual design environment like lazarus (and delphi and VB), it's easy to fall into the trap to base your backend design on the GUI design. If Eclipse or KDevelop have a solution for this problem, then I'd like to hear it, but if they "solve" the problem by not being a visual design environment at all, the complete point is moot; then it's really unfair to say they're better because they *lack* features :-).

Micha

Reply by email

Felipe Monteiro de Carvalho
to L505: I think that is GTK. I'm still messing around with fonts and things in GTK. I think the…
L505 wrote 7 lines
>These are all good things, but if the IDE editor can't handle basic stuff like >international characters it's not very useful. Another thing is that the IDE >looks very ugly. I know these are Linux especific, in windows Laz is great. I think that is GTK. I'm still messing around with fonts and things in GTK. I think the big problem with GTK fonts/sizes is that they aren't customizable on the fly in many distros? (i.e. fonts must be set up in some text config file which people rarely play with?)

I don´t think that GTK 1 is the problem ... TEdit on GTk 1.2 on linux works pretty well and the source code editor compiled for GTK 2 also does not work (works even worse) for writting international characters.

Felipe Monteiro de Carvalho

Reply by email

L505
to Felipe Monteiro de Carvalho: Yes, and the other way is also possible. This is done the other way round when a pascal…
Yes, and the other way is also possible. This is done the other way round when a pascal program calls RegisterClass from the Windows API. It is sending a structure has a pointer to a function.

Thanks for the tip.

I think the structure that describes a procedure being used in a struct is here!

http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windowcla sses/windowclassreference/windowclassstructures/wndclass.asp

The only possible problem I see is if the structure contains numbers that are smaller then a Integer (smallint, byte, word, etc) ... then you may have some problems with the alignment of the data.

Yes I would be careful there... just use portable things like longint, bool, and etc. instead of boolean and integer.

I'm just thinking in some cases, it is nice to have a record to offer some more organization (organize like classes, but without object orientation features of course).

It seems records sure are a lot neater than Structs without the asterisks all over - gotta love Pascal.

Reply by email

L505
to Elio Cuevas Gómez: These are all good things, but if the IDE editor can't handle basic stuff like…
These are all good things, but if the IDE editor can't handle basic stuff like international characters it's not very useful. Another thing is that the IDE looks very ugly. I know these are Linux especific, in windows Laz is great.

I think that is GTK. I'm still messing around with fonts and things in GTK. I think the big problem with GTK fonts/sizes is that they aren't customizable on the fly in many distros? (i.e. fonts must be set up in some text config file which people rarely play with?)

Btw, i hate Java :-)

Why? :-) I'll add some reasons to the JAVA-SUCKS PasWiki page if you want. :-) And of course that with a grain of salt also.

Reply by email

Team Z505
to Marco van de Voort: Anything that needs stuff in the RTL initialised. Since this includes heapmanagement this…
Show quoted text 10 lines
> On 10/31/05, Marco van de Voort wrote: > > Runtime library initialising might also be a problem if the DLL uses complex > > stuff internally? > > What do you mean by complex? Anything that needs stuff in the RTL initialised. Since this includes heapmanagement this affects a lot. (like ansistring usage) Can maybe get solved relatively easy btw (like a call to the DLL init code)

So you mean automated types, stringlists, and what not?

At least in my case, I will just be using just portable stuff like Pchars, arrays, bools, longints, and simple stuff like that.

Reply by email

Team Z505
to Agustin Barto: It's a major issue. In here, we're having a serious programmer shortage. One of the…
Show quoted text 10 lines
It's a major issue. In here, we're having a serious programmer shortage. One of the coolest things about Lazarus is that it could allow us to hire people that comes from a Windows/Delphi background and integrate them into our Whatever/Linux enviroment. The problem is that not everyone is capable of writing correct (in terms of grammar and spelling) english code documentation. I have nearly 600k lines of Delphi code that was extensively documented in Spanish. I don't want to rewrite the whole documentation just because of a bug!

Have to tried translation tools? I have converted many Russian source code help files from the KOL project into English using PROMT translator online. Once in a while you get a funny translation like "I hit the code twice before she compiled me". But most of it is pretty good and pretty legible, and A LOT more automated than doing it manually.

Translators like alta vista or babelfish are not nearly as good as PROMT.

Reply by email

Team Z505
to Micha Nelissen: On Sun, 30 Oct 2005 21:08:31 -0600 Well, I am aware of the fact that a visual design…
Show quoted text 8 lines
Well, I am aware of the fact that a visual design environment like lazarus (and delphi and VB), it's easy to fall into the trap to base your backend design on the GUI design. If Eclipse or KDevelop have a solution for this problem, then I'd like to hear it, but if they "solve" the problem by not being a visual design environment at all, the complete point is moot; then it's really unfair to say they're better because they *lack* features :-). Micha

Which is why again all that needs to be done is simply the programmer needs to ignore the component palette, ignore Form1, and write everything from scratch in these cases if he wants to. Just because Emacs has a crumby and slow textbased tetris games in it, doesn't mean you have to use them either. It's just their for your convenience (yes, I'd hate to see games inside Lazarus).

Reply by email

Elio Cuevas Gómez
to Florian Klaempfl: Indeed, if it is so important, somebody would have implemented it already :)
Florian Klaempfl wrote
Indeed, if it is so important, somebody would have implemented it already :) _______________________________________________

Code it yorself huh? I would but right now i'm too busy coding stuff in C++, Java and PHP. I really miss the old days when i did everything in Pascal. I would love to contribute to Lazarus or FreePascal but i kind of feel that you guys are way beyond me :-).

Reply by email

Elio Cuevas Gómez
to Vincent Snijders: For you. It is useful for most of the English speaking people and those are quiet a lot…
Vincent Snijders wrote 10 lines
Elio Cuevas Gómez wrote: > These are all good things, but if the IDE editor can't handle basic stuff > like international characters it's not very useful. For you. It is useful for most of the English speaking people and those are quiet a lot too, although not as much as the whole world population. And even though I don't live in a English speaking country, I never had problems with it, because all source and comments of my programs are English. Therefore for me it is not a very important issue. It is nice to have for others.

Ok i accept that i exagerated when i said Lazarus wasn't useful. But the bug is still very annoying and is a serius obstacle to Lazarus adoption worldwide. Ignoring the problem doesn't make it go away, we should be looking for the permanent increase of the quality of Lazarus, which would bring more users to both projects We do want more users, right?

Show quoted text 5 lines
Vincent. _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to Marco van de Voort: C shouldn't be faster than Pascal.
Marco van de Voort wrote
C shouldn't be faster than Pascal.

True. But for C i already have a good collection of I/O functions that are significantly faster than printf and friends and orders of magnitude faster than C++ cout/cin. I know i can write my own functions in Pascal, but it's too much work for the one shot programs i made. Also, for this particular application, working with GCC is much easier than FPC. These are not Pascal's fault, just a set of unfortunate circumnstances.

_______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to Micha Nelissen: On Sun, 30 Oct 2005 21:08:31 -0600 Well, I am aware of the fact that a visual design…
Micha Nelissen wrote 7 lines
Well, I am aware of the fact that a visual design environment like lazarus (and delphi and VB), it's easy to fall into the trap to base your backend design on the GUI design. If Eclipse or KDevelop have a solution for this problem, then I'd like to hear it, but if they "solve" the problem by not being a visual design environment at all, the complete point is moot; then it's really unfair to say they're better because they *lack* features :-).

Well, i never said these were better than Lazarus (in fact this is the first time i even mention them in this list). For me Eclipse is a resource hog and it's not usable in my computer, so it's out. KDevelop is a nice IDE and is adequate for C++ programming. I have only use it to develop some small SDL games and not for GUI, but i have experimented a bit with programming KDE applications. KDevelop integrates with Qt Designer which is a good Form editor imho, so i don't know how it *lacks* features. For Pascal development, KDevelop is a bloated kate, so i just program directly in Kate instead, much faster, much simpler. Combine with Konqueror and you get a wonderful UDE (Unintegrated Development Enviroment). Is this "UDE" better than Lazarus? Probably not, but it's sure flexible. I know this option is not for everybody, but it pays back.

Reply by email

Elio Cuevas Gómez
to L505: I think that is GTK. I'm still messing around with fonts and things in GTK. I think the…
L505 wrote 9 lines
>These are all good things, but if the IDE editor can't handle basic stuff > like international characters it's not very useful. Another thing is that > the IDE looks very ugly. I know these are Linux especific, in windows Laz > is great. I think that is GTK. I'm still messing around with fonts and things in GTK. I think the big problem with GTK fonts/sizes is that they aren't customizable on the fly in many distros? (i.e. fonts must be set up in some text config file which people rarely play with?)

Do you mean /etc/x11/(xorg.conf|xf86config-4)?
Font management in X is very confusing and is a pain, but i fail to see how this relates to Lazarus not acepting "á"s.
To me the problem seems to be in SynEdit and it's custom text management, but who knows.
Btw, the problems seems to be in the PropertyEditor too, extrange since this hasn't the problem before...

Show quoted text 6 lines
>Btw, i hate Java :-) Why? :-) I'll add some reasons to the JAVA-SUCKS PasWiki page if you want. :-) And of course that with a grain of salt also.

FLAMES DISCLAIMED!
Well, just the standard "Java is slow/Java is a resource hog/You can't make an OS in Java/etc" kind of critics which everybody should be bored to hear right now. Also in a smaller amount "Java is not free". There's a couple of other personal reasons too but since this discussion is way too of-topic already i'll leave them for another time :-).

_______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Elio Cuevas Gómez
to L505: For an even better UDE you can use Nano or the classic dos Edit program. Or you could use…

Ok, i'll byte :-)

L505 wrote
> get a wonderful UDE (Unintegrated Development Enviroment). For an even better UDE you can use Nano or the classic dos Edit program.

I take vi over nano anyday. DOS Edit is a really ofensive editor, but it's better than nothing i guess.

That's not really an UDE is it?

Reply by email

Vincent Snijders
to Elio Cuevas Gómez: Ok i accept that i exagerated when i said Lazarus wasn't useful. But the bug is still…
Elio Cuevas Gómez wrote 18 lines
El Lun 31 Oct 2005 00:18, Vincent Snijders escribió: >Elio Cuevas Gómez wrote: > >>These are all good things, but if the IDE editor can't handle basic stuff >>like international characters it's not very useful. > >For you. It is useful for most of the English speaking people and those >are quiet a lot too, although not as much as the whole world population. >And even though I don't live in a English speaking country, I never had >problems with it, because all source and comments of my programs are >English. Therefore for me it is not a very important issue. It is nice >to have for others. Ok i accept that i exagerated when i said Lazarus wasn't useful. But the bug is still very annoying and is a serius obstacle to Lazarus adoption worldwide. Ignoring the problem doesn't make it go away,

Whining about it, doesn't fix it. Such problems go away, if a person is so annoyed with it, that he starts to investigate how to fix it. Me personally isn't annoyed by it so much, that I want to fix it. I find other things more annoying (or nice to have), so I rather focus on that. To misquote Eric Raymond a bit: "1. Every new feature starts by scratching a developer's personal itch."

we should be looking for the permanent increase of the quality of Lazarus, which would bring more users to both projects We do want more users, right?

We don't necessarily want more users, but we need more developers, doc writers, bug fixers etc.

Vincent.

Reply by email

Micha Nelissen
to Elio Cuevas Gómez: Well, i never said these were better than Lazarus (in fact this is the first time i even…
Elio Cuevas Gómez wrote 5 lines
>(and delphi and VB), it's easy to fall into the trap to base your backend >design on the GUI design. If Eclipse or KDevelop have a solution for this Well, i never said these were better than Lazarus (in fact this is the first time i even mention them in this list). For me Eclipse is a resource hog and

Yes, sorry, I replied to the wrong message, I was trying to get a response from Agustin, not necessarily from you; he did make the Eclipse comparison, and he said he liked that IDE better for OO stuff. But maybe that's because the unicode works and there is better refactoring (please be more specific, Agustin?) ?

Micha

Reply by email

Mattias Gaertner
to Team Z505: Which is why again all that needs to be done is simply the programmer needs to ignore the…
Show quoted text 14 lines
>Well, I am aware of the fact that a visual design environment like >lazarus (and delphi and VB), it's easy to fall into the trap to base your >backend design on the GUI design. If Eclipse or KDevelop have a solution >for this problem, then I'd like to hear it, but if they "solve" the >problem by not being a visual design environment at all, the complete >point is moot; then it's really unfair to say they're better because they >*lack* features :-). > >Micha Which is why again all that needs to be done is simply the programmer needs to ignore the component palette, ignore Form1,

I added menu items to hide the component palette and speed buttons. See View -> View Component Palette
The IDE bar is not yet resized automatically. Use custom positions in the environment options.

Show quoted text 5 lines
and write everything from scratch in these cases if he wants to. Just because Emacs has a crumby and slow textbased tetris games in it, doesn't mean you have to use them either. It's just their for your convenience (yes, I'd hate to see games inside Lazarus).

Too bad. With the IDEIntf it is possible to add them.

Mattias

Reply by email

Agustin Barto
to Team Z505: Have to tried translation tools? I have converted many Russian source code help files from
Team Z505 wrote 7 lines
Have to tried translation tools? I have converted many Russian source code help files from the KOL project into English using PROMT translator online. Once in a while you get a funny translation like "I hit the code twice before she compiled me". But most of it is pretty good and pretty legible, and A LOT more automated than doing it manually. Translators like alta vista or babelfish are not nearly as good as PROMT.

That'll be nice if I WANTED to translate it to english. There's a very good reason why the code was written in spanish in the first place: El programa va a ser liberado con licencia GPL, pero si alguien quiere usarlo, sera mejor que comience a estudiar español desde ahora.

Reply by email

Vincent Snijders
to Agustin Barto
Agustin Barto wrote 15 lines
On 10/31/05, Team Z505 wrote: >Have to tried translation tools? I have converted many Russian source code help files from >the KOL project into English using PROMT translator online. Once in a while you get a funny >translation like "I hit the code twice before she compiled me". But most of it is pretty >good and pretty legible, and A LOT more automated than doing it manually. > >Translators like alta vista or babelfish are not nearly as good as PROMT. > That'll be nice if I WANTED to translate it to english. There's a very good reason why the code was written in spanish in the first place: El programa va a ser liberado con licencia GPL, pero si alguien quiere usarlo, sera mejor que comience a estudiar español desde ahora.

I don't understand why a user should learn spanish. User and program maintainer are two different entities, even for GPL released programs.

Vincent.

Reply by email

Agustin Barto
to Micha Nelissen: Yes, sorry, I replied to the wrong message, I was trying to get a response from Agustin,…
Micha Nelissen wrote 5 lines
Yes, sorry, I replied to the wrong message, I was trying to get a response from Agustin, not necessarily from you; he did make the Eclipse comparison, and he said he liked that IDE better for OO stuff. But maybe that's because the unicode works and there is better refactoring (please be more specific, Agustin?) ?

The answer is very simple: I can code faster. Eclipse is a code-centric IDE (at least for the Java's views) with a lot of very useful features to speed up the coding/refactoring process.

Lazarus, in that sense, is as good as Delphi; with source code management tools that are a little simplistic (not entirely a bad thing). That may be enough for a lot of people, but it certainly isn't for me.

Of course this comparison means absolutely nothing given that we're talking about completely different programming languages like ObjectPascal (and the various fpc supported dialects) and Java (and/or C++). Also I'm comparing a tool that's backed up huge corporations against one that's developed with no corporate sponsorship (AFAIK).

At the end of the day it all comes down to which tool generates better profit margins (I could say something about NetBeans vs Eclipse, but that would be waaaaay off-topic). For my personal projects I don't have a problem with Lazarus, or any other IDE/RADs, as long as their "fun" to use (Lazarus is) and free (speech).

Reply by email

Felipe Monteiro de Carvalho
to Vincent Snijders: I don't understand why a user should learn spanish. User and program maintainer are two…
Vincent Snijders wrote
I don't understand why a user should learn spanish. User and program maintainer are two different entities, even for GPL released programs.

You guys are missing the point .... the problem was never about the users needing to read a language, but about programmers needing to write comments on their own language.

And no, I won´t comment in english. Right now I just forget the á à ê and substitute them by a and e.

Felipe Monteiro de Carvalho

Reply by email

Elio Cuevas Gómez
to L505: The internet uses english as the standard language. That is why I use it. If it is proven…
L505 wrote 11 lines
>That'll be nice if I WANTED to translate it to english. There's a very >good reason why the code was written in spanish in the first place: El >programa va a ser liberado con licencia GPL, pero si alguien quiere >usarlo, sera mejor que comience a estudiar español desde ahora. The internet uses english as the standard language. That is why I use it. If it is proven that some other language should be used as the internet language, then I will use it. I do enjoy the upside down question marks in spanish, as they help me locate questions in articles easier (BEGIN and END of question).

Really? What's that standard, ihaven't read it :-). For a GPL program is a good idea to document it in English if you want help from developers not speaking your language. The rest of the time, English stinks.

Reply by email

L505
to Agustin Barto: That'll be nice if I WANTED to translate it to english. There's a very good reason why…
That'll be nice if I WANTED to translate it to english. There's a very good reason why the code was written in spanish in the first place: El programa va a ser liberado con licencia GPL, pero si alguien quiere usarlo, sera mejor que comience a estudiar español desde ahora.

The internet uses english as the standard language. That is why I use it. If it is proven that some other language should be used as the internet language, then I will use it. I do enjoy the upside down question marks in spanish, as they help me locate questions in articles easier (BEGIN and END of question).

Reply by email

Agustin Barto
to L505: The internet uses english as the standard language. That is why I use it. If it is proven…
L505 wrote 5 lines
The internet uses english as the standard language. That is why I use it. If it is proven that some other language should be used as the internet language, then I will use it. I do enjoy the upside down question marks in spanish, as they help me locate questions in articles easier (BEGIN and END of question).

Yeah sure, and russian characters make killer smileys :)

The code for this program is in spanish because it is intended to be used by researchers (basically it is an implementation of a method for which there isn't any free implementation). The language choice is only a matter of principles, it has nothing to do with any technical reason, in fact I think spanish is a lousy language to use for coding (it's too verbose and it's hard to get meaningful abbreviations).

I'd like to apologize to anyone that might have gotten offended by any of my comments, it really wasn't my intention. It also wasn't my intention to undermine the work of Lazarus' and fpc's developers. All I can say is I'm sorry and thank you for providing us with a great compiler and one of the very few integrated multi-platform free (speech) RADs.

Reply by email

L505
to Agustin Barto
The code for this program is in spanish because it is intended to be used by researchers (basically it is an implementation of a method for which there isn't any free implementation). The language choice is only a matter of principles, it has nothing to do with any technical

I think there isa unicode version of synedit and it probably wouldn't take too much work to get it working for freepascal

"Unicode Version: Actually into CVS there is available a UNICODE Version of synedit, snapshots are available here"

I'm not experienced with unicode myself, but is this what you are looking for?

Reply by email

Agustin Barto
to L505
L505 wrote 9 lines
I think there isa unicode version of synedit and it probably wouldn't take too much work to get it working for freepascal "Unicode Version: Actually into CVS there is available a UNICODE Version of synedit, snapshots are available here" I'm not experienced with unicode myself, but is this what you are looking for?

The problem is not with fpc. In fact the only thing I had to do what to get the Delphi code to compile was shorten some method names.

I'm using Emacs and JEdit to code Pascal, so type Unicode (or iso8859-1) is not a problem.

The problem was that I can't type any composed character (like á é ü) on Lazarus. As someone already corrected me, this problem isn't related to unicode, but with a gtk+ bug (or something like that).

Reply by email