Russian Qt Forum
Июнь 17, 2024, 22:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 6 7 [8] 9 10 ... 14   Вниз
  Печать  
Автор Тема: Qt vs VCL  (Прочитано 122493 раз)
Rcus
Гость
« Ответ #105 : Июль 11, 2009, 11:19 »

Здравствуйте, сейчас 2009 год, STL была принята в стандарт языка 11 лет назад Улыбающийся
Записан
f-r-o-s-t
Гость
« Ответ #106 : Июль 11, 2009, 11:21 »

Здравствуйте, сейчас 2009 год, STL была принята в стандарт языка 11 лет назад Улыбающийся
+5
Записан
SABROG
Гость
« Ответ #107 : Июль 11, 2009, 11:36 »

Здравствуйте, сейчас 2009 год, STL была принята в стандарт языка 11 лет назад Улыбающийся

Шокированный ААА! Люди из будущего!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #108 : Июль 11, 2009, 14:06 »

>>вроде передачи параметром функции, присваивания, суммирования, foreach, динамической размерности и.т.д.
Вот поэтому народ и пишет на Qt. (foreach в частности  в ней есть Улыбающийся
Записан

Юра.
crackedmind
Гость
« Ответ #109 : Июль 11, 2009, 15:19 »

Угу, который, если не ошибаюсь, является макросом Улыбающийся При желании можно и свой написать Улыбающийся
Записан
Rcus
Гость
« Ответ #110 : Июль 11, 2009, 15:25 »

Угу, который, если не ошибаюсь, является макросом Улыбающийся При желании можно и свой написать Улыбающийся
Уже написали Улыбающийся BOOST_FOREACH (foreach.hpp, 1KLoC)
Записан
Winstrol
Гость
« Ответ #111 : Июль 11, 2009, 16:19 »

>>вроде передачи параметром функции, присваивания, суммирования, foreach, динамической размерности и.т.д.
Вот поэтому народ и пишет на Qt. (foreach в частности  в ней есть Улыбающийся
Дык foreach реализован через цикл, а значит создает ненужные зависимости между итерациями.
Например,
Код
C++ (Qt)
for (int i=0;i<100;++i)
{
   x[i]+=f(x[i]);
}
 
компилятор в общем случае не сможет переделать в
Код
C++ (Qt)
for (int i=0;i<100;i+=2)
{
   t[0]=f(x[i]);
   t[1]=f(x[i+1]);
   x[i]+t[0];
   x[i+1]+=t[1];
}
 
т.к. f может содержать "криминальную" зависимость от предыдущего элемента.
Код
C++ (Qt)
void f(double& a)
{
double* t=&a;
return t[0]+t[-1];
}
 

Код
C++ (Qt)
а операции вроде
x[i]+=t[0];
x[i+1]+=t[1];
 
выполняются почти параллельно на процессорах с конвеером.

Приходится использовать ключи типа whole program optimization \ link-time code generation, чтобы компилятор лез в другой файл, чтобы увидеть, что в теле f ничего криминального. Отсюда растет время компиляции и.т.д. А всего-то надо оператор, семантика которого не зависела от порядка работы с элементами массива.

« Последнее редактирование: Июль 11, 2009, 16:23 от Winstrol » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #112 : Июль 11, 2009, 16:42 »

>>return t[0]+t[-1];
я что-то такую криминальную зависимость совсем не понял
Записан

Юра.
Winstrol
Гость
« Ответ #113 : Июль 11, 2009, 16:59 »

>>return t[0]+t[-1];
я что-то такую криминальную зависимость совсем не понял
Результат зависит от порядка обновления элементов в foreach.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #114 : Июль 11, 2009, 18:12 »

А отрицательный индекс в масиве?
Записан

Юра.
f-r-o-s-t
Гость
« Ответ #115 : Июль 11, 2009, 18:51 »

А отрицательный индекс в масиве?

Это не отрицательный индекс, это элемент перед t.
Записан
Tonal
Гость
« Ответ #116 : Июль 13, 2009, 07:57 »

От нахоливарили! Улыбающийся

Уже столько раз всё это обсасывалось, что что-то писать по новой лениво.
Замечу только, что практически всех дельфяников при встречи с Qt берёт оторопь, и они начинают возмущаться какое это отстой и старьё.
Парадокс Блаба в действии. Улыбающийся
Примечательно, что практически всех из них, кто продолжает работать с Qt дальше, через месяца 2-4 начинает раздражать неудобство работы в Delphi по сравнению с C++ + Qt.
Хотя об этом уже не так громко говорят. Улыбающийся
Записан
Spicos
Гость
« Ответ #117 : Июль 13, 2009, 08:45 »

От нахоливарили! Улыбающийся

Уже столько раз всё это обсасывалось, что что-то писать по новой лениво.
Замечу только, что практически всех дельфяников при встречи с Qt берёт оторопь, и они начинают возмущаться какое это отстой и старьё.
Парадокс Блаба в действии. Улыбающийся
Примечательно, что практически всех из них, кто продолжает работать с Qt дальше, через месяца 2-4 начинает раздражать неудобство работы в Delphi по сравнению с C++ + Qt.
Хотя об этом уже не так громко говорят. Улыбающийся

+1!
Записан
BigZ
Гость
« Ответ #118 : Июль 13, 2009, 16:51 »

Коллеги, понравился ваш спор и решил тоже тут отметиться. Qt очень хорошая библиотека
и думаю она скоро станет де-факто стандартом для разработки GUI в C++. А точнее уже стала. Но Delphi в настоящий момент имеет ряд преимуществ. Вот те, которые мне видятся:

- В Qt нет возможности использовать исключения.
- Qt дизайнер и концепция сигналов слотов не позволяет сразу сгенерировать обработчик в сырце для кодирования.
- У Qt дизайнера нет возможности добавить на форму не визуальный компонент.
- Qt требует наличия рантайма в виде QtCore, QtGui и т.д. (хотя это частично можно обойти статической линковкой)
- Скорость сборки приложения на Qt в разы медленнее, чем на Delphi. К примеру, сравните скорость ребилда Qt и VCL,
  для случая, когда вносились изменения сами эти библиотеки.



>>А мне в паскале дико видеть ":" перед "=".   
>>Накой сдалось ":"? Это эргономичный синтаксис? имхо разговор перетек не в то  русло...

Оператор ":=" в Паскале это присвоение, чтобы отличать от оператора равенства "=".
В С++ тоже отличается, "=" и "==".

Согласен с топикстартером, что кросплатформенный нативный Delphi (не NET и не CLX) может озолотить Улыбающийся
Записан
BRE
Гость
« Ответ #119 : Июль 13, 2009, 17:09 »

- В Qt нет возможности использовать исключения.
Ты имеешь ввиду что сама Qt не использует исключения?

- Qt дизайнер и концепция сигналов слотов не позволяет сразу сгенерировать обработчик в сырце для кодирования.
А это надо?

- У Qt дизайнера нет возможности добавить на форму не визуальный компонент.
Зачем на форме не визульный компонент? На форме нужны визуальные - форма она на экране.

- Qt требует наличия рантайма в виде QtCore, QtGui и т.д. (хотя это частично можно обойти статической линковкой)
Не знаток делфи... А там библиотеки никакие не используются. Может стоит глянуть в зависимости.

- Скорость сборки приложения на Qt в разы медленнее, чем на Delphi. К примеру, сравните скорость ребилда Qt и VCL,
  для случая, когда вносились изменения сами эти библиотеки.
Улыбающийся
Записан
Страниц: 1 ... 6 7 [8] 9 10 ... 14   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.14 секунд. Запросов: 22.