2009-08-26 15 views
15

Gibt es einen historischen Grund, dass Perioden anstelle von anderen Trennzeichen für Softwareversionen verwendet werden?Historischer Grund für die Verwendung von Perioden in Versionsnummern?

Eines unserer Produkte war zuvor Version 3.5, und jetzt ist es 3.08 - ich bin mir sicher, dass das Management sagen würde, dass das Setzen einer führenden Null es für unsere Kunden weniger verwirrend machen würde, sobald wir 3.10 erreicht haben. Aber als Softwareentwickler sieht Version 3.08 für mich seltsam aus.

Wenn wir keine Perioden verwenden, wäre der Unterschied zwischen Version 3: 9 und 3:10 oder 3-9 bis 3-10 deutlicher, weil es nicht als Dezimalzahl gelesen würde. Darüber hinaus, zu jemandem, der im Allgemeinen mit Software-Versionsverwaltung unbekannt ist, scheint die Dezimalzahl zu implizieren, dass Version 3.5 auf halbem Weg zur nächsten Hauptversion ist, wenn wir in Wirklichkeit keine Annahmen über die Anzahl der Nebenversionen bis zum nächsten machen können Hauptversion.

Ich verstehe, dass wir jetzt Perioden typischerweise als Konvention verwenden, weil das alles andere tut - aber gab es einen Grund für die Verwendung von Perioden überhaupt?

+2

Buch von Ubuntu 9:01? :-) –

+0

Kann hilfreich sein: http://technologizer.com/2009/07/14/version-numbers/ – ESRogs

Antwort

6

Meine Vermutung ist, es hat etwas mit early operating system naming conventions zu tun. Das erste, was Sie tun möchten, wenn Sie eine zweite Version haben, sind alle Dateien und Verzeichnisse, die für diese Version spezifisch sind.

Mit Blick auf Wikipedia, "/", "\", ":" und sogar "%" und "#" haben Auswirkungen auf den Speicherort der Datei und wäre daher problematisch als Dateinamen, insbesondere in einem fairen primitives Betriebssystem.

"-", "_" und "." werden alle regelmäßig in Dateinamen verwendet, damit sie für die Versionsbenennung verfügbar sind.

Aber "-" wurde in Datumsformaten für eine lange Zeit verwendet.

Ich würde tatsächlich argumentieren, dass das Modell der Dezimalzahl nicht so schlecht ist. Obwohl es nahe legt, dass 1,5 auf halbem Wege zwischen 1 und 2 liegt, legt es nahe, dass die Version 1.1 nicht so stark von der Version 1.0 abweicht, wie die Version 2.0. Und es macht es möglich, auf merkliche Verschiebungen der Basislinie hinzuweisen.

1

Es ist kein Dezimalpunkt. Es ist nur eine Version Seperator. Menschen in Kontinentaleuropa verwenden immer noch einen Zeitraum für die Versionstrennung.

5

Die einzige interessante Sache, die ich finden ist this part of the Wikipedia entry about Software verisonning, die heißt es (Zitat):

Wenn gedruckt wird, können die Sequenzen mit Zeichen getrennt werden. Die Auswahl von Zeichen und ihre Verwendung variiert nach Schema. Die folgende Liste zeigt hypothetische Beispiele für Trenn Systeme für die gleiche Freisetzung (die dreizehnten dritte Ebene Revision der vierte zweite Ebene Revision der zweiten First-Level-Version):

  • Ein Schema kann verwenden das gleiche Zeichen zwischen allen Sequenzen: 2.4.13, 2/4/13, 2-4-13
  • Ein Schema Wahl, die Sequenzen inkonsistent zu trennen sein können, einige Sequenzen trennt aber nicht others: 2,413
  • eine Auswahl von Zeichen Schema kann innerhalb der gleichen Kennung inkonsistent: 2.4_13

Wenn eine Periode verwendet wird, trennen Sequenzen, ist es nicht eine Dezimalpunkt darstellt, und die Sequenzen tun nicht positionelle Bedeutung haben. Ein Bezeichner von 2,5 ist zum Beispiel nicht "zweieinhalb" oder "halbwegs Version drei", es ist die fünfte zweite Ebene Revision der zweiten First-Level-Revision, und wäre nicht geeignet [Zitat erforderlich], es sei denn, gab es eine 2.1, 2.2, 2.3 und 2.4.

+1

es ist nicht angemessen, es sei denn, Sie versuchen, die Konkurrenz zu erfüllen :) http: //en.wikipedia .org/wiki/Oracle_Corporation # RDBMS_release_timeline –

+0

... oder eigentlich nach dem wikipedia-artikel, weil niemand die erste rev eines produkts kaufen möchte. –

2

Sie können sich auch fragen, warum der Dezimalpunkt das Zeichen zum Beenden von Sätzen ist. 08 Wie verwirrend!

6

Ich bin nicht sicher über den genauen Grund, aber ein möglicher Einfluss könnte die Versionierung durch Code-Repository-Systeme (wie RCS/CVS) gewesen sein - die natürlich die Zahlen viel einfacher zu manipulieren als Strings finden.

Darüber hinaus dachte wahrscheinlich niemand mit der Verwendung von Dezimalschreibweise zu der Zeit von größer als neun Subversionen oder Sub-Subversion. Abgesehen von diesen beiden Einschränkungen dient die Dezimalschreibweise als anständige intuitive Annäherung an den Status der Softwareversion.

+0

cvs ist ein Schmerz mit Perioden ... es erlaubt sie nicht in Tag-Namen :) – ShuggyCoUk

0

Das ist kein Dezimalpunkt, nur ein Trennzeichen. Warum sie dieses Symbol verwendeten, ist unbekannt und von wenig Interesse als Programmierungsfrage ...

Aber zu viele Leute denken, dass dies ein Dezimalpunkt ist, was zu Verwirrung führt. Aber was ist mit Firefox 3.0.13 oder was auch immer 1.9.0.5213? Major-Nummer, Minor-Nummer, Revisionsnummer und Build-Nummer sind nicht ungewöhnlich (zumindest in der Microsoft-Welt ...).

11

Wie DVK vorgeschlagen hat, stammt es fast sicher von SCCS, dem ursprünglichen Source Code Control System. Die verwendeten Zahlen waren 1,1, 1,2, ... 3,14, 3,15, ... usw.

Wenn Sie einen tieferen Grund als das wollen, könnten Sie fragen Marc Rochkind (erstellt SCCS).

Edit: Okay, mailte ich Marc Rochkind selbst, und er sagte:

Ich denke, das mit Dezimalzahlen analog gestartet. Version 1, Version 2, Version 2.1, usw., usw. Dann werden mehr Dezimalstellen hinzugefügt, was überhaupt keinen mathematischen Sinn ergibt, aber es ist sowieso nur eine Zeichenkette.

Ich glaube nicht, dass es mit SCCS entstanden ist. Ich denke, dieses Schema wurde bereits 1972 verwendet, als ich mit der Arbeit an SCCS begann, also wäre es für uns bei Bell Labs die normale Sache gewesen. Es ist also "frühere Konvention, die SCCS als seine eigene Inspiration verwendet hat".

... Also, ich frage mich, i f ALGOL had been coded die Europäische Konvention für den Radix Punkt zu verwenden, wenn wir alle statt Kommas für unsere Version Separatoren seien mit ...

+0

Also, noch einmal, wir finden alles beginnt mit al-Khwārizmī –

+0

Vielen Dank für die Forschung, es ist interessant zu wissen, dass die Konvention war mindestens so früh wie Bell Labs. Ich habe dich bereits vor dem Editieren upgestimmt, also tut mir leid, dass ich nicht mehr upvoten kann. –

0

Ich denke, es ist einfacher, nur eine neue Nummer als einen neuen Namen zu finden. Sogar Microsoft ist wieder zu ihrem normalen Nummerierungsschema zurückgekehrt, ausgehend von Windows 2, 3, 3.1, 3.11 bis 95, 98, ME, 2000, XP, Vista und jetzt zurück zu 7. Außerdem kann die Verwendung von Buchstabencodes zu unerwünschten Zuordnungen führen. Z.B. Wir haben Windows CE, ME und NT, das sind drei verschiedene Windows-Systeme, die alle im selben Moment einsatzbereit waren. (Fügen Sie einfach die Buchstaben zusammen.) Zumindest bei Zahlen besteht nicht die Gefahr, versehentlich seltsame Wörter auszusprechen. (Andererseits haben Borland/Codegear/Embarcadero die Version 13 des Delphi RAD-Studios übersprungen.) Menschen neigen auch dazu, Versionsnummern wie 6.66 oder 6.6.6 aus teuflischen Gründen zu vermeiden ...

+0

Ich stimme dir zu, außer für das Microsoft-Beispiel. Ich denke, dass sie zurück zur Zahl gehen, weil es für Unternehmen ernster aussieht, und sie werden alles tun, was ihnen eine zweite weltweite FAIL wie Vista vermeiden könnte ... – p4bl0