On Fri, 24 Jul 2015 21:56:28 +0200
win...@genial.ms wrote:
> it crossed my mind that some time ago people were complaining
> about the Mac builds not working.

AFAICT that was due to Apple's somewhat adversarial treatment of Java.
There were follow ups saying "install the <some-version-of-Java> package
and it works".  I have definitely sighted 0.11.3 working on Macs.

> Another thought I had was, that the codebase collected many
> compatibility hacks from the overly long 0.10.x series.
> I did a search and there are about 243 hacks for 0.10.x and
> about 141 hacks for 0.11.x already.
> The 0.11.x series already had 3 patch releases for 0.11.0, which
> is in line with how it was done until 0.9.x.

I think that is just a historical accident.

> We have new features implemented in addition to all the bugfixes,
> which also suggests increasing the minor version.
> So, I would like going to 0.12.0 directly.
> After the release we could drop 0.10.x compatibility and get rid
> of 2/3 of the hacks.

I strongly disagree.  Since I joined the project the FreeCol project,
the minor version has only changed when we make an incompatible change to
the save game format, in the sense of no longer being able to import games
written by the previous minor version. ATM we still support the 0.10.x
format, so there is no urgency to bump the minor version.  Furthermore we
have recent valid bug reports with 0.10.x-originated games attached, so
there may be user impact to consider.

As to the number of accumulated backwards compatibility hacks, the
important question is whether they are impeding progress or not.  Speaking
as the main instigator of the last minor version bump, believe me, if you
think the 0.10.x compatibility code is annoying, be thankful you did not
have to work with the 0.9.x stuff!  We are nowhere nearly as badly off as
things were in 0.10.6+.  However in the end what prompted the last bump
was the existence of two clusters of bugs that were outright unfixable
without an incompatible change to the save game format, not mere developer
discomfort.  This lead to the tile caching and equipment->role changes.

Note that there is reporting bias in the numbers.  I only started to add
the @compat <release> annotations late in the 0.10.x series, but since
then I have been fairly meticulous about them.  So the number of 0.10.x
hacks is probably lower than actually exist, whereas the 0.11.x ones are
close to accurate but include trivial changes.

Returning then to the question of progress --- I just did a quick sample
of the annotations, and found they were highly concentrated in the
serialization code, which is not a huge surprise.  This is not an area
needing a lot of work ATM IMHO, given that it was almost totally
revised for 0.11.0.  So I have to ask if there is a specific problem that
the compatibility code is causing?


>[Caleb]
> FreeCol should take advantage of any features of Java 1.7 that it can.

Quite a few Java 7 improvements have been made (for example use of
the diamond operator, variables in try blocks).  Do you have anything in
mind that we are not doing?

Cheers,
Mike Pope

Attachment: pgpJWpcw8S3mF.pgp
Description: OpenPGP digital signature

------------------------------------------------------------------------------
_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to