The OpenNET Project / Index page

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



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

Оглавление

Релиз libpng 1.6.0 с поддержкой упрощённого API, opennews (??), 18-Фев-13, (0) [смотреть все]

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


31. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  +1 +/
Сообщение от Mihail Zenkov (ok), 19-Фев-13, 18:42 
> А какой глобальный смысл в удалении устаревшего кода? Ну сохранили бы со
> статусом "obsolete" - и фиг с ним. Зачем создавать проблемы тем,
> чьи проблемы ты должен решать?

Чистить код нужно постоянно - чем меньше кода, тем выше его читаемость, меньше ошибок, легче портировать.

Чистить API тоже нужно, но сперва пометить как deprecated и лишь через пол года - год удалять. Да и как правило библиотеки с хорошим дизайном редко сильно меняют API, в основном просто расширяют, соответственно обратная совместимость не ломается.

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

35. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  +/
Сообщение от Аноним (-), 19-Фев-13, 19:13 
> Чистить API тоже нужно, но сперва пометить как deprecated и лишь через пол года - год удалять.

Сами это написали, а выше ныли как страшно переписывать под новые версии. libpng так и делают, только времени доют ещё больше.

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

37. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  –1 +/
Сообщение от Mihail Zenkov (ok), 19-Фев-13, 20:21 
>> Чистить API тоже нужно, но сперва пометить как deprecated и лишь через пол года - год удалять.
> Сами это написали, а выше ныли как страшно переписывать под новые версии.
> libpng так и делают, только времени доют ещё больше.

Как раз с libpng и возникают проблемы, ибо программа собраная с ее поддержкой жестко привязывается к конкретной версии. Примеры уже здесь приводили. Ни с одной другой библиотекой такого не наблюдается. Даже glibc проще обновить.

Где это они времени больше дают? Что-то не припомню при компиляции "Warning: xxxx this function depricated", за то вот error'ы как грибы после дождя, если версия не совпала.

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

47. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  +/
Сообщение от maxst (?), 20-Фев-13, 08:35 
> Где это они времени больше дают?

Ну вот к примеру что можно найти в libpng-manual.txt в разделе где перечисляются изменения между 1.2.x и 1.4.x:

The functions png_read_init(info_ptr), png_write_init(info_ptr),
png_info_init(info_ptr), png_read_destroy(), and png_write_destroy()
have been removed.  They have been deprecated since libpng-0.95.

The png_permit_empty_plte() was removed. It has been deprecated
since libpng-1.0.9.  Use png_permit_mng_features() instead.


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

48. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  –1 +/
Сообщение от Mihail Zenkov (ok), 20-Фев-13, 15:35 
Вот только на практике при попытке собрать приложение написанное под API 1.2.x с новой 1.4.x заканчивается кучей ошибок, а не warning'ов.

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

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

49. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  +1 +/
Сообщение от maxst (?), 20-Фев-13, 16:28 
> Вот только на практике при попытке собрать приложение написанное под API 1.2.x
> с новой 1.4.x заканчивается кучей ошибок, а не warning'ов.

В ветке 1.2.x ширину изображения можно было получить двумя способами:
info_ptr->width
png_get_image_width()

В ветке 1.4.x прямой доступ убрали как небезопасный и оставили только
png_get_image_width()

Именно это изменение вызвало наибольший дискомфорт: во многих старых приложениях был прямой доступ и видимо разработчики libpng не смогли придумать, как сделать чтобы чтение info_ptr->width некоторое время работало, но предупреждало, что этот подход deprecated...

По сравнению с этим, переход от 1.4.x к 1.5.x был относительно безболезненным, думаю 1.6.x тоже пройдет без особых проблем.

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

53. "Релиз libpng 1.6.0 с поддержкой упрощённого API"  +/
Сообщение от Аноним (-), 21-Фев-13, 00:49 
> Как раз с libpng и возникают проблемы, ибо программа собраная с ее
> поддержкой жестко привязывается к конкретной версии. Примеры уже здесь приводили. Ни
> с одной другой библиотекой такого не наблюдается. Даже glibc проще обновить.

И в glibc есть deprecated, и вообще вы сколько бибилотек пользуете? Я постоянно вижу развивающиеся (причём не ценой сотен костылей, а через устаревание старых интерфейсов) API, и это правильно. "Приводите" вы здесь один страдалец, и всё, что характерно, мимо.

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

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

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




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

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