1.1, Аноним (-), 20:27, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– |
В последнее время очень чётко прослеживается тенденция к ускорению инкремента циферок в релизах. Всякие Chrome 201, Firefox 189, SystemShi^WD 228. Ждём GCC 42.
| |
|
2.11, equeim (ok), 22:02, 04/12/2015 [^] [^^] [^^^] [ответить]
| –4 +/– |
А зачем нужно много чисел в версиях для проектов с релизами по расписанию (таких, как Firefox, Linux)? Двух вполне достаточно. А еще логичнее, чтобы в таком случае первое число обозначало дату релиза.
К сабжу это, естественно, не относится.
| |
|
3.12, freehck (ok), 23:21, 04/12/2015 [^] [^^] [^^^] [ответить]
| +20 +/– |
Ну, три числа всегда были в некотором роде "традицией". Мажорный номер версии менялся только тогда, когда нарушалась обратная совместимость, первый минорный -- когда добавлялся новый функционал, не влияющий на обратную совместимость, а третье -- для багфиксов.
Что теперь все эти цыфири означают, я не знаю. Каждый придумывает свою нумерацию, и хрен поймёшь, что там и как меняется.
| |
|
4.14, Xasd (ok), 23:37, 04/12/2015 [^] [^^] [^^^] [ответить]
| –14 +/– |
> когда добавлялся новый функционал, не влияющий на обратную совместимость
практически всегда каждый новый функционал влияет на обратную совместимость (в лучшем случае -- чуточку ухудшая её.. в худшем -- сильно ухудшая её).
вопрос вообщем в количестве этого влияния.
| |
|
5.17, freehck (ok), 00:28, 05/12/2015 [^] [^^] [^^^] [ответить]
| +6 +/– |
>> когда добавлялся новый функционал, не влияющий на обратную совместимость
> практически всегда каждый новый функционал влияет на обратную совместимость (в лучшем случае
> -- чуточку ухудшая её.. в худшем -- сильно ухудшая её).
Нонсенс или плохой подход к разработке.
| |
5.18, . (?), 00:57, 05/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так было не всегда ... (С)Один старый ребе :)
| |
|
4.28, Аноним (-), 13:23, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>Мажорный номер версии менялся только тогда, когда нарушалась обратная совместимость
Ну не везде и не всегда так было. Вот, помнмится, GCC 3.4 в части C++ ABI нарушил совместимость с остальными версиями 3-ей ветки.
| |
|
3.16, Led (ok), 00:09, 05/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А еще логичнее, чтобы в таком случае первое число обозначало дату релиза.
В секундах от Р.Х.?
| |
|
4.19, Mihail Zenkov (ok), 01:07, 05/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Если вам так удобно, может хоть в наносекундах от сотворения вселенной ;)
Я обычно упакованные срезы именую так: palemoon-151201.tar.xz
| |
|
|
6.26, Mihail Zenkov (ok), 12:42, 05/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Зачем? Я и до 20990101 скорее всего не доживу, а исходники проектов столетней давности могут быть интересны разве что историкам.
| |
|
|
|
|
2.33, Онаним (?), 18:37, 07/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Просто люди мечутся из "крайности в крайность". В начале века в хакерско-линуксоидской среде было модно использовать версии в стиле 0.x.y, например вполне годный мессенджер Psi, которому 15 лет уже, до сих пор имеет версию 0.15.
| |
|
1.2, neon1ks (ok), 20:35, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Большинство изменений в g++ связано с обеспечением поддержки с++14
В общем, новые возможности добавляются всегда!
| |
1.4, neon1ks (ok), 20:41, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Убил пример:
>[оверквотинг удален]
> G++ now supports C++14 extended constexpr
> constexpr int f (int i)
> {
> int j = 0;
> for (; i > 0; --i)
> ++j;
> return j;
> }
>
> constexpr int i = f(42); // i is 42
| |
|
2.5, фыва (?), 20:46, 04/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
Здоровья у тебя мало. Что тут особенного? Результат можно посчитать во время компиляции - можно, вот и работает.
| |
|
|
4.7, neon1ks (ok), 21:06, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Для статических переменных?
Прочитал про constexpr, но пример все равно забавный.
| |
4.10, фыва (?), 21:48, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
В коде иногда нужно задать какие-то табличные данные, часто рассчитываемые. И вместо конструкций с #define можно и нужно использовать constexpr - теперь улучшенный и расширенный.
| |
|
5.21, arisu (ok), 10:25, 05/12/2015 [^] [^^] [^^^] [ответить]
| +5 +/– |
эдак, глядишь, допилят, потом шаблоны нормальные сделают, потом нормальное метапрограммирование — и получится D.
| |
|
6.31, Giperonym (?), 17:43, 07/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
A Common Lisp, CL, когда получится?? ну ладно согласен на компилируемый в натив Clojure
| |
|
|
|
3.32, dq0s4y71 (??), 18:33, 07/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если результат можно посчитать во время компиляции, то почему бы компилятору его просто не соптимизировать, как это было всегда? Зачем нужна лишняя сущность? И что будет, если результат нельзя посчитать во время компиляции? Просто в тексте будет бесполезное слово constexpr?
По-моему, С++ сейчас развивается по такому принципу: если какой-то костыль плохо выполняет свою функцию, нужно добавить ещё один костыль, который тоже будет плохо выполнять ту же функцию - но зато теперь у нас два костыля, плохо выполняющих одну и ту же функцию!
| |
|
4.34, Crazy Alex (ok), 19:10, 07/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Просто ты ни хрена не понимешь идеологию плюсов.
1) Программист с constexpr точно знает, что получилось - если хотел вычисление при компиляции, но это невозможно - получай ошибку, а не вычисление в рантайме.
2) Далеко не всегда всё, что можно вычислить при компиляции, надо вычислять. Это может быть абсолютно бессмысленно и адски долго.
| |
|
5.35, Mihail Zenkov (ok), 19:18, 07/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> 2) Далеко не всегда всё, что можно вычислить при компиляции, надо вычислять.
> Это может быть абсолютно бессмысленно и адски долго.
Так в противном случае это произойдет в рантийме, что уж совсем не хорошо. Или речь о какой-то особой ситуации?
| |
|
6.45, Vkni (ok), 02:28, 07/01/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Так в противном случае это произойдет в рантийме, что уж совсем не
> хорошо. Или речь о какой-то особой ситуации?
Ну берём любую расчётную программу. Очевидно, что компиляция в native code + выполнение будут быстрее интерпретации её компилятором (вычисление на этапе компиляции).
| |
|
7.46, Mihail Zenkov (ok), 13:57, 07/01/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Ну берём любую расчётную программу.
Любая расчетная программа обычно при запуске принимает входные данные для расчета и запускается не один раз.
На "одноразовой" программе - данные зашиты в код и запускается один раз - согласен, возможно, но ИМХО выигрыш будет не большой, так как на стадии компиляции компилятор в любом случае полностью разбирает каждое выражение.
| |
|
|
5.37, dq0s4y71 (??), 15:01, 08/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Просто ты ни хрена не понимешь идеологию плюсов.
Проблема в том, что идеология в них заменяет здравый смысл :)
> 1) Программист с constexpr точно знает, что получилось - если хотел вычисление при компиляции, но это невозможно - получай ошибку, а не вычисление в рантайме.
Зачем _программисту_ об этом знать? Оптимизирует - _компилятор_. Вот путь он и думает, сможет он оптимизировать выражение или нет. А магическое слово constexpr возможности компилятора по оптимизации никак не увеличивает.
> 2) Далеко не всегда всё, что можно вычислить при компиляции, надо вычислять. Это может быть абсолютно бессмысленно и адски долго.
А опциями компилятора для указания, что надо оптимизировать, а что нет, программисты на С++ уже не пользуются?
| |
|
6.38, Mihail Zenkov (ok), 15:07, 08/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> 1) Программист с constexpr точно знает, что получилось - если хотел вычисление при компиляции, но это невозможно - получай ошибку, а не вычисление в рантайме.
> Зачем _программисту_ об этом знать? Оптимизирует - _компилятор_. Вот путь он и
> думает, сможет он оптимизировать выражение или нет. А магическое слово constexpr
> возможности компилятора по оптимизации никак не увеличивает.
Смысл примерно тот же что и с "const int x = 3;" вместо "int x = 3;" - программист указывает, что данный кусок должен быть вычислен в compile time и если это невозможно он хочет быть явно уведомленным об этом.
| |
|
7.39, dq0s4y71 (??), 15:43, 08/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
То есть всё, что не constexpr, он теперь не будет пытаться оптимизировать, что ли?
| |
|
|
|
|
|
|
|
|
3.15, asavah (ok), 23:54, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
как будто вы это руками делаете ...
но если вы это таки делаете руками (отлов тараканов сборки определённых пакетов не в счёт), то есть не запилили полную автоматизацию всего и вся - советую заняться чем-то более совместимым с вашим IQ например вышиванием крестиком.
| |
|
4.22, Сергей (??), 11:09, 05/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> как будто вы это руками делаете ...
Головой. Вы руками, видимо.
| |
|
5.25, Аноним (-), 12:42, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Он просто этого не делает, и пользует ваши труды.
Работать негр, солнце еще высоко.
| |
|
4.36, Онаним (?), 19:42, 07/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> как будто вы это руками делаете ...
> но если вы это таки делаете руками (отлов тараканов сборки определённых пакетов
> не в счёт), то есть не запилили полную автоматизацию всего и
> вся - советую заняться чем-то более совместимым с вашим IQ например
> вышиванием крестиком.
В виде примера чего-то более совместимого с IQ человека, собирабщего всю систему руками ожидал увидеть скорее чего-то типа проектирования космических кораблей или тому подобного...
| |
|
|
|
1.23, Аноним (-), 12:09, 05/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
А кто-нибудь читал сообщение с описанием новой схемы нумерации версий gcc? Можете объяснить? Я правильно понимаю, что схема следующая?
1. каждый год увеличивается мажорная версия,
2. первый релиз с новой мажорной версией имеет минорный номер 1 (то есть не 5.0.0, а 5.1.0),
3. третье число версии всегда ноль (никаких 5.1.1 или 5.2.4, только 5.1.0 и 5.2.0).
| |
|
2.24, arisu (ok), 12:11, 05/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А кто-нибудь читал сообщение с описанием новой схемы нумерации версий gcc?
а смысл? зараза «кроличьих релизов» и до них добралась, так что без разницы уже.
| |
2.27, Andrey Mitrofanov (?), 13:19, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> А кто-нибудь читал сообщение с описанием новой схемы нумерации версий gcc? Можете
> объяснить? Я правильно понимаю, что схема следующая?
Я к этому отношусь примерно как к сборнику анекдотов физики шутят: они исключительно головастые ребята, но юмор их тяжеловат. Ну, не понимаю - и ладно. И раньше я не понимал их стейджей, теперь и нумерации с трансцедентными нулями не буду понимать. Невелика потеря.
- - - Ну и хрен с ним, с плащом.
| |
2.29, Аноним (-), 18:24, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
"идея" аналогично тому как "обзвать 4.x" Линусу про ядро - пришла ~ примерно.
| |
|
|