[Lazarus] I desperately need some ideas of reducing edit, compile, debug cycle

Frank Church vfclists at gmail.com
Fri Nov 26 20:56:26 CET 2010

One thing that has always gottem to me when using Delphi and now Lazarus is
the tedious edit, compile, debug cycle. It has been growing worse of late
that now I am beginning to dread the whole process any time I have to make
some changes, especially when they are just minor GUI changes.

I have to wait for what is now approaching 60Mb of debugging enabled exes to
be generated every time before debugging can start and I'm afraid I am
beginning to show signs of an ADD. I tend to approach development with what
I can do in the mean time whilst stuff is cooking.

The problem is the is duration too long to be staring at the screen, and too
short to give something else your attention before coming back to it.

I guess for compiled languages ObjectPascal isn't bad, I believe it is even
worse for C++ programmers.

I may have to get a hex core CPU with 24Gb of RAM, and the fastest SSDs to
make the process tolerable. Some hosting providers are doing them for circa
€100 a month.

Quite simply I am thinking of a way to create the application in parts, so
that the parts containing the new functionality can be developed separately
as standalone programs, perhaps even console programs.

This raises the question of how procedure parameters and results can be
passed, and these are the options that have initially come to mind.

1. Find a way to automatically translate simple variables, record
structures, or objects into text and pass them via the command line or
pipes. Perhaps JSON, XML or simple name-value pairs can be used here.
Designing the parameters as TPersistent objects that are streamed into text
form may be a better option here.

2. Rather than using the command line, make them network services and pass
the parameters that way, or may make them RESTful/XML-RPC  with all the new
webby stuff( I am getting into some of that stuff now)

3. Design them as DLLs initially - I suspect that will bring along a
different set of problems.

Once they are well tested I can incorporate them into the main executables.

I suspect that others have come across this problem before, with
ObjectPascal and perhaps other languages and have found a way to mitigate
the problem.

If I have to do business as usual, will using stuff like interfaces help?

I really need some help here or else I may have to resort to PHP(gasp!!) or
even Java (bigger gasp!! shock!! horror!)  or Zen (not the programming

I'm of to stackoverflow and reddit for some more relief now.

Frank Church

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20101126/fb06c2a9/attachment-0002.html>

More information about the Lazarus mailing list