Is there anything *enjoyable* about our development process?
P. Christeas
p_christ at hol.gr
Sat Oct 15 04:31:09 EDT 2005
> On Fri, Oct 14, 2005 at 08:51:12PM -0400, Josh Sled wrote:
> Yes, I'm saying we would fail, because "simplicity" is not a
> sufficiently motivating goal.
>
> ...
> One way or another, if we don't get more developers, in about 200
> *weeks* we're not even going to have 200 users. There is *no way* GC
> is even close to mature enough to be thinking in these timeframes.
>
> A year ago I would have said that the key to getting more developers
> was codebase simplification. Today, I think that codebase
> simplification is one part of a goal that we can only achieve
> indirectly through the goal of development process improvement.
>
> -chris
>
May I summarize (IMHO):
GC has pros and cons
Pros:
p1. Full functionality
p2. Interface is usable, fast
p3. Extension language
p4. Database as storage option
Cons:
c1. Dependencies
c2. Hard to compile
c3. Ext. language is non-common
c4. Code complexity
p1. GnuCash is the best at its kind, it has mature code in the sense that it
can do all complex transactions etc. It's feature rich.
p2. Data entry is what I love in this program, as a user. This kind of
software is traditionally based on fast interfaces.
p3. We *need* to have an extension language, if not base most of the
components on it. Reason is that each user may need to adapt the behaviour of
the program. That will happen after the application has left the build stage.
We cannot afford to have layout etc. hard-coded, or even to require the user
to have a C compiler.
p4. That is a huge potential. Consider using third-party tools for some
operations.
c1. Even the user will have to fine-tune a set of dependencies to get GnuCash
running.
c2. The new programmer will have a hard time setting the environment and
dependencies right, before having a first compile. That is putting me,
personally, off.
c3. I agree that Scheme is not the best choice. It may fit the functionality
best (I cannot judge that at the moment), but potential programmers will not
know it. You have to use what programmers know; it's a matter of making the
development process attractive.
c4. (You mentioned it. I haven't programmed anything yet, so I assume the
situation.) When a project gets large, it is important that the code is clear
and focused to the core functionality (instead of having many interface
tricks, memory managment etc.). No matter how fast it is, C IMHO cannot end
up in easy-readable code. Consider that programmers will come and go; they
need to catch up with the meaning of the code fast.
I'm not suggesting anything particular up to now. I assume that we can have a
long and fruitful discussion on a course to GnuCash 3. Surely, making the
development 'fun' will attract more developer manpower to the project.
More information about the gnucash-devel
mailing list