Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Mr.Delphist, Вы писали:
EP>Например каких причин? EP>Вот есть QT программа — прекрасно работает на Windows, Linux, OS X. Своего platform-specific кода там практически нет, а если брать чисто UI — то нет вообще. Больше всего связанного с конкретной платформой — в скриптах упаковки в пакеты/инсталляторы. EP>Для подавляющего большинства UI программ возможностей QT хватит с головой, без всякой необходимости спускаться до API конкретной OS.
Вот буквально на днях на SO попадался вопрос "почему я делаю открытие второй формы во втором потоке и ничего не работает". Потому как товарищ не осознает однопоточной сути Windows UI и пытается впихнуть невпихуемое. А так — да, сырец целиком на C# и никакого Win32 API, казалось бы.
MD>>то получаем карго-культ в чистом виде.
EP>Карго-культ это другое понятие.
Ну почему же — люди городят вело-аэродромы в коде и объясняют "это для X", а на самом деле X проявляется совсем от другого. Потом это "другое" ломают, и начинается долгий ресёрч почему же вело-аэродром перестал работать.
Здравствуйте, Mr.Delphist, Вы писали:
EP>>Например каких причин? EP>>Вот есть QT программа — прекрасно работает на Windows, Linux, OS X. Своего platform-specific кода там практически нет, а если брать чисто UI — то нет вообще. Больше всего связанного с конкретной платформой — в скриптах упаковки в пакеты/инсталляторы. EP>>Для подавляющего большинства UI программ возможностей QT хватит с головой, без всякой необходимости спускаться до API конкретной OS. MD>Вот буквально на днях на SO попадался вопрос "почему я делаю открытие второй формы во втором потоке и ничего не работает". Потому как товарищ не осознает однопоточной сути Windows UI и пытается впихнуть невпихуемое. А так — да, сырец целиком на C# и никакого Win32 API, казалось бы.
Документацию надо читать, да. Например UI библиотека может позволять "открытие формы во втором потоке", даже поверх Win32 API
MD>>>то получаем карго-культ в чистом виде. EP>>Карго-культ это другое понятие. MD>Ну почему же — люди городят вело-аэродромы в коде и объясняют "это для X", а на самом деле X проявляется совсем от другого.
Потому что в случае с UI библиотекой у неё есть своя документация, тут не нужно гадать "для чего это X".