metaclass: (Default)
[personal profile] metaclass
Что-то в примерах и документации нигде не вижу как обрабатываются ошибки, типа "в функцию передали кривой параметр", "вызов нижележащей ОС сдох, потому что ее сгрызли черви", итд.
Функции типа qWarning,qFatal, итд, вижу, есть. Вроде и обработка исключений какая-то есть, класс вроде Exception. Но вроде ж try-catch религия не позволяет в C++ юзать или я чего-то уже путаю?

Т.е. вообще, как принято обрабатывать ошибки в Qt?

Date: 2009-02-15 09:29 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Какого такого линуксьячего помёта?
На мейнстрим он тянет уже давно =) Недаром его Нокия купила =)

Date: 2009-02-15 09:32 pm (UTC)
From: [identity profile] vp.livejournal.com
Про реализацию connect без возможности каких-либо статический проверок на этапе компиляции. У меня в ЖЖ.

Date: 2009-02-15 09:34 pm (UTC)
From: [identity profile] zamotivator.livejournal.com
Оооооооооо, я на это так давно зубы точу =) Но линукс тут ни причём.

Date: 2009-02-16 05:22 am (UTC)
From: [identity profile] vp.livejournal.com
Именно юниксвей тут причем.
Есть священная корова - GCC, которую тронуть никак нельзя, потому бедные QTшкини пошли по привычному пути - решение проблем надстройками, макросами, препроцессорами и т.п. херью, когда тут слону понятно, что задача настолько глубока, что нужно мочить эту священную корову и делать все на другом уровне.
Кстати, мысль эта целиком неприемлима юникс-сообществом :)
Заповедь номер1: Линус Торвальдс свят
Заповедь номер2: GCC незыблимо
Заповедь номер3: все вещи нужно реализовывать конвеерной обработкой на основе имеющихся вещей

Все, сразу же упираемся в теоретический предел.

Date: 2009-02-16 06:00 am (UTC)
From: [identity profile] zamotivator.livejournal.com
когда тут слону понятно, что задача настолько глубока, что нужно мочить эту священную корову и делать все на другом уровне.
Мне непонятно. Ни разу. boost.signals пример решения в рамках текущих инструментов.

Date: 2009-02-16 06:01 am (UTC)
From: [identity profile] zamotivator.livejournal.com
И тут вообще какой-то бред написан.
Особенно на тему конвейеров.
Это н еюникс-вей, это какое-то жестокое его извращение.

Date: 2009-02-16 06:56 am (UTC)
From: [identity profile] vp.livejournal.com
Именно тот путь по которому пошли создателю QT и есть отражение идеологии юниксвея
1. ничего не писать если возможно
Да, взяли готовый GCC
2. использовать конвеерную обработку (идеологию)
Да, пройдемся 30 раз разными препроцессорами/конверторами и приведем все к тому, чтоб не трогать GCC

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

Date: 2009-02-16 07:17 am (UTC)
From: [identity profile] kiryl.livejournal.com
Писать свой компилятор? Вы представляете объём работ? У них бы не осталось времени на Qt.

Date: 2009-02-16 08:11 am (UTC)
From: [identity profile] zamotivator.livejournal.com
О чём и речь.

Date: 2009-02-16 08:44 am (UTC)
From: [identity profile] vp.livejournal.com
Тут тоже постулат, у каждого свой. Или делаем хорошо - или не делаем никак.

Date: 2009-02-16 08:51 am (UTC)
From: [identity profile] featalion.livejournal.com
пи..ть в ЖЖ каждый горазд. ребе, едьте в нокию и пишите компилятор!

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 08:57 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:00 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:09 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:12 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-02-16 09:34 am (UTC) - Expand

Date: 2009-02-16 08:07 am (UTC)
From: [identity profile] zamotivator.livejournal.com
Препроцессоров два - moc и uic.
И я ещё не видел другого настолько продуманного и бесшовного решения.
Интегрируется в любую систему сборки, не требует навороченной IDE чтобы это всё рулить...

Date: 2009-02-16 08:47 am (UTC)
From: [identity profile] vp.livejournal.com
Вот оно и бьет сзади по голове, жажда чего-то во что-то вечно всовывать и интегрировать. Не нужно ничего интегрировать, продукт такого уровня ОБЯЗАН был быть stand alone и писанный с нуля.

Date: 2009-02-16 08:50 am (UTC)
From: [identity profile] kiryl.livejournal.com
Опять вы со своими виндовыми тараканами. Зачем вам инструмент, который делает всё и абы как? ИМХО лучше несколько узкоспециализированных инструментов, хорошо выполняющих свои задачи.

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 08:57 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:01 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:02 am (UTC) - Expand

(no subject)

From: [identity profile] featalion.livejournal.com - Date: 2009-02-16 09:31 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:33 am (UTC) - Expand

(no subject)

From: [identity profile] kiryl.livejournal.com - Date: 2009-02-16 09:05 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:06 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 08:54 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:02 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 09:03 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:05 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:10 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-02-16 09:26 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:29 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-02-16 09:38 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 09:29 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-02-16 09:42 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 10:12 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-02-16 10:15 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 10:14 am (UTC) - Expand

Date: 2009-02-16 08:08 am (UTC)
From: [identity profile] zamotivator.livejournal.com
Я ж говорю, тут слону понятно, что с ихними задумками сразу должно было стать очевидным, что нужно писать новый компилятор, другой, отдельный. Сам масштаб задачи таков.
Может я тупой, но мне это непонятно. И кажется, что наоборот, путь trolltech & qt - меньшее зло.

З.Ы. Вы пробовали писать свой компилятор? Или транслятор? Простенький какой-нибудь. М?

Date: 2009-02-16 06:33 am (UTC)
From: [identity profile] kiryl.livejournal.com
Кстати, Линус довольно высказывается, что GCC -- говно. ;)

Date: 2009-02-16 01:23 am (UTC)
From: [identity profile] theiced.livejournal.com
Ребе, я вам таки уже объяснил зойчем это сделано. Если охота другого - пишите им багрепорт, авось сделают в Qt5 :)

Date: 2009-02-16 05:24 am (UTC)
From: [identity profile] vp.livejournal.com
ребе! если меня в собственном ЖЖ закидали стулом пара человек, то экстраполируя перспективы на большее линукс-сообщество меня просто закажут. За еритизм.

Date: 2009-02-16 08:16 am (UTC)
From: [identity profile] zamotivator.livejournal.com
Вот не надо отмазываться "еритизмом". Я с трудом могу себя причислить к какому-либо фанатику, тем более - фанатику gcc, но мне такое суждение "писать свой компилятор" кажется просто незнанием предмета и непониманием трудозатрат.
Соотношение трудозатраты/необходимость в данном случае сильно больше единицы.
И не надо забывать о embedded и компиляции на экзотических платформах.
gcc вездесущ - это его плюс, при прочих минусах. Он близок к стандарту - это тоже его плюс.
Плюсы кодогенератора студии убиваются наповал хреновой производительностью (средне-крупный проект распределённой сборкой собирается 15 минут, 15 * 20 = 5 часов, линкуется 20-35 минут), багами в STL, багами в шаблонах.
Маленький moc & uic на 95% решают свою задачу, и статически типизируемыми их сделать МОЖНО. Не делают по некоторым причинам.
Повторюсь, отсутствие статических проверок в moc & uic - большой, жирный минус. Но на мой взгляд статическая проверка должна быть по галочке, а то убьём совместимость с python как минимум.

Date: 2009-02-16 08:49 am (UTC)
From: [identity profile] vp.livejournal.com
ребе, отлично понимаю трудозатраты. Вот может быть потому MS и Борланд не зря берут деньги за свою работу, ибо собаку на этом съели.
Короче, это снова вопрос из серии спроса и предложения, готовности вкладывать в проект деньги или же работать за еду и идею, и т.п.
Холивар, короче :)

Date: 2009-02-16 08:54 am (UTC)
From: [identity profile] zamotivator.livejournal.com
ребе, отлично понимаю трудозатраты. Вот может быть потому MS и Борланд не зря берут деньги за свою работу, ибо собаку на этом съели.
Нет, Вы не поняли, ВЫ ЛИЧНО писали компилятор? А слово legacy говорит о чём-нибудь?

Date: 2009-02-16 09:08 am (UTC)
From: [identity profile] vp.livejournal.com
ребе, я лично компилятор не писал, потому что не специализируют на компиляторах. Еще я не пишу движки для вебсайтов.
Если бы занимался этой темой, то писал бы компиляторы :)

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 09:13 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:29 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:32 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:37 am (UTC) - Expand

(no subject)

From: [identity profile] zamotivator.livejournal.com - Date: 2009-02-16 09:36 am (UTC) - Expand

(no subject)

From: [identity profile] kiryl.livejournal.com - Date: 2009-02-16 09:38 am (UTC) - Expand

Date: 2009-02-16 08:56 am (UTC)
From: [identity profile] max-posedon.livejournal.com
Во первых, И скока MS и Borland не берут за свою работу денег, всё равно хуй нормально работают в embedded.

Во вторых, А у Qt основной бизнес угодайте где? Правильно, embedded. Вам то конечно хочется, чтобы всё на блюдечке, но блюдечко не идеально.

В третьих, moc и uic, это не совсем Qt, это механимз интеграции Qt с C++. Слава богу Qt может работать с любым языком, http://qthaskell.berlios.de/ вот вам Haskell, наслаждайтесь.

Date: 2009-02-16 09:06 am (UTC)
From: [identity profile] vp.livejournal.com
Ни MS ни Борланд не брались за ембед потому что не видели там целевой аудитории, которая окупит их потуги. Я думаю причина в этом. Все регулируется деньгами.

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:08 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:12 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:16 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-02-16 09:15 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-02-16 09:18 am (UTC) - Expand

(no subject)

From: [identity profile] kong-en-ge.livejournal.com - Date: 2009-02-16 09:18 am (UTC) - Expand

Date: 2009-02-16 08:57 am (UTC)
From: [identity profile] featalion.livejournal.com
таки не забывайте, что изначально qt был внутренним продуктом тролльтэк (какая клёвая кампания, технологии троллинга). И во внутреннем проекте такая фигня, как написание собственного компилятора - это шизофрения. Изначально ребята делали для себя, а потом уже было поздно переписывать, я думаю.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2025 09:25 pm
Powered by Dreamwidth Studios