The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз набора компиляторов GCC 13, opennews (??), 26-Апр-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


118. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от Аноним (64), 27-Апр-23, 04:08 
> И это правильно, потому что ничего через циферки не выразить

Можно выразить масштаб изменений.

> semver доказал свою полною несостоятельность

Разве что как раз этим уникумам, которые изобретают свой велосипед.

Ответить | Правка | Наверх | Cообщить модератору

202. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (180), 27-Апр-23, 15:56 
> Можно выразить масштаб изменений.

Нет, можно выразить только наличие очередного релиза и упорядочить релизы (и то только в рамках одной релизной ветки), масштаб изменений выразить нельзя от слова вообще, потому что он для каждого потрелибеля значит разное и для большинства применений неизмерим вовсе. А если бы даже масштаб и можно было как-то выразить, то использовать его всё равно никаким осмысленным образом не получилось бы.

Напомню что semver, одна из немногих схем _осмысленного_ версионирования, отталкивается не от непонятного масштаба, а от конкретного (на первый взгляд) свойства - изменений в API (patch = нет изменений, minor = есть совместимые, major = есть несовместимые). Однако эта схема не работает потому что, с одной стороны, на практике оказывается что любое наблюдаемое изменение является несовместимым (поэтому исправление бага в minor ломает тех кто на этот баг заложился), с другой - не все несовместимые изменения API аффектят всех (поэтому major изменение может вообще ничего не затронуть в потребителе). При этом а) API имеет смысл только для библиотек, при том что не все проекты библиотеки б) почти половина проектов не заявляют стабильного API (версия 0.*).

Поэтому нет, версии ничего ни количественно, не качественно не выражают, никогда не выражали и не будут, а требовать этого могут только не разбирающиеся в разработке дурачки.

Ответить | Правка | Наверх | Cообщить модератору

226. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от Аноним (64), 27-Апр-23, 19:47 
> Поэтому нет, версии ничего ни количественно, не качественно не выражают, никогда не выражали и не будут, а требовать этого могут только не разбирающиеся в разработке дурачки.

Ох уж эти опеннетные умники, разбирающиеся в разработке. Ты сам себе противоречишь, утверждая, что семантика есть, но при этом она ничего не выражает. Семантика есть и у нового способа версионирования GCC, но она нестандартная, и в этом как бы вся претензия.

> свойства - изменений в API

Не только изменений в API, но и любого функционала софта в целом (не обязательно библиотек). А еще у библиотек есть ABI. При этом ты же сам написал, что patch - это багофиксы, minor - новый совместимый функционал, а major - огромные несовместимые изменения. Это как бы и есть масштаб и тип изменений, не?

> любое наблюдаемое изменение является несовместимым (поэтому исправление бага в minor ломает тех кто на этот баг заложился)

Во-первых, баги фиксят в path. Во-вторых, если у кого-то хватило ума заложился на баги - это их личные проблемы. Какое отношение это имеет к системе версий и ее семантике?

> не все несовместимые изменения API аффектят всех

Опят же, какое отношение это имеет к системе версий? Какое мне дело, аффектит ли оно "всех", если я работаю над конкретным проектом или с конкретным софтом?

> поэтому major изменение может вообще ничего не затронуть в потребителе

Нет, не может, ибо это уже не изменения уровня major, а как раз какая-то новая нескучная семантика.

> почти половина проектов не заявляют стабильного API (версия 0.*).

Ну вот ты сам упомянул о еще одной семантике - пре-релизе. И тут же утверждаешь, что версия не говорит ни о чем.

Ответить | Правка | Наверх | Cообщить модератору

299. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от Аноним (180), 28-Апр-23, 17:21 
> Ты сам себе противоречишь, утверждая, что семантика есть, но при этом она ничего не выражает

Я такого не утверждал, научись читать - я привёл semver как пример _попытки_ сделать вид что семантика есть, и показал почему это не работает.

> Не только изменений в API, но и любого функционала софта в целом (не обязательно библиотек)

Нет, только изменений в API, потому что API это контракт, а только при наличии контракта можно говорить нарушается он или нет. Про изменение "любого функционала" ничего нельзя сказать. Может ты опечатку поправил в выводе программы, и для тебя это patch, а для того кто этот вывод решил парсить и у него сломалась регулярка это breaking change. Собственно, то же возможно и при обработке того что вернула библиотека, поэтому semver и не работает.

>> не все несовместимые изменения API аффектят всех
> Опят же, какое отношение это имеет к системе версий? Какое мне дело, аффектит ли оно "всех", если я работаю над конкретным проектом или с конкретным софтом?

Автор, по semver, должен бампать major при любом несовместимом изменении в API. При этом клиент может эту часть API вообще не использовать. В итоге даже забыть что semver не работает, и завязаться на его гипотетическую семантику, которая позволила бы нам, например, описать диапазон версий зависимости нашего проекта как `>=17 <18`, надеясь получать обновления в рамках 17 мажорной версии и при этом не сломаться, мы получим хрена лысого.

Ответить | Правка | Наверх | Cообщить модератору

343. "Релиз набора компиляторов GCC 13"  +/
Сообщение от warlock66613email (ok), 01-Май-23, 10:51 
То, что вы хотите от semver чего-то, что он не может — не проблема semver, это ваша проблема.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру