Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Are Software versions a decimal?

Are Software versions a decimal?

Scheduled Pinned Locked Moved The Lounge
questionannouncementandroidcom
32 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P PeteTheDiver

    It was never a decimal point in the days of shillings, it was a separator the same as in software versions. Obvious when you think it through, definition of decimal is "relating to or denoting a system of numbers and arithmetic based on the number ten, tenth parts, and powers of ten", there were 20 shillings in a pound and 12 pence in a shilling so no multiples of ten. And even in the days of shillings the full stop was rarely used in writing down currency (at least in my experience), for instance two pounds, five shillings and six pence would normally be written "£2 5/6"

    F Offline
    F Offline
    Forogar
    wrote on last edited by
    #23

    I miss the good old days. Shillings were so nice to have around.

    - I would love to change the world, but they won’t give me the source code.

    1 Reply Last reply
    0
    • M Mike Prof Chuck

      What I mean with this cryptic question: Do you treat the first part of software versioning (i.e. "2.4") like a decimal number or do you simply "count up"? If treated as decimal, it would mean, that "2.4" is equal to "2.40" (like a decimal number is equal), if you count up, not. Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on I hope I could explain, what I mean. How do software versions evolve in your minds?

      || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

      P Offline
      P Offline
      PSU Steve
      wrote on last edited by
      #24

      Apparently I am an odd-ball when it comes to using version #s. Our app is comprised of a single EXE "shell" with all the functionality in individual DLLs. Not all DLLs get updated in every release. I use a version numbering system "YY.MM.DD.XX" where YY.MM.DD is the date of the DLL's release. XX is normally "0" but if we had to do a revision of the DLLs within the same date we'd increment that value. So a DLL released today would be v19.2.21.0 but a second release today would be v19.2.21.1.

      1 Reply Last reply
      0
      • M Mike Prof Chuck

        What I mean with this cryptic question: Do you treat the first part of software versioning (i.e. "2.4") like a decimal number or do you simply "count up"? If treated as decimal, it would mean, that "2.4" is equal to "2.40" (like a decimal number is equal), if you count up, not. Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on I hope I could explain, what I mean. How do software versions evolve in your minds?

        || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #25

        With RAD, there is little time to think (much) about the versioning. You mostly want to know whether someone is testing / using an earlier or later version when dealing with multiple "cells". So I just let Visual Studio do the counting. Just make sure all the modules in the project are using the same pattern. (AssemblyInfo.cs) [Assembly Versioning | Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/framework/app-domains/assembly-versioning)

        "(I) am amazed to see myself here rather than there ... now rather than then". ― Blaise Pascal

        1 Reply Last reply
        0
        • M Mike Prof Chuck

          What I mean with this cryptic question: Do you treat the first part of software versioning (i.e. "2.4") like a decimal number or do you simply "count up"? If treated as decimal, it would mean, that "2.4" is equal to "2.40" (like a decimal number is equal), if you count up, not. Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on I hope I could explain, what I mean. How do software versions evolve in your minds?

          || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

          V Offline
          V Offline
          vbjay net
          wrote on last edited by
          #26

          Version Class (System) | Microsoft Docs[^]. This might help. It's specific to .net but it also talks about general version parts and the meaning. We also have Semantic Versioning 2.0.0 | Semantic Versioning[^]

          D 1 Reply Last reply
          0
          • P PeteTheDiver

            It was never a decimal point in the days of shillings, it was a separator the same as in software versions. Obvious when you think it through, definition of decimal is "relating to or denoting a system of numbers and arithmetic based on the number ten, tenth parts, and powers of ten", there were 20 shillings in a pound and 12 pence in a shilling so no multiples of ten. And even in the days of shillings the full stop was rarely used in writing down currency (at least in my experience), for instance two pounds, five shillings and six pence would normally be written "£2 5/6"

            D Offline
            D Offline
            DerekT P
            wrote on last edited by
            #27

            PeteTheDiver wrote:

            full stop was rarely used

            I don't think I ever recall a dot being used as a pounds/shillings/pence separator - it was always the forward slash. My first-ever role as a contractor (1983) involved making some changes to an accounting system. I was a COBOL developer but had included in my CV that I also knew BASIC and 6502 assembly language. The recruiter idiot had decided I was a great match for a client needing an IBM assembler programmer. (After all, how different could IBM mainframe and 6502 be?) :laugh: So it was a steep learning curve, to put it mildly. What was worse was that the system predated 1971 and handled all currency in pounds/shillings/pence. At decimalisation they'd kept the three fields and stored the number of (new) pence by dividing by 12, putting the result in the shillings, and the remainder in the pence. (e.g. 50p was represented as 4/2). Thankfully it was only a six-month contract but I think that's when the grey hair started...

            1 Reply Last reply
            0
            • V vbjay net

              Version Class (System) | Microsoft Docs[^]. This might help. It's specific to .net but it also talks about general version parts and the meaning. We also have Semantic Versioning 2.0.0 | Semantic Versioning[^]

              D Offline
              D Offline
              DerekT P
              wrote on last edited by
              #28

              I use Microsoft's versioning too; not their "do as I say", but their "do as I do". This gives the sequence: 1, 2, 3, 3.1, 3.11, 95, 98, 98SE, ME, 2000, XP, Vista, 7, 8, 8.1, 10. Then the sequence ends. It's clear, unambiguous, intuitive. :-D The non-numeric version numbers just keep the users on their toes.

              M 1 Reply Last reply
              0
              • D DerekT P

                I use Microsoft's versioning too; not their "do as I say", but their "do as I do". This gives the sequence: 1, 2, 3, 3.1, 3.11, 95, 98, 98SE, ME, 2000, XP, Vista, 7, 8, 8.1, 10. Then the sequence ends. It's clear, unambiguous, intuitive. :-D The non-numeric version numbers just keep the users on their toes.

                M Offline
                M Offline
                Mike Prof Chuck
                wrote on last edited by
                #29

                Made me laugh! Thank you :laugh:

                || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

                1 Reply Last reply
                0
                • M Mike Prof Chuck

                  I just wanted to collect your oppinions, because I heard both versions in the past. Some kind of reality check, not more :-)

                  || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

                  O Offline
                  O Offline
                  obermd
                  wrote on last edited by
                  #30

                  In Android development the software version is an integer. Google Play uses this integer to determine when an upgrade is available - if the version number on Google Play is larger than on the device Android will download and install the new version.

                  1 Reply Last reply
                  0
                  • M Mike Prof Chuck

                    What I mean with this cryptic question: Do you treat the first part of software versioning (i.e. "2.4") like a decimal number or do you simply "count up"? If treated as decimal, it would mean, that "2.4" is equal to "2.40" (like a decimal number is equal), if you count up, not. Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on I hope I could explain, what I mean. How do software versions evolve in your minds?

                    || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

                    J Offline
                    J Offline
                    jschell
                    wrote on last edited by
                    #31

                    Mike Barthold wrote:

                    Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on

                    Took me a bit to figure that out. But basically there is a third variation. Each 'number' is a decimal. So 2.1 is followed by 2.2, etc and then up to 2.10, 2.11, etc. Other than that version is a policy decision that the releasing entity sticks to. Thus as at least one other poster suggested the following is a valid policy. Although the last tends to be overkill. ...

                    Mike Barthold wrote:

                    2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20)

                    Sounds like a bad policy decision to me. Hotfix and minor are release decisions. But that shouldn't impact versioning. The policy should define what how a release decision is made but the contents of the release define what happens to the version number. And a hotfix would normally be a minor revision because it is in fact a release and because is is a fix (just as presumably there are other fixes in any release.)

                    1 Reply Last reply
                    0
                    • M Mike Prof Chuck

                      What I mean with this cryptic question: Do you treat the first part of software versioning (i.e. "2.4") like a decimal number or do you simply "count up"? If treated as decimal, it would mean, that "2.4" is equal to "2.40" (like a decimal number is equal), if you count up, not. Decimal version flow: 2.1 followed by hotfix 2.11, 2.12, etc Next minor release after 2.1 can be 2.2 (= 2.20) Count up: 2.1 followed by 2.2, ... ... 2.8, 2.9, 2.10, 2.11 and so on I hope I could explain, what I mean. How do software versions evolve in your minds?

                      || You know nothing, Jon Snow. || My Android Label (mbar Software) || My Android Apps in Play Store

                      K Offline
                      K Offline
                      Kirk 10389821
                      wrote on last edited by
                      #32

                      Having don this a few ways: 2.1 2.01 2.00.1 Major.Minor[.BugFix] was the meaning. And we shifted to a mandatory 2 digits for Minor (2.01, 2.02, Counting up). Where the Least increment was for normal weekly/daily releases. 2.50 would be a pretty sizable JUMP, and we try NOT to get to 3.00 naturally (99 updates). But we will GAP the numbers to imply certain milestones. The BugFix concept was added so our AutoUpdater could IGNORE them. We could identify them and let users choose to update to them with a strict warning. The average user would never get the message, and never get that version. (Beta Channel users would!) The instant you add a second decimal... You realize you are not dealing with a number, but a string!

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups