16

ソフトウェアバージョンで他のセパレータの代わりにピリオドが使用されるという歴史的な理由はありますか?

私たちの製品の1つは以前はバージョン3.5でしたが、現在は3.08です。これは、3.10に達した後は、先行ゼロを設定することでお客様の混乱を少なくすることができると言っている経営陣だったと思います。しかし、ソフトウェア開発者として、バージョン3.08は私には奇妙に見えます。

ピリオドを使用しなかった場合、バージョン3:9と3:10、または3-9から3-10の違いは、10進数として読み取られないため、より明確になります。さらに、ソフトウェアのバージョン管理に一般的に慣れていない人にとって、10進数は、バージョン3.5が次のメジャーリリースの途中であることを意味しているように見えますが、実際には、次のメジャーリリースまでマイナーリリースの数を推測することはできません。 。

今では、他の人がしていることなので、通常は生理を慣例として使用していることを理解していますが、そもそも生理を使用する理由はありましたか?

4

8 に答える 8

11

DVKが示唆したように、それはほぼ確実に、元のソースコード管理システムであるSCCSから派生しています。使用した番号は1.1、1.2、... 3.14、3.15、...などでした。

それよりも深い理由が必要な場合は、Marc Rochkind(SCCSを作成)に質問することをお勧めします。

編集:わかりました、私はマーク・ロックカインドに自分でメールを送りました、そして彼は言いました:

これは10進数との類推から始まったと思います。バージョン1、バージョン2、バージョン2.1など。次に、小数を追加します。これは数学的にはまったく意味がありませんが、とにかく文字列にすぎません。

私はそれがSCCSに由来するとは思わない。このスキームは、私が最初にSCCSの作業を開始した1972年までにすでに使用されていたと思うので、ベル研究所の私たちにとっては通常のことでした。つまり、これは「SCCSが独自のインスピレーションとして使用した以前の規則」です。

...ですから、バージョン区切り文字にコンマを使用する場合、ALGOLは基数ポイントにヨーロッパの規則を使用するようにコーディングされているのではないかと思います...

于 2009-09-02T05:58:35.040 に答える
6

正確な理由はわかりませんが、考えられる影響の1つは、コードリポジトリシステム(RCS / CVSなど)によって課せられたバージョン管理である可能性があります。もちろん、数値は文字列よりもはるかに簡単に操作できます。

さらに、10進表記を使用することを思いついた人は、おそらく9を超えるサブバージョンまたはサブサブバージョンのいずれかを考えていませんでした。これらの2つの制限はさておき、10進表記は、ソフトウェアバージョンのステータスに対するかなり直感的な近似として機能します。

于 2009-08-26T16:32:08.917 に答える
6

私の推測では、初期のオペレーティング システムの命名規則と関係があると思われます。2 番目のバージョンを作成したときに最初にしたいことは、そのバージョンに固有のファイルとディレクトリにラベルを付けることです。

ウィキペディアを見ると、"/"、"\"、":"、さらには "%" や "#" でさえファイルの場所に影響を与えるため、ファイル名として問題になる可能性があります。特に、かなり原始的なオペレーティング システムではそうです。

"-"、 "_" と "。" はすべてファイル名で定期的に使用されるため、バージョンの命名に使用できます。

しかし、「-」は長い間日付形式で使用されてきました。

実際には、10 進数のモデルはそれほど悪いものではないと主張したいと思います。1.5 は 1 と 2 の中間であることを示していますが、1.1 バージョンは 1.0 バージョンから 2.0 バージョンほど大きな変更はないことも示唆しています。また、ベースラインの顕著な変化を指摘することもできます。

于 2009-09-02T14:40:04.347 に答える
5

私が見つけた唯一の興味深いことは、ソフトウェアのバージョン管理に関するウィキペディアのエントリのこの部分であり、次のように述べています(引用)

印刷すると、シーケンスは文字で区切られる場合があります。文字の選択とその使用法はスキームによって異なります。次のリストは、同じリリース (13 番目の 3 番目のレベルのリビジョンから 4 番目の 2 番目のレベルのリビジョン、2 番目の 1 番目のレベルのリビジョン) の分離スキームの架空の例を示しています。

  • スキームは、すべてのシーケンス間で同じ文字を使用できます: 2.4.13、2/4/13、2-4-13
  • 分離するシーケンスのスキームの選択に一貫性がない可能性があり、一部のシーケンスは分離されているが、他のシーケンスは分離されていない: 2.413
  • スキームの文字の選択は、同じ識別子内で矛盾している可能性があります: 2.4_13

シーケンスを区切るためにピリオドが使用されている場合、ピリオドは小数点を表しておらず、シーケンスには位置的な意味はありません。たとえば、2.5 という識別子は、「バージョン 3 への半分」または「バージョン 3 の半分」ではなく、2 番目の第 1 レベル リビジョンの 5 番目の第 2 レベル リビジョンであり、適切ではない[要出典] 2.1、2.2、2.3、および 2.4 がなければ。

于 2009-08-26T16:27:05.133 に答える
2

また、なぜ小数点が文を終了するために使用される記号なのか疑問に思うかもしれません.08 なんて紛らわしいでしょう!

于 2009-08-26T16:28:34.710 に答える
1

小数点ではありません。これは単なるバージョン区切り記号です。ヨーロッパ大陸の人々は、今でもバージョンの区切りにピリオドを使用しています。

于 2009-08-26T16:24:39.790 に答える
0

これは小数点ではなく、単なる区切り記号です。彼らがこのシンボルを使用した理由は不明であり、プログラミングの質問としてはほとんど関心がありません...

しかし、これを小数点と考える人が多すぎて、混乱を招きます。しかし、Firefox 3.0.13 や 1.9.0.5213 はどうでしょうか? メジャー番号、マイナー番号、リビジョン番号、ビルド番号は珍しくありません (少なくともマイクロソフトの世界では...)。

于 2009-08-26T16:38:10.993 に答える
0

新しい名前よりも新しい番号を考え出す方が簡単だと思います。Microsoft でさえ、Windows 2、3、3.1、3.11 から 95、98、ME、2000、XP、Vista、そして現在は 7 に戻って、通常の番号付けスキームに再び戻りました。さらに、文字コードを使用すると、不要な関連付けが発生する可能性があります。たとえば、ほぼ同時に動作していた 3 つの異なる Windows システムである Windows CE、ME、および NT があります。(文字を組み合わせるだけです。) 少なくとも、数字を使用すると、誤って奇妙な単語をスペルアウトするリスクがありません。(また、Borland/Codegear/Embarcadero は、Delphi RAD スタジオのバージョン 13 をスキップしました。)人々はまた、いくつかの悪魔的な理由で、6.66 や 6.6.6 のようなバージョン番号を避ける傾向があります...

于 2009-09-04T22:09:40.183 に答える