The OpenNET Project / Index page

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



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

Оглавление

Qt 5.0 перешёл на стадию бета-тестирования, opennews (?), 30-Авг-12, (0) [смотреть все]

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


6. "Qt 5.0 перешёл на стадию бета-тестирования"  –2 +/
Сообщение от Аноним (-), 30-Авг-12, 19:09 
Так это же к лучшему - абстракция
Ответить | Правка | Наверх | Cообщить модератору

8. "Qt 5.0 перешёл на стадию бета-тестирования"  +4 +/
Сообщение от anonymous (??), 30-Авг-12, 19:13 
>Так это же к лучшему - абстракция

И от чего же там абстрагируются?

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

14. "Qt 5.0 перешёл на стадию бета-тестирования"  –1 +/
Сообщение от kafegemail (?), 30-Авг-12, 20:04 
От перекомпиляции под каждую платформу.
Ответить | Правка | Наверх | Cообщить модератору

17. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 30-Авг-12, 20:43 
>От перекомпиляции под каждую платформу.

Чем это лучше html5?

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

27. "Qt 5.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от СреднийПосетительОпеннета (?), 30-Авг-12, 22:04 
ты размер вебкита видел? А компилял? Он кстати на некоторых платформах аля встраиваемый линукс компилится только с помощью такой то матери.
Ответить | Правка | Наверх | Cообщить модератору

95. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 19:04 
> ты размер вебкита видел?

Дык кутя теперь его сватает активно. Чем она лучше? :)

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

39. "Qt 5.0 перешёл на стадию бета-тестирования"  +2 +/
Сообщение от piteri (ok), 30-Авг-12, 22:33 
тем что у хтмл5 на жаваскрипте пишется вся логика приложения.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

58. "Qt 5.0 перешёл на стадию бета-тестирования"  +5 +/
Сообщение от rshadow (ok), 31-Авг-12, 00:09 
html5 говно. Задолбали уже из языка разметки текста пытаться сделать гибрида по логической разметки страницы.
Давно пора сделать мух и котлеты отдельно: отдельно что нить вроде qml, отдельно html (без наворотов типа div, js и т.д.)
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

96. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 19:06 
> html5 гoвно. Задолбали уже из языка разметки текста

Оно уже давно не язык разметки текста а скорее язык разметки сложных документов и пользовательских интерфейсов. Грань между которыми там просто отсутствует.

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

71. "Qt 5.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от kafegemail (?), 31-Авг-12, 10:14 
Может, всем? Синтаксисом, скоростью, возможностями, портируемостью, изначальной работой в OpenGL, полноценной сетью, доступом ко всем ресурсам устройства, работой как нативное приложение, а не интерпретатор?

Это всё равно что спрашивать чем Т-90 лучше Т-34 - ведь оба танки!

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

25. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 21:44 
Во-первых, с QML нужно чуть больше стараться, чтобы смешать логику приложения и UI, а такое разделение — очевидно, хорошо.

Во-вторых, декларативный характер языка больше подходит описанию UI. Все ж писать гуйцы на C++ — это извращение. QML — большой шаг вперед в этом плане.

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

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

28. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 30-Авг-12, 22:08 
По сравнению с Lisp, Python и Ruby - JavaScript - жалкий калека. И если раньше связка C/Python/Qt была привлекательной, то теперь, когда JavaScript поставили во главу угла, она выглядит как архитектурный костыль. Почему они так носятся с этим JavaScript, неужели нельзя было продумать архитектуру так, чтобы упростить создание биндингов для скриптовых языков?
Ответить | Правка | Наверх | Cообщить модератору

31. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 22:18 
Я скорее про QML говорил, чем про JS.

Олсо, все это куэмельное щастье все-таки ближе к Граалям типа FRP, нежели чем Qt/C++.

Да и не ставил никто JS во главу угла. Можно писать так же, как и раньше.

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

37. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 30-Авг-12, 22:28 
"We should expect that over time all UIs will be written in QML. JavaScript will become a first class citizen within the Qt community and we should expect that a lot of application logic and even entire applications will be written in JavaScript instead of C++."

Судя по этой цитате они мечтают о том дне когда все программы под Qt будут писаться на JavaScript.

"While the QWidget based classes are extremely important for existing applications, we are, over time, going to move to a model where all UIs are being done in QML. Separating the QWidget based functionality into its own library is therefore a good measure to achieve a clean architecture in Qt 5 in the long term."

А судя по этой - QWidget будет вынесен в отдельную библиотеку, чтобы от него легче было избавиться, когда настанет светлое будущее QML.

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

38. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 22:33 
> "We should expect that over time all UIs will be written in
> QML. JavaScript will become a first class citizen within the Qt
> community and we should expect that a lot of application logic
> and even entire applications will be written in JavaScript instead of
> C++."
> Судя по этой цитате они мечтают о том дне когда все программы
> под Qt будут писаться на JavaScript.

Меня это тоже печалит. Особенно состояние QML сегодня, в Qt 4.8 — ИМХО неюзабельно.
Мне бы все-таки хотелось, чтобы C++ API тоже какое-то внимание уделялось.

> "While the QWidget based classes are extremely important for existing applications, we
> are, over time, going to move to a model where all
> UIs are being done in QML. Separating the QWidget based functionality
> into its own library is therefore a good measure to achieve
> a clean architecture in Qt 5 in the long term."
> А судя по этой - QWidget будет вынесен в отдельную библиотеку, чтобы
> от него легче было избавиться, когда настанет светлое будущее QML.

Оу, ну что ж вы так, заговоры везде видите. Просто императивные QWidget'ы не очень совместимы со scene graph'ом, нужным для нового QML, ЕМНИП.

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

70. "Qt 5.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от Moomintroll (ok), 31-Авг-12, 10:01 
> все программы под Qt будут писаться на JavaScript

Не программы! Интерфейсы - "all UIs will be written in QML". И это, в общем, правильное решение. А логику (расчёты, работу с файлами и БД и т.п.) делайте на C/C++.

> QWidget будет вынесен в отдельную библиотеку, чтобы от него легче было избавиться, когда настанет светлое будущее QML

Тоже логичное решение.

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

93. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 18:06 
"we should expect that a lot of application logic and even entire applications will be written in JavaScript instead of C++"

А здесь они пишут, что большая часть бизнес-логики и даже целые программы будут написаны на JavaScript. И далее по тексту - только критичные по времени выполнения куски будут переписываться на C++. Так что Qt превращается в среду разработки программ на JavaScript.

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

79. "Qt 5.0 перешёл на стадию бета-тестирования"  +1 +/
Сообщение от Pickle (?), 31-Авг-12, 11:48 
"Шарик! ТЫ балбес!" (с)

QML это реализация GUI и не более, во всех пресс-релизах уже ДАВНО говорится, что С++ никто не выкидывает, его убирают только там где он не нужен!

Если у вашем "лидере сегмента рынка с дружественным коллективом" (с) GUI разрабатывают инженеры-программисты, то флаг Вам в руки и якорь ниже. В нормальных конторах этим занимаются специально выдрессированные люди, для которых использование C++ это попоболь, а вот что-то типа QML+JS самое оно. Да и проще людей на эту должность найти.

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

40. "Qt 5.0 перешёл на стадию бета-тестирования"  –2 +/
Сообщение от piteri (ok), 30-Авг-12, 22:40 
> По сравнению с Lisp, Python и Ruby - JavaScript - жалкий калека.
> И если раньше связка C/Python/Qt была привлекательной, то теперь, когда JavaScript
> поставили во главу угла, она выглядит как архитектурный костыль. Почему они
> так носятся с этим JavaScript, неужели нельзя было продумать архитектуру так,
> чтобы упростить создание биндингов для скриптовых языков?

Только вот в сравнении с восьмицилиндровым двиглом от гугла как калеки выглядят интерпретароры всего вышеперечисленного.

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

67. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonimous (?), 31-Авг-12, 09:22 
>Только вот в сравнении с восьмицилиндровым двиглом от гугла как калеки выглядят интерпретароры всего вышеперечисленного.

наглая ложь! для коммон лиспа есть превосходные многопроходные компиляторы в нативный код.

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

69. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от piteri (ok), 31-Авг-12, 09:39 
Вы компилятор от интерпретатора отличаете?
Если бы у разработчиков было желание компилировать всё в найтивный код, то они вряд ли бы использовали жаваскрипт.
Ответить | Правка | Наверх | Cообщить модератору

86. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 14:42 
Вы, по-моему, путаете причину со следствием. В данном случае глубоко фиолетово, интерпретируется или компилируется js-или-что-у-нас-там-для-рисования-интерфейса - лишь бы программы на нем имели удовлетворительные характеристики по потреблению ресурсов. Qt-проект так или иначе собирать придется, поскольку он не целиком на js.
Ответить | Правка | Наверх | Cообщить модератору

88. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от piteri (ok), 31-Авг-12, 15:27 
А какой вообще был смысл тогда отказываться от клепания гуя на си++?

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

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

89. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 16:16 
> А какой вообще был смысл тогда отказываться от клепания гуя на си++?

Потому что на js как язык проще для таких дел, чем c++

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

94. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от piteri (ok), 31-Авг-12, 18:58 
Вот, а теперь возвращаемся к моему паза-паза-пошлому посту.
Ответить | Правка | Наверх | Cообщить модератору

82. "Qt 5.0 перешёл на стадию бета-тестирования"  +3 +/
Сообщение от Многопроходный компилятор (?), 31-Авг-12, 12:44 
Я скомпилирую этот код с 7и проходов
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

90. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 16:23 
Слабак. Компиляторы фортрана делали по 42. Потому как ужать программу в 4кБ памяти вместе с данными, это надо уметь.
Ответить | Правка | Наверх | Cообщить модератору

97. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от Аноним (-), 31-Авг-12, 19:08 
> Только вот в сравнении с восьмицилиндровым двиглом от гугла как калеки выглядят
> интерпретароры всего вышеперечисленного.

Угу, особенно си на котором написан гугловский код и питон которым он собирается. Не, попытка троллинга неплохая, если б не хреновое знание матчасти :)

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

53. "Qt 5.0 перешёл на стадию бета-тестирования"  –1 +/
Сообщение от Vladjmir (ok), 30-Авг-12, 23:26 
> Почему они так носятся с этим JavaScript, неужели нельзя было продумать архитектуру так, чтобы упростить создание биндингов для скриптовых языков?

Не потому ли, что он патентно чистый?

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

91. "Qt 5.0 перешёл на стадию бета-тестирования"  –1 +/
Сообщение от Аноним (-), 31-Авг-12, 16:23 
Да? А ничего что даже название является торговой маркой Оракла?
Ответить | Правка | Наверх | Cообщить модератору

30. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 30-Авг-12, 22:16 
>В-третьих, у интерпретатора QML чуть больше информации о том, что хочет сделать программист, поэтому некоторые вещи он может сделать оптимальнее. Ну, это как оптимизирующие компиляторы.

И какие же оптимизации будет делать интерпретатор QML? :)

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

33. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 22:25 
Будет — да вплоть до невычисления свойств-анимаций-етц для тех вещей, которые не нужны (например, не видны сейчас на сцене). Благо, декларативный характер описания вещей позволяет.

Ну и не совсем то, но тоже в тему статья у них в блогах: http://labs.qt.nokia.com/2012/08/01/scene-graph-adaptation-l.../

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

41. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 30-Авг-12, 22:40 
> Будет — да вплоть до невычисления свойств-анимаций-етц для тех вещей, которые не
> нужны (например, не видны сейчас на сцене). Благо, декларативный характер описания
> вещей позволяет.

Как же он будет определять на сцене эти объекты или нет, если их свойства всё же нужно вычислить для того чтобы понять видимы они или нет :)
Мы можем так же из Си положить на сцену объекты и у рендерера будет возможность не рисовать их(ну как в Clutter или e17 Evas).

> Ну и не совсем то, но тоже в тему статья у них
> в блогах: http://labs.qt.nokia.com/2012/08/01/scene-graph-adaptation-l.../

Правильно, совсем не то :)
Scene Graph и оптимизации связаные с ним никак не связаны с qml.

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

42. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 22:49 
>> Будет — да вплоть до невычисления свойств-анимаций-етц для тех вещей, которые не
>> нужны (например, не видны сейчас на сцене). Благо, декларативный характер описания
>> вещей позволяет.
> Как же он будет определять на сцене эти объекты или нет, если
> их свойства всё же нужно вычислить для того чтобы понять видимы
> они или нет :)

Все свойства не нужно вычислять. Например, если у вас есть какой-нибудь хитрый эллипс, то достаточно вычислить его этакий гарантированный bounding box по размеру большей из осей, а цвет, ориентацию и вообще любые свойства его дочерних элементов (если clip: true) вычислять не нужно будет.

> Мы можем так же из Си положить на сцену объекты и у
> рендерера будет возможность не рисовать их(ну как в Clutter или e17
> Evas).

Признаться, Clutter/Evas не тыкал, но, возможно, выглядит все это страшно. Вон, как ниже писали про тот же куэмель.

И просто из интереса, как будет выглядеть связывание свойств?

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

45. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 30-Авг-12, 23:07 
> Все свойства не нужно вычислять. Например, если у вас есть какой-нибудь хитрый
> эллипс, то достаточно вычислить его этакий гарантированный bounding box по размеру
> большей из осей, а цвет, ориентацию и вообще любые свойства его
> дочерних элементов (если clip: true) вычислять не нужно будет.

Ну в любом случае этим будет заниматься рендерер/итд кто использует Scene Graph. И все те же оптимизации доступны без всяких декларативных qml'ов.
Так что до сих пор не вижу преимуществ от qml'я, кроме как просто удобного языка для описания лэйаутов.

> Признаться, Clutter/Evas не тыкал, но, возможно, выглядит все это страшно. Вон, как
> ниже писали про тот же куэмель.

Выглядит практически так же как и разработка приложений на html5+js.

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

47. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 23:08 
> Ну в любом случае этим будет заниматься рендерер/итд кто использует Scene Graph.
> И все те же оптимизации доступны без всяких декларативных qml'ов.
> Так что до сих пор не вижу преимуществ от qml'я, кроме как
> просто удобного языка для описания лэйаутов.

Декларативно можно и на тех же плюсах писать, но зачем?

> Выглядит практически так же как и разработка приложений на html5+js.

ИМХО не стоит ставить HTML5 и QML в один ряд, таки разные технологии для разных вещей.

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

51. "Qt 5.0 перешёл на стадию бета-тестирования"  –1 +/
Сообщение от anonymous (??), 30-Авг-12, 23:25 
>Декларативно можно и на тех же плюсах писать, но зачем?

Вообще не понимаю о чём вы если честно.
Это для вас будет слишком декларативно? :)
var a = document.createElement('div');
a.style.left = '10px';
a.style.top = '0px';
a.style.width = 'calc(100% - 2em)';
document.body.appendChild(a);

>ИМХО не стоит ставить HTML5 и QML в один ряд, таки разные технологии для разных вещей.

Я говорю про создание приложений с Clutter/Evas, что это выглядит так же как сейчас создаются миллионы приложений с использованием html5+js :)

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

52. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 23:26 
> Вообще не понимаю о чём вы если честно.
> Это для вас будет слишком декларативно? :)
> var a = document.createElement('div');
> a.style.left = '10px';
> a.style.top = '0px';
> a.style.width = 'calc(100% - 2em)';
> document.body.appendChild(a);

Это для меня слишком императивно :(

> Я говорю про создание приложений с Clutter/Evas, что это выглядит так же
> как сейчас создаются миллионы приложений с использованием html5+js :)

Я уже запутался, мы QML обсуждаем или HTML5 + JS? :)

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

55. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 30-Авг-12, 23:46 
> Это для меня слишком императивно :(

Ну так вот всё тоже самое можно было делать без особых проблем на си без использования qml+js, если конечно позволяет апи. Но они решили что современный графический стэк будет доступен только из qml+js, из-за чего пошло много негодования. Еслиб был qml+js или C++, небыло бы никаких проблем, но теперь они просто поставили всех своих пользователей в положение, в котором им придётся мучаться с qml+убогим жаваскриптом, если они захотят использовать современные инструменты для разработки ui.
И суть оптимизаций в deferred рендере, вместо immediate и это никак не связано с декларативностью/императивностью языков.

> Я уже запутался, мы QML обсуждаем или HTML5 + JS? :)

Вы там спросили о том как будет выглядеть разработка с использованием Clutter/Evas, я привёл пример на что это похоже.

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

56. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 30-Авг-12, 23:50 
> Ну так вот всё тоже самое можно было делать без особых проблем
> на си без использования qml+js, если конечно позволяет апи.

QDomDocument тот же вполне позволяет. Будет выглядеть даже почти так же.

> Но они
> решили что современный графический стэк будет доступен только из qml+js, из-за
> чего пошло много негодования. Еслиб был qml+js или C++, небыло бы
> никаких проблем, но теперь они просто поставили всех своих пользователей в
> положение, в котором им придётся мучаться с qml+убогим жаваскриптом, если они
> захотят использовать современные инструменты для разработки ui.

Вообще, конечно, и мне было бы интересно почитать, что такое потребовало QML. Они говорят, что императивный QPainter не позволяет строить вещи типа сцен-графа. Почему то же нельзя сделать на плюсах — хороший вопрос.

> И суть оптимизаций в deferred рендере, вместо immediate и это никак не
> связано с декларативностью/императивностью языков.

Вы бы еще сказали, что суть оптимизаций в определении мертвых участков кода, и это никак не связано с ленивостью/«функциональностью» языков.

>> Я уже запутался, мы QML обсуждаем или HTML5 + JS? :)
> Вы там спросили о том как будет выглядеть разработка с использованием Clutter/Evas,
> я привёл пример на что это похоже.

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

А хтмл сюда, впрочем, тоже не нужно примешивать ИМХО. Точно так же не нужно.

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

61. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 31-Авг-12, 00:39 
> Вы бы еще сказали, что суть оптимизаций в определении мертвых участков кода,
> и это никак не связано с ленивостью/«функциональностью» языков.

Вы вообще как читали статьи qt'шников, раз уж у вас все познания только из их источников? Тк когда я читал, у них всё было грамотно написано, а вы пишете про какую-то чушь :)
Все оптимизации строятся на том что рендерер видит сразу всю сцену и может производить различные оптимизации, а как уж там мы наполняли эту сцену - тут похер, можем через декларативный qml, либо из императивного си++ еслиб они предоставили какой-нибудь нормальный апи для этого.
И то что мы наполнили сцену, используя императивный апи, совсем не значит что мы не можем повесить колбэк на какое-то из свойств объекта и динамически его вычислять только при надобности, если вдруг рендерер захочет нарисовать этот объект (видимо это до вас не доходит).
И никаких уникальных оптимизаций интерпретатор qml не выполняет.

>А хтмл сюда, впрочем, тоже не нужно примешивать ИМХО. Точно так же не нужно.

Так бы и сказали, что никогда не писали веб-приложений на html+js. Тк люди, которые имели опыт с этими технологиями отлично представляют плюсы и минусы различных подходов вроде смеси  декларативного+императивного(AngularJs, Ember, Knockout итд), либо просто императивного(большинство других библиотек).

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

62. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 31-Авг-12, 00:49 
>[оверквотинг удален]
> было грамотно написано, а вы пишете про какую-то чушь :)
> Все оптимизации строятся на том что рендерер видит сразу всю сцену и
> может производить различные оптимизации, а как уж там мы наполняли эту
> сцену - тут похер, можем через декларативный qml, либо из императивного
> си++ еслиб они предоставили какой-нибудь нормальный апи для этого.
> И то что мы наполнили сцену, используя императивный апи, совсем не значит
> что мы не можем повесить колбэк на какое-то из свойств объекта
> и динамически его вычислять только при надобности, если вдруг рендерер захочет
> нарисовать этот объект (видимо это до вас не доходит).
> И никаких уникальных оптимизаций интерпретатор qml не выполняет.

Я, вероятно, недостаточно хорошо выразился. Очевидно же, что декларативный подход оставляет больше свободы для, гм, интерпретации кода, нежели чем императивный. В декларативном случае проще соблюдать инварианты при преобразованиях (и оптимизациях в том числе) — в императивном случае все равно придется строить и поддерживать этакую картину состояния системы, убеждаясь, что после оптимизаций код все равно обеспечивает изоморфное преобразование из одного состояния в другое. Это весьма затрудняет построение оптимизатора.

А рендерер всю сцену уже со времен QGraphicsView видит, тащем-та.

Еще раз, декларативно можно и на плюсах писать, но зачем? Все равно вы в конечном счете придете к какому-то (embedded) domain-specific language, так почему бы сразу не писать на нем? :)

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

74. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 31-Авг-12, 10:48 
>А рендерер всю сцену уже со времен QGraphicsView видит, тащем-та.

Вы вообще не понимаете зачем создавались разные вещи в Qt :) QGraphicsView решал совершенно другие проблемы, этот класс был больше для удобства разработчиков, которым нужно быстренько создать "сцену" для определения куда тыкают мышкой итд. И в отличие от SceneGraph'а в Qt5, чайлды в qgv использовали тот же qpainter для отрисовки из-за чего невозможно сделать множество оптимизаций, которые производит рендерер в qt5.

>Еще раз, декларативно можно и на плюсах писать, но зачем? Все равно вы в конечном счете придете к какому-то (embedded) domain-specific language, так почему бы сразу не писать на нем? :)

Ещё раз повторю, тот пример выше на JavaScript'е - это для вас что декларативно? Тысячи игрушек, в движках которых используются такие же оптимизации написаны на каких-то декларативных qml'ях? e17 Evas работает только используя какой-то декларативный язык?
Зачем вы продолжаете нести чушь про какой-то embedded dsl?

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

80. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от 0xd34df00d (ok), 31-Авг-12, 11:51 
> Вы вообще не понимаете зачем создавались разные вещи в Qt :) QGraphicsView
> решал совершенно другие проблемы, этот класс был больше для удобства разработчиков,
> которым нужно быстренько создать "сцену" для определения куда тыкают мышкой итд.

Едва ли. Определять мышкой можно и в старом-добром QWidget API. Вся эта хрень со сценами создавалась именно как более high-perf-вещи для рисования здоровенных сцен.

По-моему, это у вас какое-то непонятное непонимание :)

> И в отличие от SceneGraph'а в Qt5, чайлды в qgv использовали
> тот же qpainter для отрисовки из-за чего невозможно сделать множество оптимизаций,
> которые производит рендерер в qt5.

Кажется, я не так давно говорил то же самое.

>>Еще раз, декларативно можно и на плюсах писать, но зачем? Все равно вы в конечном счете придете к какому-то (embedded) domain-specific language, так почему бы сразу не писать на нем? :)
> Ещё раз повторю, тот пример выше на JavaScript'е - это для вас
> что декларативно?

Нет.

> Тысячи игрушек, в движках которых используются такие же оптимизации
> написаны на каких-то декларативных qml'ях?

И что доказывает существование, кроме моего тезиса, что и на плюсах/whatever можно писать декларативно?

> Зачем вы продолжаете нести чушь про какой-то embedded dsl?

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

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

83. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от anonymous (??), 31-Авг-12, 13:00 
>Едва ли. Определять мышкой можно и в старом-добром QWidget API. Вся эта хрень со сценами создавалась именно как более high-perf-вещи для рисования здоровенных сцен.

И что вы там будете определять в QWidget API? Координаты места куда произошёл клик? :)
qgv - это аналог того что предоставляет flash player, достаточно удобная вещь для своих целей, создавалась для удобства разработчиков, а не для увеличения производительности.

>Кажется, я не так давно говорил то же самое

Ну так и зачем тогда вообще говорите про qgv, если понимаете что чайлды там используют qpainter и из-за этого невозможно получить профит на современном железе?

>И что доказывает существование, кроме моего тезиса, что и на плюсах/whatever можно писать декларативно?

я вам выше привёл пример того как мы заполняем сцену(html document) на джаваскрипте, вы сказали что это не декларативно, а теперь опять продолжаете вещать о том что на плюсах/whatever можно писать декларативно :) Вы уже определитесь.

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

Вы недавно прочитали про декларативное программирование, нашли в нём какие-то ключевые моменты и теперь вам кажется что это one-true-way для работы с определённым кругом задач? Почитайте вообще про парадигмы программирования для начала прежде чем продолжать нести чушь: Programming Paradigms for Dummies: What Every Programmer Should Know http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf

p.s. И до сих пор не услышал ни про какую оптимизацию, которую производит интерпретатор qml :)

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

109. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от другой аноним (?), 05-Сен-12, 09:47 
> Вообще не понимаю о чём вы если честно.
> Это для вас будет слишком декларативно? :)
> var a = document.createElement('div');
> a.style.left = '10px';
> a.style.top = '0px';
> a.style.width = 'calc(100% - 2em)';
> document.body.appendChild(a);

Вообще-то это очень хреново. Потому-что дает возможность перемешивать представление и логику в одну большую макаронину. Например:
var a = document.createElement('div');
a.style.left = '10px';
a.style.top = '0px';
<решение квадратичного уравнения, несколько строк кода>;
a.style.width = 'calc(100% - 2em)';
<еще вычислили среднюю зарплату по отделу, еще 20 строк кода>;
document.body.appendChild(a);

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

А особенно это хреново для визуальных средств разработки. Вместо какого-то файла описания формы/контролов с известной средствам разработки схемой построения такого файла, эти средства заняты тем что парсят исходный код и пытаются по нему воспроизвести внешний вид формы (ищут конструкторы контролов и всяческих лайаутов, присваивания свойствам объектов каких-то значений), вместо того чтобы просто распарсить какой-то тектовый (или xml-ный) файл сцены/формы и по нему построить визуальное представление. А еще в этом дурацком подходе раздражают комментарии к таким длинным макаронным функциям (в которых средствами разработки создаются контролы) - "Этот код был сгенерирован автоматически и потому его руками не трожь! Все твои изменения будут перетерты при следующем редактировании". Чисто защита на честном слове.

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

110. "Qt 5.0 перешёл на стадию бета-тестирования"  +/
Сообщение от другой аноним (?), 05-Сен-12, 10:04 
т.е. куда лучше и удобнее вынести такое описание в отдельный файл:

... root ... encoding ...
<document name="aaa">
  <style ...>
    <left>10px</left>
    <top>...</top>
    <width>...</width>
    ...
  </style>
</document>
...

Причем не обязательно xml, если он вам не нравится, придумать другой формат описания свойств, например, а-ля делфи с его файлами dfm, где в текстовом виде описана компоновка формы со всеми контролами и свойствами.

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

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

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

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




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

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