Историческая причина использования периодов в номерах версий?

Существует ли историческая причина того, что периоды используются вместо любого другого разделителя для версий программного обеспечения?

Один из наших продуктов ранее был версией 3.5, а теперь он 3.08. Я уверен, что это было руководство, говорящее, что введение первого нуля сделает его менее запутанным для наших клиентов, когда мы нажмем 3.10. Но как разработчик программного обеспечения, версия 3.08 выглядит странно для меня.

Если бы мы не использовали периоды, разница между версиями 3: 9 и 3:10 или 3-9 до 3-10 была бы более очевидной, потому что она не будет считана десятичным числом. Более того, для тех, кто вообще не знаком с версиями программного обеспечения, десятичное число, по-видимому, подразумевает, что версия 3.5 находится на полпути к следующему крупному выпуску, когда на самом деле мы не можем делать никаких предположений о количестве младших выпусков до следующего основного выпуска.

Я понимаю, что теперь мы обычно используем периоды как конвенцию, потому что это то, что делают все остальные, но была ли причина использования периодов в первую очередь?

Ответы

Ответ 1

Я предполагаю, что это связано с ранними соглашениями об именах операционной системы. Первое, что вы хотите сделать, когда у вас есть вторая версия, - это метки любых файлов и каталогов, которые относятся к этой версии.

Глядя на Википедию, "/", "\", ":" и даже "%" и "#" имеют последствия для местоположения файла и поэтому будут проблематичными в качестве имен файлов, особенно в довольно примитивном операционной системы.

"-", "_" и "." все они регулярно используются в именах файлов, поэтому они будут доступны для именования версий.

Но "-" используется в форматах даты в течение длительного времени.

Я бы фактически утверждал, что модель десятичного числа не такая уж плохая. Хотя это и говорит о том, что 1.5 находится на полпути между 1 и 2, это также говорит о том, что версия версии 1.1 не отличается от версии 1.0, поскольку версия 2.0 будет. И это позволяет указать заметные сдвиги в базовой линии.

Ответ 2

Как предположил DVK, он почти наверняка вытекает из SCCS, исходной системы управления исходным кодом. Числа, которые он использовал, были 1,1, 1,2,... 3,14, 3,15,... и т.д.

Если вам нужна более глубокая причина, вы можете спросить Marc Rochkind (созданный SCCS).

Править: хорошо, я отправил по электронной почте Марк Рочкинд сам, и он сказал:

Я думаю, что это началось по аналогии с десятичными числами. Версия 1, версия 2, версия 2.1 и т.д. И т.д. Затем добавление большего количества десятичных знаков, что не имеет никакого математического смысла, но все равно это строка.

Я не думаю, что он возник из SCCS. Я думаю, что эта схема уже использовалась к 1972 году, когда я впервые начал работать над SCCS, поэтому для нас в Bell Labs это было бы нормально. Таким образом, это "раннее соглашение, которое SCCS использовал как свое собственное вдохновение".

... Итак, я думаю, что я f ALGOL был закодирован, чтобы использовать европейскую конвенцию для точки счисления, если мы все будем используя запятые для наших разделителей версии...

Ответ 3

Я не уверен в конкретной причине, но одним из возможных влияний могло быть управление версиями, созданное системами репозитория кода (например, RCS/CVS), которые, конечно же, намного удобнее манипулировать числами, чем строки.

Кроме того, любой, кто придумал использовать десятичную нотацию, вероятно, не думал во время более чем девяти субверсий или суб-субверсификации. Эти два ограничения в сторону, десятичная нотация действительно служит в качестве прилично-интуитивного приближения к статусу версии программного обеспечения.

Ответ 4

Единственная интересная вещь, которую я нахожу, это эту часть записи в Википедии о проверке программного обеспечения, в которой говорится (цитирование):

При печати последовательности могут быть разделенных символами. Выбор символов и их использование варьируется по схеме. Следующий список показывает гипотетические примеры разделения схемы для того же выпуска ( тринадцатого пересмотра третьего уровня четвертого пересмотра второго уровня вторая версия первого уровня):

  • Схема может использовать один и тот же символ между всеми последовательностями: 2.4.13, 2/4/13, 2-4-13
  • Выбор схемы, какие последовательности для разделения могут быть несогласованными, разделение некоторых последовательностей, но не другие: 2.413
  • Выбор схемы символов может быть непоследовательным в одном и том же идентификатор: 2.4_13

Когда период используется для разделения последовательности, он не представляет собой десятичная точка, и последовательности не имеют позиционного значения. идентификатор 2.5, например, равен не "два с половиной" или "половина пути к версия три", это пятая ревизия второго уровня второго пересмотр первого уровня и не будет подходящий [править], если были 2,1, 2,2, 2,3 и 2.4.

Ответ 5

Вы также можете задаться вопросом, почему десятичная точка - это знак, используемый для прекращения предложений .08. Как запутанно!

Ответ 6

Это не десятичная точка. Это просто вариант seperator. Люди в континентальной Европе все еще используют период для разнесения версии.

Ответ 7

Это не десятичная точка, просто разделитель. Почему они использовали этот символ, неизвестно и мало интересует как вопрос программирования...

Но слишком много людей думают, что это десятичная точка, приводящая к путанице. Но как насчет Firefox 3.0.13 или что-то еще 1.9.0.5213? Основное число, младший номер, номер версии и номер сборки не являются редкостью (по крайней мере, в мире Microsoft...).

Ответ 8

Мне кажется, что проще просто придумать новый номер, чем новое имя. Даже Microsoft снова вернулась к своей обычной схеме нумерации, перейдя от Windows 2, 3, 3.1, 3.11 до 95, 98, ME, 2000, XP, Vista и теперь к 7. Кроме того, использование буквенных кодов может привести к нежелательным связям. Например. у нас есть Windows CE, ME и NT, которые представляют собой три разные системы Windows, которые работают примерно в один и тот же момент. (Просто поместите письма вместе.) По крайней мере, с номерами вы не рискуете случайно описать какие-то странные слова. (С другой стороны, Borland/Codegear/Embarcadero пропустили версию 13 студии Delphi RAD.) Люди также склонны избегать номеров версий, таких как 6.66 или 6.6.6 по каким-то дьявольским причинам...