PDA

View Full Version : Would you support the development of a FPC GUI frontend?



Robert Kosek
29-02-2008, 07:42 PM
As the topic title and poll question say, would you support the development of a graphical frontend to FPC? I am talking about financial support and not moral support. I ask because: a) I want a GUI frontend for FPC (Lazarus is its own FPC based compiler), and b) I cannot provide one for free. The reasons behind the second point are tangled at best, and best left alone at present.

I am willing to give it a shot, and if I fall short of the goal release all my source code as open source for the benefit of the community.

noeska
29-02-2008, 07:48 PM
Sorry to disapoint you. I use delphi as an editor even for my fpc projects. And a i alread spend a lot of money on a delphi license i cannot afford to buy or support another ide with money. Although i am tempted if you make it an 25 euro shareware.

Robert Kosek
29-02-2008, 07:56 PM
My probable price range would be $40, with a $20 to $30 upgrade price for a major version change. The goal would be affordability, stability, and (hopefully) good features.

I know you guys can't all pay a bunch of money. Neither can I. But I also can't afford to write one and give it away for free either.

cronodragon
29-02-2008, 08:05 PM
Is it possible to create an FPC add-on for an already working IDE, something like Eclipse? That would make development cheaper. Just an idea. :)

Robert Kosek
29-02-2008, 08:22 PM
For one thing I don't have Eclipse, don't know Java, and don't have the time it would take to learn Eclipse enough to add a plugin for FPC to it. Maybe someone else already has this knowhow, but not me. I can, however, make a mostly functional skeletal psuedo-IDE within about 90 days of work. (I'm being conservative because I haven't tried yet.)

Development cost isn't so much the issue as is supporting myself. I'll just have a different idea to do or something else to work on that can support me, comparatively, so I kind of have to make this slightly competitive -- even if I do it in my spare time. It's a problem of time that I could be making money in, putting myself at risk to develop a budget FPC faceplate.

pstudio
29-02-2008, 10:39 PM
I chose option #3 because I'll have to see what it would be like before deciding if it's my money worth. I'm not sure what you would be making right now.

Robert Kosek
29-02-2008, 10:48 PM
Completely fair. I'm not sure what, or if, I'm making either. :D

As of this moment it's just a hypothetical situation that I'm trying to evaluate. If I can do something like this and earn a bit of bread by it I'd be quite happy.

JernejL
29-02-2008, 10:58 PM
FPC eclipse plugin? you guys gotta be insane, eclipse may be the most flexible IDE ever, but it is also definetly the biggest memory hog unstable ide you'll ever encounter.. what about a fpc delphi plugin?

cronodragon
29-02-2008, 11:18 PM
FPC eclipse plugin? you guys gotta be insane, eclipse may be the most flexible IDE ever, but it is also definetly the biggest memory hog unstable ide you'll ever encounter.. what about a fpc delphi plugin?

I'm not an Eclipse fan neither. Installed 2 times, uninstalled 2 times, and it haven't touched my hard disk since then :lol:

I was just giving an example, aren't there any other "plug-in-able" IDE out there? :roll:

Robert Kosek
29-02-2008, 11:21 PM
Well, there's Visual Studio. Chrome is a plugin language for VS that lets the compiler use Pascal as a language, but it's managed. I like Chrome for some things but not all things--the change is just too large for certain tasks.

Oh yes. If I do go ahead and give it a shot I'll be writing this in Lazarus. I only have D6 Educational and Turbo Delphi; I cannot sell with the first, and I cannot include custom components with the latter. Not to mention Turbo Delphi is seriously unstable. Maybe I could find a copy of D7 floating around on the 'net at some place like EBay...

User137
01-03-2008, 01:03 AM
Unfortunately, if i wanted to buy a programming software it would be real Delphi. Main point of freepascal is that it is free. Can understand if you are asking for supporting developing the tool but i hardly ever pay or get paid.. for anything at all.

LP
01-03-2008, 03:08 AM
I might not "support" it during the development, but I would probably purchase the final product (price up to $100, depending on its quality of course).

The feature I would really like to see is the inline help, which is available in Visual Studio: you document your functions with special comment tags and later on, when you are coding a function, it should show the information about function's parameters and so on.

LP
01-03-2008, 03:21 AM
I cannot sell with the first, and I cannot include custom components with the latter. Not to mention Turbo Delphi is seriously unstable. Maybe I could find a copy of D7 floating around on the 'net at some place like EBay...
If you really want to use custom VCL components, you can circumvent the limitation of Turbo Delphi and install components using "dclusr.dpk". However, what you are doing doesn't need this - if you will be using SynEdit, you can safely create it in run-time. Other than that, what CUSTOM components will you need to drop on the form, which you absolutely won't be able to use at run-time?

As for stability of Turbo Delphi - I've had it installed for 1.2 years and worked on several projects, Wicked Defense being one of them. During this time, the IDE crashed only twice - after having it open for the entire day, and I was still able to save the work. I once remember that some component of IDE crashed once (after editing very long unit), but I just restarted the IDE as a precaution.

Robert Kosek
01-03-2008, 03:49 AM
Yes, I can create the components at runtime so that isn't a huge detriment. The last time I attempted to I wasn't able to install components using dclusr.dpk, which I did know about and try previously--perhaps the patch bundle they released prevented circumvention by dclusr.dpk.

However, the stability I refer to for Turbo Delphi lies in the IDE itself. There wasn't a day of development that went by without 1 crash, and no less than 3 error loops with roughly 5-8 messages each. I mean that literally. It was hellish to work with, though the resulting application would run just fine. This instability wasn't related to my system because the memory has repeatedly tested out fine, through multiple stress tests, and my BIOS has had roughly 8 excellent updates since purchase. Turbo Delphi was the only application that ran this way. And furthermore, when I emailed Nick about it personally the response was less than desired. I would have hoped that CodeGear would be curious as to the nature of the IDE's instability and would have been willing to work with me to resolve the issue. As an eight plus year customer/user they lost my loyalty.

So, there's a sizable issue with me using Turbo Delphi at the moment. I might reinstall it just to see if it runs, but no promises there.

LP
01-03-2008, 05:36 PM
Yes, I can create the components at runtime so that isn't a huge detriment. The last time I attempted to I wasn't able to install components using dclusr.dpk, which I did know about and try previously--perhaps the patch bundle they released prevented circumvention by dclusr.dpk.
Google for this topic. You'll find a ]However, the stability I refer to for Turbo Delphi lies in the IDE itself. There wasn't a day of development that went by without 1 crash, and no less than 3 error loops with roughly 5-8 messages each.[/quote]
Must have been a different version of what I am using. Turbo Delphi crashes much less than fully updated Windows Vista Business on my recently bought laptop. :D

dmantione
01-03-2008, 08:58 PM
While any new development is welcome, before starting work on a new IDE, first decide its purpose. There are already 5 dedicated FPC IDE's:
- FPC's own textmode IDE
- Lazarus
- MSEIDE
- FPS
- Dev-Pascal

Before saying another is necessary (especially if people need to pay for it), one might define the situation in which neither of these IDE's is practical, or at least, a new IDE would give benefits.

noeska
02-03-2008, 11:17 AM
What does the ide for fpc need to have:

- Syntax Highlighting
- Integrated Debugging
- Auto Completion
- Refactoring
- Code Cleanup
- Multiple Targets Support (arm, ppc, x86)
- Choice of Debug vs Release build.

dmantione
02-03-2008, 01:44 PM
Okay, I'd say that is a feature list with ambition, but okay. Next step to decide is how to get there:
- What GUI toolkit will you use
- Do you use GDB or are you going to write your own debugger
- Are you going to integrate the compiler into the IDE or will you call it as command line application etc.

cairnswm
03-03-2008, 05:54 AM
I would not support this sort of initiative at all. OSS needs all the help it can get and people that are unhappy with an OSS initiative should be getting involved rather than starting a flame war.

Ñuño Martínez
03-03-2008, 10:27 AM
Not sure. Actually I'm using Lazarus for evaluation purposes, for "real projects" I'm using gVim and calling FPC directly or using a makefile and I'm comfortable with this way of working. Not sure if an IDE will benefit myself, and note that I'm using Pascal only for amusement: PHP is who gives me food today. May be tomorrow...

WTW, I think Robert doesn't want to start a flame war (not consciously, I hope). He has some needs that available FPC IDEs can't satisfy and he is looking for a solution, that's all. And remember: "free-ware" doesn't mean "gratis-ware" ;)

Robert Kosek
03-03-2008, 03:40 PM
My intent certainly is not to start a flame war. I asked because I wanted to know. Almindor and marcov were the ones dropping flamebait, not me. Thanks for correctly reading me, ?ëu?±o. (And everyone else who hasn't gone overboard on this too.)

William, I never said that I didn't like OSS. It has its place, but I cannot be involved when I cannot financially support myself through it. If you haven't read, which I feel you haven't, I have echoed this message somewhere around 5-6 times between the two threads. I have made no plans, no real prototypes, and have only asked a casual question of whether people would support such a project -- the proposed specs are wide. All I wanted to know is if it would be worth the effort it would take to make it, because I cannot do it for gratis/free.

What I hate is the attitude that I have to take what I dislike silently, with no complaints, and the ones who made it aren't responsible for evaluating my position and perhaps fixing what might be broken functionality. There are two issues I haven't reported because of this attitude. I possess no blind loyalty to any compiler, team, or even Pascal itself.

dmantoine, yeah I am aware there are a number of FPC IDE's out there and that I'd have to really compete to make it worth the money. Part of why I was asking this whole question in the first place. I am well aware that it would take some work, but I also can't quite find what I'm after for a FPC IDE currently. So I figured that if I was going to consider putting the work in, at least see if I could sell a license of it, etc. Not to mention a few of the feature requests are out of my range, like built in debuggers -- though given time maybe I could figure it out.

dmantione
03-03-2008, 04:57 PM
What I want to make clear with these messages is that there already exist IDE's and that you have to position your project to attract interrest. I.e. I'm sure a project having features like Nu?±o mentions will attract attention.

A duplicatie of say, FPS, won't attract any attention.

Despite this, the question is how to get those features. I.e. we are well aware that debugging is the weak point of FPC currently, especially under Lazarus. This is a direct choice of using GDB, and interfacing with it.

The textmode IDE, includes GDB in its own exe, which has the advantage that it has more influence over debugging, and therefore provides a slightly better experience. However, as only 1 gdb can be present in an exe, it means you need 1 IDE per processor type. I.e. Nu?±o's wishlist of having an IDE that supports multiple CPU's and debugs better than Lazarus, may be incompatible with GDB.

In the end, no GDB based solution can provide a good user experience, simply because gdb doesn't support the Pascal language well enough. So ultimately to tackle the debugging problem, someone will have to write a multi-platform Pascal debugger.

In short, identifying the weak points is one think, solving them is another matter. A new IDE can, by starting from different design decisions provide a different user experience. The LCL is a thick abstraction layer, you may want to decide for a smaller one, with the advantages and disadvantages. But you most definately will run in some of the same issues other IDEs run into.

Don't let that prevent you from writing an IDE. All IDE's started because someone wasn't happy with the existing ones. But do know what you are starting to work on, and in what way you think you can improve on the existing ones. Just saying "Lazarus is crap" and starting your own one without having considered what you want to make and how, is probably not a recipe for success.

Robert Kosek
03-03-2008, 05:16 PM
Well, I haven't said that Lazarus is crap yet, but I have said that every time I try and give it a chance something goes wrong or doesn't work. An example would be the StringGrid I was working with the other day, only to discover that TStringGrid.Cells[x,y] always returns a blank string and cannot set the contents; and the EndEdit event doesn't fire.

My primary intent would be an advanced ConText-like editor tailored specifically for FreePascal, with snippets, code completion (eventually smart code completion), the ability to run the standard FreePascal compiler through either commandline directives or automatic makefile generation, and the ability to manage products similar to Lazarus. However it would be a graphical "faceplate" to the existing FPC. I can't claim to have considered or planned any more than that because I haven't. That's all I thought of.

dmantione
03-03-2008, 10:28 PM
Okay, understood, but ....., what would the usability improvements be over for example the textmode IDE or Lazarus? Both already do have an advanced text editor and allow you to compile it.

Putting it in a different wording: You'd like people to pay for your program. What improvement in their coding experience are you going to offer them, which makes it worth for people to spend money on?

JernejL
03-03-2008, 10:54 PM
What does the ide for fpc need to have:

- Integrated Debugging


I think that's the first thing one should do in an IDE, without that it's pretty useless, if you look at the state of debugging in lazarus you'll see what i mean.

Mirage
04-03-2008, 07:58 AM
Fully-featured debugger is a hard to make thing.
I see two possible debugging solutions for FPC:
1. Use Borland's one. They have a very nice Pascal supporting debugger, but I don't know what they think about using it by Free Pascal.
2. Use virtual machine: with integrated debugging turned on the code compiles into some kind of p-code which will be executed by VM. It's an easy task to create an absolutly crossplatform debugger for VM. But make FPC to compile into p-code may be hard. Also executing p-code is slow.

dmantione
04-03-2008, 12:15 PM
A VM can be used to make something like a platform independend debuggger work, but won't provide an actual solution regarding user debugging experience since it is very hard to make things like assembler code, pointer tricks, or OpenGL access work in it. I.e. programs cannot be debugged the way they are written.

Using the Delphi debugger would be challenging as well:
- Borland copyright, why would they give it away?
- No support for Dwarf debuginfo
- Only works on Win32
- Has never been used outside the Delphi IDE is probably closely integrated with it

What is needed is a multi-platform capable debugger that supports the Pascal language well. As soon as it exists, IDEs can take advantage of it.

arthurprs
05-03-2008, 02:45 AM
A VM can be used to make something like a platform independend debuggger work, but won't provide an actual solution regarding user debugging experience since it is very hard to make things like assembler code, pointer tricks, or OpenGL access work in it. I.e. programs cannot be debugged the way they are written.

Using the Delphi debugger would be challenging as well:
- Borland copyright, why would they give it away?
- No support for Dwarf debuginfo
- Only works on Win32
- Has never been used outside the Delphi IDE is probably closely integrated with it

What is needed is a multi-platform capable debugger that supports the Pascal language well. As soon as it exists, IDEs can take advantage of it.

btw it's the best debugger i ever seen.

WILL
05-03-2008, 11:34 PM
Hey guys. I'm just jumping into the conversation half way so please pardon me if I've missed a beat or two of the flow of the conversation. ;)

Here is an idea that I'd like to put out there...

Why not work on this new IDE with the focus on greater debugging capabilities than most of the others out there? On top of that, allow it to be taken separate and reused with other IDE's. This might work best for all concerned in the following ways;

:arrow: Other IDE tools could take advantage of a more Pascal-centric, easy to integrate debugger.

:arrow: The debugger it's self would generate a greater user-base and amount of required feedback to improve development and debugging(ironically enough :P)

:arrow: It in effect increases the applicability of the Pascal language as a whole.

marmin
08-03-2008, 01:00 PM
Suggestion , why not join forces with the Lazarus team, they need it.