Re: The curse of constant fields



Juha Laiho wrote:
I got recently bitten by something I consider to be a rather nasty
feature in the Java language, and decided to write up about it.

I had to do a couple of simple changes to a relatively shaky and
not-so-testable codebase, so I chose to do the absolute minimum
required: change initialization values for a couple of String fields
in a class, compile the changed class, and run the code manually to
observe that I had achieved the desired change.
....

You have my sympathy for your frustration, but I would call this story
"The curse of manual builds".

Back in the 1970's, long before Java was invented, I worked on a large
project that avoided reassembling all the code by having a team of
programmer techs who constructed the list of modules that needed to be
assembled due to each change. The programmer techs did their best, but
it was a *very* error prone procedure.

Since then, I have seen complaints, for several languages, of the form
"I did a manual build, and got into trouble due to [some aspect of the
programming language or environment]".

I am convinced that the only viable choices are rebuilding everything
for every change or using language-appropriate automatic dependency
analysis.

Patricia
.



Relevant Pages

  • Re: The curse of constant fields
    ... feature in the Java language, and decided to write up about it. ... The programmer techs did ... Compile A.java if A.class is either absent or older than A.java. ...
    (comp.lang.java.programmer)
  • Re: The curse of constant fields
    ... feature in the Java language, and decided to write up about it. ... The programmer techs did ... And tools like ant make it easy. ...
    (comp.lang.java.programmer)
  • Re: Inflexible array members
    ... of that language because the Java Language Specification mandates bounds ... runtime overhead implications and yet you still didn't care. ...
    (comp.lang.c)
  • Re: The curse of constant fields
    ... feature in the Java language, and decided to write up about it. ... in a class, compile the changed class, and run the code manually to ... programmer techs who constructed the list of modules that needed to be ...
    (comp.lang.java.programmer)