Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Languages Misc > Re: Version num...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 16 Topic 1150 of 1193
Post > Topic >>

Re: Version numbering scheme and language sup****t

by Logan Shaw <lshaw-usenet@[EMAIL PROTECTED] > May 8, 2008 at 10:48 PM

James Harris wrote:
> Is there any mileage in devising a general application version
> numbering scheme and providing sup****t 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 sup****t for this in a programming language? For two reasons,
> 1. it provides intrinsic sup****t for releases of standard (and
> possibly other) libraries for the language; 2. it offers this sup****t
> to applications (and system programs) written in the language. These
> are only worth doing if the scheme is general enough.

IMHO, no scheme is likely to be general enough that having a single
scheme is sufficient most of the time.  No matter what assumption you
make about release cycles (and relation****ps that "always" hold between
one release and another), your assumption will ultimately be violated
eventually (and then your model will break).

I think what I'm saying is that programming languages are so general
(or should be so general) that trying to solve this problem in the
programming language seems like a bad idea.  Ultimately, it's the
environment and circumstances of an individual application (or
"project", whatever term you want to use) that determine the needs
for a scheme for naming releases.  And hopefully a programming language
is general enough to be used for multiple different types of applications
with different needs!  (Well, ignoring domain-specific languages.)

To make that a little more concrete, some complications you might
see are:

1)  Some applications might not choose to define a total ordering
     of version numbers.  It's simpler to comprehend if all development
     proceeds along a single line, always marching forward towards the
     end-state of perfection.  But in reality, customer A demands an
     immediate fix for bug 1 and customer B doesn't care about bug 1
     but does demand an immediate fix for bug 2.  Fixes for bugs 1
     and 2 go into version N+1, but there is no inherent ordering
     between bug fix 1 and 2.  You can ignore this issue by speaking
     of only "official" releases, thereby forcing everything into a
     nice linear sequence of releases, and maybe that's all that you
     care about.  But whether you want to force everything into a
     single sequence is something that depends on the software.
     For example, some software is developed without any customers
     in mind, and in that case, a linear model is easy enough to
     maintain.

2)  The semantics of the actual version number vary between one
     piece of software and another.  In the standard Linux-inspired
     versioning scheme, versions are a list of numbers, and there is
     some number in the list which has a special status so that odd
     numbers mean "unstable" and even numbers mean "stable".  For
     example, in the Linux world, kernel version 2.6.25.2 is
     (nominally) stable, but version 2.5.x is not.  The difference
     lies in the fact that *second* number is odd.  Of course,
     it would be just as valid for some other project to define
     8.x as stable (because 8 is even) and 9.x as unstable (because
     9 is odd.  To put this a different way, every project has a
     function mapping version numbers to meanings, and that
     function tends to be different for different projects.
     The reason this is significant (to me) is that the ability
     to manipulate version numbers (other than as opaque strings)
     rests largely on being able to assign meaning to different ones.

Because of all this, if one were to try to "solve" the version
numbers problem (and I use quotation marks because I don't know
if it is ultimately solvable in the general case), there would
be a lot of custom, per-application behavior required.  Therefore,
it seems like trying to move this into the language is probably
a bad idea, unless it is done in a very general manner.  And
by "general", I mean allowing the individual application to define
relations between version numbers ("X is more stable than Y",
or "A has more features than B", or even "C is the freeware
version of "D"), allowing the rules to change over time, and so on.

    - Logan

P.S.:  On the other hand, there can be some value in a language
        providing direction and forcing 95% of the applications
        into a certain mold.  At least insofar as the applications
        don't have any strong preference of their own.
 




 16 Posts in Topic:
Version numbering scheme and language support
James Harris <james.ha  2008-05-08 16:57:52 
Re: Version numbering scheme and language support
Gene <gene.ressler@[EM  2008-05-08 17:03:52 
Re: Version numbering scheme and language support
Logan Shaw <lshaw-usen  2008-05-08 22:48:42 
Re: Version numbering scheme and language support
"Marvin Haggler"  2008-05-11 11:15:30 
Re: Version numbering scheme and language support
"Gary D Man" &l  2008-05-11 14:12:20 
Re: Version numbering scheme and language support
"Gary D Man" &l  2008-05-12 14:46:20 
Re: Version numbering scheme and language support
"Food Fighter"   2008-05-15 13:55:43 
Re: Version numbering scheme and language support
James Harris <james.ha  2008-05-11 11:09:25 
Re: Version numbering scheme and language support
Logan Shaw <lshaw-usen  2008-05-11 14:15:51 
Re: Version numbering scheme and language support
Mark Wooding <mdw@[EMA  2008-05-14 14:16:44 
Re: Version numbering scheme and language support
"Food Fighter"   2008-05-17 22:30:45 
Here's to you, Mrs. Robinson
"Food Fighter"   2008-05-19 09:34:49 
Re: Version numbering scheme and language support
Marco van de Voort <ma  2008-05-19 15:28:43 
Re: Version numbering scheme and language support
cbcurl <cbcurl@[EMAIL   2008-05-15 07:53:51 
Re: Version numbering scheme and language support
James Harris <james.ha  2008-05-15 13:08:15 
Re: Version numbering scheme and language support
cbcurl <cbcurl@[EMAIL   2008-05-16 12:07:42 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Jul 5 22:48:17 CDT 2008.