[1990] in java-interest

home help back first fref pref prev next nref lref last post

Change Management

daemon@ATHENA.MIT.EDU (Stephen O'Gallagher)
Thu Sep 21 03:40:54 1995

Date: Thu, 21 Sep 95 14:22:38 EST
From: stephen@macquarie.com.au (Stephen O'Gallagher)
To: fgreco@lehman.com, java-interest-digest@java.sun.com


Frank Greco wrote

>> > 6.  Does Java have a mechanism of versioning classes?  That is, how can
>> >     a user of a Java app[let] continue to use an older version of a
>> >     particular class when I (as app author) upgrade my app[let].
>> >     Excuse the gross analogy, but is there an equivalent of
>> >     LD_LIBRARY_PATH for Java classes?
>> 
>> We currently don't have a good mechanism for versioning classes. You can
>> achieve a reasonable versioning scheme using naming conventions, but that is
>> far from ideal.
>
>
>.	This is important.   Hint:  Microsoft doesn't have a way of versioning
>	.dll's and its biting them in the corporate IS/IT/MIS (gawd, its tough
>	to be politically correct) world.

If you guys really expect this stuff to fly* then a lifecycle model is abs. necc.

You need to be able to version the classes 
try this keyword

	version xx.yy.zz

	where incremental zz's are for new versions of the class that do not
	change interface 

	yy is for extentions of interface (ie a higher yy version can always be
	used as a replacement for a lower one).

	xx is used for interface incompatibility issues.

This is simple but what you really want to do is to make package a more tangible
concept than simply a directory.

You need to be able to say something along the lines of

	package fred vesion 1.0.1 is
		class x version 1.2.8
		class y version 3.6.9

	
	
maybe you can do something with the loader to make this an optional extra but the
class version embeded in the bytecode is a must.


Change Management is one of my favourite issues ( and one which has been handled
badly by software providers). I would be very interested in helping to frame a
CM system for Java if anyone out there is interested.

Stephen O'Gallagher
Macquarie Bank Ltd
Sydney Australia


* by 'fly' I mean take out C++ and Smalltalk as languages of choice for general
programming.

-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post