Is there any mileage in devising a general application version
numbering scheme and providing support this in a programming language?
The reason for asking is that it seems useful, in terms of managing a
computer system composed of many modules, for the components of that
system to have at least
<user version info>.<feature>.<fix>
where
<feature> increments on each /release/ of a new feature set
<fix> resets to 0 or 1 on each feature change and increments on
each released bug-fix
The user version info would be arbitrary so could include higher level
version numbers or not as needed. For example, MyApp.2.1.4 would be a
release of "MyApp.2" feature set 1 and fix version 4.
Why offer support for this in a programming language? For two reasons,
1. it provides intrinsic support for releases of standard (and
possibly other) libraries for the language; 2. it offers this support
to applications (and system programs) written in the language. These
are only worth doing if the scheme is general enough.
Note that use of the scheme would be optional for apps and system
programs, and strictly speaking optional for libraries too. I'm not
proposing mandating use of this feature, just asking if it would be
useful and if there is a better way to arrange releases of code.
--
James