The OpenNET Project / Index page

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



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

Оглавление

В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..., opennews (?), 11-Дек-16, (0) [смотреть все]

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


24. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Ivan_83email (ok), 11-Дек-16, 16:05 
Может стоило проверку
if (type != CSO_SAMPLER)
засунуть в
sanitize_hash(sc, hash, type, sc->max_size);
?
Ответить | Правка | Наверх | Cообщить модератору

27. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –3 +/
Сообщение от Аноним (-), 11-Дек-16, 17:51 
Если организовывать код правильно, широко используя абстракции и грамотно разруливая ответственности (а именно такой подход практикуется в Java), багов больше не будет, и программистам на си перестанут платить за вечное исправление вечных багов.
Ответить | Правка | Наверх | Cообщить модератору

29. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +1 +/
Сообщение от commiethebeastie (ok), 11-Дек-16, 18:49 
Эльф?
Ответить | Правка | Наверх | Cообщить модератору

32. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Crazy Alex (ok), 11-Дек-16, 22:11 
Конечно не будет - потому в результате драйвер вообще не взлетит. Ответственности и абстракции отнюдь не бесплатны, и там, где производительность важна, приходится писать на том и так, чтоюы эта самая производительность всё же была.

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

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

40. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +1 +/
Сообщение от Аноним (-), 12-Дек-16, 10:23 
Красивого ООП там к сожалению не так много как могло-бы быть ;) там скорее благодаря живучести кода на определённых платформах костыли ещё не привели к обвалу конструкции :)
Ответить | Правка | Наверх | Cообщить модератору

47. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от freehckemail (ok), 12-Дек-16, 12:34 
Это да. Красивый ООП - явление чрезвычайно редкое. Наверное, это потому, что есть платформы, которые его возвели прямо-таки в религию, и заставляют программистов пихать его повсюду, к месту и не к месту.

Единственный раз, когда я видел качественную объектную модель, это был ocaml-cryptokit от Xavier Leroy. Больше оправданного ООП не наблюдал в жизни.

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

48. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Аноним (-), 12-Дек-16, 13:00 
В моем посте #27 про ООП вообще ни слова не было. Говорил лишь о том, чтобы четко разграничивать ответственности. Так, например, проверку действительно можно было бы засунуть в функцию, а не помнить об этом требовании (type != CSO_SAMPLER) везде и всюду при ее вызове.
Ответить | Правка | Наверх | Cообщить модератору

53. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Crazy Alex (ok), 12-Дек-16, 13:51 
Если ты готов дать гарантии, что она там вообще всегда нужна - тогда да. А если иногда она там лишняя - то в критичном к проиводительности коде это паршивая идея.
Ответить | Правка | Наверх | Cообщить модератору

49. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Crazy Alex (ok), 12-Дек-16, 13:36 
Не о тех масштабах речь. Берёте любой большой софт - банковский, ERP и подобное - там без ООП вообще не выжить. И речь уже не о производительности, а о том, как эту гору логики хоть как-то организовать.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

68. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от freehckemail (ok), 12-Дек-16, 21:36 
> Не о тех масштабах речь. Берёте любой большой софт - банковский, ERP
> и подобное - там без ООП вообще не выжить.

Я склонен считать, что Вы всё-таки заблуждаетесь.

Вот думаете, почему многие явисты вместо того, чтобы наследоваться, занимаются инкапсуляцией суперклассов в порождаемый в качестве полей? Можно, конечно, ссылаться на то, что JVM не поддерживает множественного наследования, однако имхо всё проще: не всё хорошо ложится на иерархические структуры - раз, в попытках впихнуть всё в иерархию делается множество оверрайдов, что ведёт к проблемам при обновлении классов, от которых вы относледовались - два.

> И речь уже не о производительности, а о том, как эту гору логики
> хоть как-то организовать.

Ну дык, организация логики продукта - та ещё зубодробильная задачка для архитектора. И она легко не решится ни с ООП, ни без него.

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

Вообще, чтобы хорошенько прочувствовать, почему лучше оперировать модулями вместо классов - достаточно посмотреть как Jane Street переделали (а лучше сказать - дополнили) стандартную библиотеку OCaml, то бишь на Core. Я надеюсь, это достаточно масштабный проект, особливо с учётом того, что Jane Street как раз разрабатывает ПО для бирж.

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

50. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Crazy Alex (ok), 12-Дек-16, 13:37 
Хм, разница в понимании "красивого" ООП, наверное.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

42. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Аноним (-), 12-Дек-16, 10:57 
Хорошая архитектура - это не значит ущерб производительности. Надеюсь, ты не это имел ввиду.

К сожалению, фанатичные апологеты всяких методик (ООП, паттерны, всякие XP) (часто, у них еще и академический бекграунд превалирует над промышленным опытом работы), дискредитируют понятие архитектуры, привнося в код необоснованные усложнения под видом "зато соответствует методике!". Тогда как ни одна методика не является серебряной пулей, и слепо впихивать в её рамки текущую задачу не требуется.

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

52. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Crazy Alex (ok), 12-Дек-16, 13:49 
"Соответствует методике" для больших систем - важнейший аргумент. Потому что их вообще никто не знает и знать не может в силу объёма. Поэтому код должен быть максимально предсказуемым - иначе его поддежка - на маштабах-то - выйдет золотой.

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

Поэтому - GC, фабрики фабрик, DI и тому подобное, чтобы всё работало максимально униформно и не требовало рефакторинга миллионов строк.

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

54. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Аноним (-), 12-Дек-16, 14:17 
клоун: Линукс, Libre Office - это большие системы? Много времени уходит на документирование? Где посмотреть столько качественно составленную документацию и слои абстракции?

Вот работа из-под 1С с Экселем:

Excel = Новый COMОбъект("Excel.application");
Excel.WorkBooks.Open(ПолноеИмяФайла);
Лист = Excel.Sheets(1); // Первый лист по индексу

И с LibreOffice (найди 5 отличий):

OpenOffice = Новый ComОбъект("com.sun.star.ServiceManager"); // Создаем СОМ-объект

scr = Новый ComОбъект("MSScriptControl.ScriptControl");    
scr.language = "javascript";
scr.eval("MassivParametrov = new Array()");
MassivParametrov = scr.eval("MassivParametrov");
scr.AddObject("OpenOffice", OpenOffice);
scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
scr.eval("MassivParametrov[0].Name='Hidden'");
scr.eval("MassivParametrov[0].Value=true");

Desktop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop"); // Создаем Desktop
URL = ConvertToURL(ПолноеИмяФайла); // Правильно формируем имя файла
Doc = Desktop.LoadComponentFromURL(URL, "_blank", 0, MassivParametrov);

Doc.lockControllers();
Doc.addActionLock();

Sheets = Doc.GetSheets();
Лист = Sheets.GetByIndex(0); // Открываем первый лист по индексу

В одной из этих программ явно проблемы с уровнями абстракции и удобством использования, не находите?

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

55. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +1 +/
Сообщение от commiethebeastie (ok), 12-Дек-16, 15:18 
>Создаем СОМ-объект

Проблема именно вот в этом, а не в чем-то другом.

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

65. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Аноним (-), 12-Дек-16, 17:08 
клоун: Думаешь? А я вот вижу другую картину.

Вот почитай, в глаза ярко бросается бесполезная избыточность LO по сравнению с MSO.

http://beginwithsoftware.com/LibreOffice/Sravnenie_Excel_Cal...

MSO: Макросы - Безопасность макросов

LO:  Сервис - Параметры - Параметры - LibreOffice - Безопасность - Безопасность макросов - Уровень безопасности

Аналогичную избыточность мы видим на программном уровне (на примере чтения из ячейки):

MSO.Sheets(1).Cells(Строка, Колонка).Value

LO.GetSheets().GetByIndex(0).getCellByPosition(Колонка,Строка).getText().String()

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

67. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от commiethebeastie (ok), 12-Дек-16, 20:54 
> клоун: Думаешь? А я вот вижу другую картину.

Еще раз, вы используете com объеты, это как минимум оффтоп на этом сайте. А во-вторых это неправильный, вантузячий подход.

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

58. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +1 +/
Сообщение от Crazy Alex (ok), 12-Дек-16, 16:23 
Ха, тролль прилез... до перового появления модератора, полагаю.

Не нахожу. Я вообще не понимаю, зачем они это COM-уродство поддержали. На редкость ублюдочная реализация отличной идеи компонентов. Тем более, что ODF, в отличие от OOXML, довольно логичен и поддерживается массой софта и в 99% случаев для работы с ним дёргать либру вместо подходящих библиотек - глупость. Это чтобы сэмулировать косяки МС офиса проще всего его и взять.

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

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

62. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  –1 +/
Сообщение от Аноним (-), 12-Дек-16, 16:43 
> В одной из этих программ явно проблемы с уровнями абстракции и удобством
> использования, не находите?

Здатый получился графический драйвер. Наймите этого assclown'а в MS, дрова видеокарт улучшать.

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

72. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Аноним (-), 13-Дек-16, 03:48 
> в MS, дрова видеокарт улучшать.

инкремент в количество клоунов

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

60. "В Mesa-драйвере radeonsi устранена ошибка, приводившая к зав..."  +/
Сообщение от Аноним (-), 12-Дек-16, 16:35 
> (а именно такой подход практикуется в Java), багов больше не будет,

Ты вообще представляешь себе что будет если графические вещи на яве писать? Она не тормозит же. И скорость провалится раза в три. А потом окажется что GC лаги на пару секунд вызывает - и станет совсем хорошо. Здорово же когда играл ты в шутер, прицелился - ОПА - спуск не жмется! Извольте сборку мусора подождать. А вот соперник ждать не будет...

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

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

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




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

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