2009-08-26 35 views
15

是否有一个历史的原因,使用周期代替软件版本的任何其他分隔符?在版本号中使用句点的历史原因?

我们的产品之一以前是3.5版本,现在是3.08--我确信这是管理层说,把我们的客户打到3.10后,放置一个前导零就可以减少对客户的困扰。但作为一名软件开发人员,版本3.08对我来说看起来很奇怪。

如果我们没有使用句点,版本3:9和3:10或3-9到3-10之间的差异会更明显,因为它不会被读为十进制数。此外,对于一般不熟悉软件版本号的人来说,十进制数似乎意味着版本3.5已经到了下一个主要版本的一半,实际上我们不能对次要版本的数量做出任何假设,直到下一个主要版本主要发布。

我知道现在我们通常使用句点作为约定,因为这就是其他人都在做的 - 但是有没有使用句点的原因?

+2

Ubuntu 9:01? :-) – 2009-08-26 16:21:49

+0

可能会有所帮助:http://technologizer.com/2009/07/14/version-numbers/ – ESRogs 2009-09-04 17:47:24

回答

6

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

看维基百科,“/”,“\”,“:”,甚至“%”和“#”都会影响文件的位置,因此会出现文件名的问题,特别是在公平原始操作系统。

“ - ”,“_”和“。”都经常使用文件名,所以它们可用于版本命名。

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

我实际上认为小数模型不是那么糟糕。虽然它确实表明1.5在1和2之间,但它也表明1.1版本与1.0版本不会有比2.0版本更大的改变。它可以指出基线明显的变化。

1

这不是小数点。这只是一个版本分离器。 欧洲大陆的人仍然使用版本分离的时间段。

5

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

打印时,该序列可以是 ,字符分开。字符及其用法的选择 根据方案变化 。以下列表显示了分离的 假设的例子 方案对于相同的释放(所述 第十三第三级修正到 第四第二级修正到 第二第一级修改):

  • 方案可使用相同的字符的所有序列之间:2.4.13,13年2月4日, 2-4-13
  • 甲方案选择哪种序列分离可能是不一致的, 分离一些序列,但不 其它:2.413
  • 的方案的选择的字符可以在相同 标识符内是不一致的:2.4_13

当期限用于分离 序列,它并不代表一个 小数点,和序列做 不具有位置意义。例如,一个 2.5的标识符是 不是“两个半”或“一半到 版本三”,它是第一个修订版的第二个 的第二个修订版本,并且不会是第二个版本的 适当[需要的引证]除非 出现了2.1,2.2,2.3和 2.4。

+1

这是不合适的,除非你想赶上比赛:) http://en.wikipedia .org/wiki/Oracle_Corporation#RDBMS_release_timeline – 2009-08-26 18:02:06

+0

...或者实际上根据wikipedia文章,因为没有人想购买产品的第一版。 – 2009-08-26 18:03:51

2

你也可以想一想,为什么小数点是用来结束句子的符号。

6

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

另外,无论是谁使用十进制符号,或许在9次以上的颠覆或次颠覆时都没有想到。除了这两个限制之外,十进制符号确实可以作为软件版本状态的非常直观的近似值。

+0

cvs是一段时间的痛苦...它不允许它们在标签名称中:) – ShuggyCoUk 2009-09-03 20:45:28

0

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

但是太多的人认为这是一个小数点,导致混淆。但是Firefox 3.0.13或其他什么1.9.0.5213呢?主要编号,次要编号,修订编号和内部编号并不少见(至少在微软的世界里......)。

11

由于DVK建议,它几乎肯定来自原始源代码管理系统SCCS。它使用的数字是1.1,1.2,... 3.14,3.15,...等。

如果你想要更深的原因,你可能想问问Marc Rochkind(创建的SCCS)。

编辑:没关系,我通过电子邮件发送马克·罗金德自己,他说:

我觉得这开始通过类似于十进制数。版本1,版本2,版本2.1等等,然后添加更多的小数,根本没有数学意义,但它只是一个字符串。

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

...所以,我不知道我f ALGOL had been coded使用欧洲公约小数点,如果我们都将是使用逗号为我们的版本,而不是分离...

+0

因此,我们再次发现这一切都始于al-Khwārizmī – 2009-09-15 06:30:31

+0

感谢您的研究,有趣的是知道约定至少早在贝尔实验室。在编辑之前,我已经提出了你的提议,所以很抱歉,我不能再次赞成。 – 2009-09-18 17:00:16

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,因为某些恶魔的原因...

+0

除了微软的例子,我同意你的意见。我认为他们会回归数字,因为它对于公司来说看起来更严重,他们会做任何可能避免他们像Vista一样在第二世界范围内失败的事情...... – p4bl0 2009-09-07 12:28:47