在版本号中使用句点的历史原因?

时间:2009-08-26 16:17:28

标签: versioning history notation

是否有历史原因使用句点代替软件版本的任何其他分隔符?

我们的一款产品之前的版本是3.5版本,现在是3.08版本 - 我确信这是管理层说,一旦我们达到3.10,那么设置一个领先的零会让我们的客户更加困惑。但作为软件开发人员,版本3.08对我来说很奇怪。

如果我们不使用句点,版本3:9和3:10或3-9到3-10之间的差异会更明显,因为它不会被读作十进制数。此外,通常不熟悉软件版本的人,十进制数似乎暗示版本3.5是下一个主要版本的一半,实际上我们不能对数量做出任何假设。次要版本,直到下一个主要版本。

据我所知,现在我们通常使用句号作为约定,因为这是其他人正在做的事情 - 但是有没有理由在第一时间使用句号?

8 个答案:

答案 0 :(得分:11)

正如DVK所说,它几乎肯定来自原始源代码控制系统SCCS。它使用的数字是1.1,1.2,...... 3.14,3.15,......等等。

如果你想要更深层次的理由,你可能想问Marc Rochkind(创建SCCS)。

编辑:好的,我自己给Marc Rochkind发了电子邮件,他说:

  

我认为这是从与十进制数字类比开始的。版本1,版本2,版本2.1等等。然后添加更多的小数,这根本没有数学意义,但它仍然只是一个字符串。

     

我不认为它起源于SCCS。我认为这个方案在1972年我第一次开始SCCS工作时就已经投入使用了,所以对我们贝尔实验室来说,这是正常的事情。因此,“早期的惯例是SCCS用作自己的灵感”。

...所以,我想我f ALGOL had been coded使用欧洲惯例作为小数点,如果我们都使用逗号代替我们的版本分隔符......

答案 1 :(得分:6)

我不确定确切的原因,但可能的影响可能是代码存储库系统(例如RCS / CVS)强加的版本控制 - 当然,这些数字比字符串更容易操作。

此外,任何想出使用十进制表示法的人可能都不会想到当时有超过九次的颠覆或子颠覆。除了这两个限制之外,十进制表示法确实可以作为软件版本状态的直观近似。

答案 2 :(得分:6)

我的猜测是它与early operating system naming conventions有关。当你有第二个版本时,你要做的第一件事是标记任何特定于该版本的文件和目录。

查看维基百科,“/”,“\”,“:”甚至“%”和“#”都会对文件的位置产生影响,因此作为文件名会有问题,特别是在相当原始的文件名中操作系统。

“ - ”,“_”和“。”都经常在文件名中使用,因此它们可用于版本命名。

但是“ - ”已经在日期格式中使用了很长时间。

我实际上认为十进制模型不是那么糟糕。虽然它确实表明1.5介于1和2之间 - 但它也表明1.1版本并没有像1.0版本那样大的改变。并且它可以指出基线的显着变化。

答案 3 :(得分:5)

我找到的唯一有趣的事情是this part of the Wikipedia entry about Software verisonning,其中陈述(引用)

  

打印时,序列可能是   用字符分隔。选择   字符及其用法各不相同   按计划。以下列表显示   分离的假设例子   同一版本的计划(   第十三次三级修订   第四次二级修订   第二级一级修订版):

     
      
  • 方案可以在所有序列之间使用相同的字符:2.4.13,2 / 4/13,   2-4-13
  •   
  • 要分离哪些序列的方案选择可能不一致,   分离一些序列但不分离   其他:2.413
  •   
  • 一个方案的字符选择可能在同一个内容中不一致   标识符:2.4_13
  •   
     

使用句号分隔时   序列,它不代表一个   小数点,序列也可以   没有位置意义。一个   例如,标识符为2.5   不是“两个半”或“一半到   版本三“,这是第五个   第二级修订   第一级修订,不会   适当的[引证需要]除非   有一个2.1,2.2,2.3和   2.4。

答案 4 :(得分:2)

你也可以想知道为什么小数点是用来终止句子的标志.8多么令人困惑!

答案 5 :(得分:1)

这不是小数点。它只是一个版本分隔符。 欧洲大陆的人们仍然使用版本分隔符的句号。

答案 6 :(得分:0)

这不是小数点,只是一个分隔符。为什么他们使用这个符号是未知的,并且作为编程问题没什么兴趣...

但是太多人认为这是小数点,导致混乱。但是Firefox 3.0.13或者1.9.0.5213呢?主要号码,次要号码,修订号和内部版本号并不罕见(至少在Microsoft世界中......)。

答案 7 :(得分:0)

我认为提出新号码而不是新名称会更容易。甚至微软也再次回归常规编号方案,从Windows 2,3,3.1,3.11升至95,98,ME,2000,XP,Vista,现在又回到7。 此外,使用字母代码可能会导致不必要的关联。例如。我们有Windows CE,ME和NT,它们是三个不同的Windows系统,大约在同一时刻都可以运行。 (只要将这些字母放在一起。)至少,对于数字,你不会有意外拼写出一些奇怪单词的风险。 (然后,Borland / Codegear / Embarcadero确实跳过了Delphi RAD工作室的第13版。)由于一些恶魔的原因,人们也倾向于避免版本号6.66或6.6.6 ......