В чем необходимость писать GUI на С++/ассемблере/брейнфаке?
От: fk0 Россия https://fk0.name
Дата: 25.02.11 21:09
Оценка:
А на чём нужно/можно писать GUI? Навеяло этим голосованием http://rsdn.ru/poll/2914.aspx
Автор: fk0
Дата: 26.02.11
Вопрос: Какой GUI-тулкит вы предпочитаете?
и ответом пользователя http://rsdn.ru/Users/40171.aspx
Re: В чем необходимость писать GUI на С++/ассемблере/брейнфа
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.02.11 07:45
Оценка: +1
Здравствуйте, fk0, Вы писали:


fk0> А на чём нужно/можно писать GUI? Навеяло этим голосованием http://rsdn.ru/poll/2914.aspx
Автор: fk0
Дата: 26.02.11
Вопрос: Какой GUI-тулкит вы предпочитаете?
и ответом пользователя http://rsdn.ru/Users/40171.aspx


С хорошим набором вспомогательных средств можно писать на чём угодно.

Мне голосование кажется некорректным потому, что под общим понятием "GUI" скрывается с полдесятка существенно разных вещей. Без уточнения, что имеется в виду — не хоче ничего говорить или даже изучать ответы.
The God is real, unless declared integer.
Re[2]: В чем необходимость писать GUI на С++/ассемблере/брей
От: D.Lans Россия  
Дата: 26.02.11 08:22
Оценка: 1 (1) +1 :)
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, fk0, Вы писали:



fk0>> А на чём нужно/можно писать GUI? Навеяло этим голосованием http://rsdn.ru/poll/2914.aspx
Автор: fk0
Дата: 26.02.11
Вопрос: Какой GUI-тулкит вы предпочитаете?
и ответом пользователя http://rsdn.ru/Users/40171.aspx


N>С хорошим набором вспомогательных средств можно писать на чём угодно.

Этот ответ из серии:
Q: подскажите язык программирования под требования: <...>
A: умеющий программировать напишет на чём угодно

Q: подскажите страну, в которую съездить отдохнуть нынче
A: умеющий отдыхать отдохнёт везде

Q: подскажите марку автомобиля до 600 т.р.
A: умеющий водить сможет управлять чем угодно

Q: подскажите хороший фильм
A: имеющий глаза сможет посмотреть любой фильм

т.е. бессмысленный ответ невпопад.

N>голосование кажется некорректным потому, что под общим понятием "GUI" скрывается с полдесятка существенно разных вещей

Ну зачем это занудство? И так понятно, что обычные люди под словом GUI понимают банальные кнопочки-формочки для облегчения процесса взаимодействия юзера с софтинкой. Зачем подводить к вопросу какие-то другие узконаправленные гуи, ведь если бы интересовали именно они, это так бы и было указано в вопросе?..
В конце концов указание C++ в вопросе и список вариантов ответа позволяют догадаться что речь идёт не о другой популярной области, к которой тоже можно применить понятие GUI, — об интерфейсах web-сайтов, а вполне об обычных приложениях.

По теме: вопрос выбора GUI сложнее чем кажется. Я, к примеру, уже больше четырёх лет размышляю над тем, какую GUI библиотеку выбрать и пока так и не решил
Re[3]: В чем необходимость писать GUI на С++/ассемблере/брей
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.02.11 08:36
Оценка:
Здравствуйте, D.Lans, Вы писали:

N>>С хорошим набором вспомогательных средств можно писать на чём угодно.

DL>Этот ответ из серии:
DL>Q: подскажите язык программирования под требования: <...>
DL>A: умеющий программировать напишет на чём угодно

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

Или Вы всерьёз считаете, что GUI это крайне узкий класс задач, для которых гарантированно существует 1-2 решения?

DL>Q: подскажите страну, в которую съездить отдохнуть нынче

DL>A: умеющий отдыхать отдохнёт везде

Спасибо за троллинг, но он мне сейчас не нужен.

N>>голосование кажется некорректным потому, что под общим понятием "GUI" скрывается с полдесятка существенно разных вещей

DL>Ну зачем это занудство? И так понятно, что обычные люди под словом GUI понимают банальные кнопочки-формочки для облегчения процесса взаимодействия юзера с софтинкой. Зачем подводить к вопросу какие-то другие узконаправленные гуи, ведь если бы интересовали именно они, это так бы и было указано в вопросе?..

Великолепный загиб. А теперь ответьте, пожалуйста, почему я должен считать, что эти кнопочки-формочки, например, пишутся только под Windows? (BTW, про автора голосования мне известно, что у него дофига работы или под Unix, или кроссплатформенной, поэтому голый API, MFC и, скорее всего, дотнетовские средства — идут лесом и бесповоротно.) Далее, почему я должен считать, что верх возможностей этого GUI — treeview и прочие средства уровня того же WinAPI? Может, ему сразу и диаграммы нужны, сложные контролы и прочие вкусности, которых не покрыть тем, что идёт "обычно"?

DL>В конце концов указание C++ в вопросе и список вариантов ответа позволяют догадаться что речь идёт не о другой популярной области, к которой тоже можно применить понятие GUI, — об интерфейсах web-сайтов, а вполне об обычных приложениях.


Извините, не подходит. В вопросе _голосования_ C++ не упомянут в принципе (и это правильно). Ответы можно было добавлять, а в начальном списке ответа с Brainfuck'ами и прочими монстрами — не было.

DL>По теме: вопрос выбора GUI сложнее чем кажется. Я, к примеру, уже больше четырёх лет размышляю над тем, какую GUI библиотеку выбрать и пока так и не решил


Может, Вы просто не определились с задачей?
The God is real, unless declared integer.
Re[4]: В чем необходимость писать GUI на С++/ассемблере/брей
От: D.Lans Россия  
Дата: 26.02.11 09:26
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, D.Lans, Вы писали:


N>Я не давал ответ под конкретные требования.

Окей, попросим автора темы уточнить.

N>Или Вы всерьёз считаете, что GUI это крайне узкий класс задач, для которых гарантированно существует 1-2 решения?

Круг задач большинства обычных программистов вполне предсказуем (если не указано обратного). Накидать кнопочек, желательно с меньшими затратами сил и большим удобством.

N>Великолепный загиб. А теперь ответьте, пожалуйста, почему я должен считать, что эти кнопочки-формочки, например, пишутся только под Windows? (BTW, про автора голосования мне известно, что у него дофига работы или под Unix, или кроссплатформенной, поэтому голый API, MFC и, скорее всего, дотнетовские средства — идут лесом и бесповоротно.) Далее, почему я должен считать, что верх возможностей этого GUI — treeview и прочие средства уровня того же WinAPI? Может, ему сразу и диаграммы нужны, сложные контролы и прочие вкусности, которых не покрыть тем, что идёт "обычно"?

Опять же, раз не указано обратного, то предполагаем самый вероятный вариант: у автора Windows, он пишет под неё, но не откажется от кроссплатформенности (а кто ж откажется то?)
И до тех пор, пока автор не поправит нас, давайте рассуждать в этом направлении.

N>В вопросе _голосования_ C++ не упомянут в принципе (и это правильно). Ответы можно было добавлять, а в начальном списке ответа с Brainfuck'ами и прочими монстрами — не было.

Имеете в виду "C++ в заголовке не *был* упомянут"? Потому что сейчас то он там есть.

DL>>По теме: вопрос выбора GUI сложнее чем кажется. Я, к примеру, уже больше четырёх лет размышляю над тем, какую GUI библиотеку выбрать и пока так и не решил


N>Может, Вы просто не определились с задачей?


Я отталкиваюсь не только от задач, сколько от требований.

А требования мои к ней вполне тривиальны:
1. Гибкость и мощь. Знаете, чтобы она была в мире GUI-библиотек, как C++ в мире языков программирования: позволяла писать как маленькие программки с одной кнопкой (и весом в 10 килобайт), так и большие тяжёлые фотошопы (с пропорционально увеличивающимся количеству задействованных компонентов весу). Пусть и ценой некоторой сложности синтаксиса (если можно так выразиться об интерфейсе библиотеки).

2. Кроссплатформенность. Это не прихоть, а жизненная необходимость. Была бы в мире одна ОС — вопросов бы не было, но сейчас, когда кое-где в мире Win теснят Маки, когда линукс хорошеет и очеловечивается с каждым годом, когда мобильники и планшеты зомбируют всё большее количество людей, завязанность на одну платформу есть не что иное как косность, глупость и заскорузлость, бессмысленная и беспощадная.
Впрочем ЖЫРные платформы-прослойки — Java, .NET — не выход, ибо содержат слишком много оверхеда, кроме того они разбазаривают ресурсы компьютера (которых даже сейчас, с современными железками отнюдь не бывает много). Качественная GUI библиотека должна уметь создавать различные нативные версии программы под каждую платформу (например просто транслируя написанный исходный код в код для каждой конкретной платформы, а потом его компилируя).

3. Надёжность и практичность. Я и в реальной жизни ценю надёжность и практичность превыше внешнего вида, имиджа, бренда и прочего отребья. Каждая деталь, каждая часть вещи должна 100% служить общему делу — или не существовать вовсе. Из этого вытекают два других требования:

3.1. Бажность, стремящаяся к нулю.
3.2. Открытость (обязательный минимум) и, крайне желательно, опенсоурсность, дабы GUI-библиотека жила ровно столько, сколько потребуется народу и до тех пор, пока последний человек на Земле будет её поддерживать; чтобы она не зависела от странных идей маркетологов, которых моча бьёт в голову со словами "инновационность" и "революционность" и которые постоянно спешат свернуть старые наработки и выкатить новые, "ещё улучшенные", но правда "немного более тормозящие", и всего за $599.99©®™
3.2.1. Последний пункт порождает ещё один немаловажное требование: максимальную расширяемость и изменяемость с целью максимального _бескомпромиссного_ адаптирования к любой задаче и для любых условий.
Re[5]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 09:45
Оценка: +1
Здравствуйте, D.Lans, Вы писали:

DL>2. Кроссплатформенность. Это не прихоть, а жизненная необходимость. Была бы в мире одна ОС — вопросов бы не было, но сейчас, когда кое-где в мире Win теснят Маки, когда линукс хорошеет и очеловечивается с каждым годом, когда мобильники и планшеты зомбируют всё большее количество людей, завязанность на одну платформу есть не что иное как косность, глупость и заскорузлость, бессмысленная и беспощадная.

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

DL>Впрочем ЖЫРные платформы-прослойки — Java, .NET — не выход, ибо содержат слишком много оверхеда, кроме того они разбазаривают ресурсы компьютера (которых даже сейчас, с современными железками отнюдь не бывает много). Качественная GUI библиотека должна уметь создавать различные нативные версии программы под каждую платформу (например просто транслируя написанный исходный код в код для каждой конкретной платформы, а потом его компилируя).

Ага, а еще GUI фреймворк должен автоматом подстраиваться под гайдлайны целевой платформы

Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.
Re[6]: В чем необходимость писать GUI на С++/ассемблере/брей
От: alpha21264 СССР  
Дата: 26.02.11 09:52
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.


ха-ха-ха.

Течёт вода Кубань-реки куда велят большевики.
Re[7]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 10:00
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, gandjustas, Вы писали:


G>>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.


A>ха-ха-ха.


Есть контрпримеры?
Re[6]: В чем необходимость писать GUI на С++/ассемблере/брей
От: D.Lans Россия  
Дата: 26.02.11 10:09
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, D.Lans, Вы писали:


DL>>2. Кроссплатформенность. Это не прихоть, а жизненная необходимость. Была бы в мире одна ОС — вопросов бы не было, но сейчас, когда кое-где в мире Win теснят Маки, когда линукс хорошеет и очеловечивается с каждым годом, когда мобильники и планшеты зомбируют всё большее количество людей, завязанность на одну платформу есть не что иное как косность, глупость и заскорузлость, бессмысленная и беспощадная.

G>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.
Иными словами: действительно качественного решения пока не реализовано.
То есть: на рынке есть свободная потенциально жирная ниша.
То есть есть реальная мотивация для хорошего стартапа или бизнеса (правда монетизация не слишком коррелирует с заявленной опенсоурсностью. Надо подумать об этом).

DL>>Впрочем ЖЫРные платформы-прослойки — Java, .NET — не выход, ибо содержат слишком много оверхеда, кроме того они разбазаривают ресурсы компьютера (которых даже сейчас, с современными железками отнюдь не бывает много). Качественная GUI библиотека должна уметь создавать различные нативные версии программы под каждую платформу (например просто транслируя написанный исходный код в код для каждой конкретной платформы, а потом его компилируя).

G>Ага, а еще GUI фреймворк должен автоматом подстраиваться под гайдлайны целевой платформы
Why not? It сфера каждый год делает мини-революции и доказывает, что невозможное возможно.

G>Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.

Вы же взрослый человек и понимаете, что для описанного в мечтах "полного переноса всего и вся в веб" ещё лет... 10. Или 20.
А кушать то хочется уже сейчас.
Re[8]: В чем необходимость писать GUI на С++/ассемблере/брей
От: alpha21264 СССР  
Дата: 26.02.11 10:23
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, alpha21264, Вы писали:


A>>Здравствуйте, gandjustas, Вы писали:


G>>>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.


A>>ха-ха-ха.


G>Есть контрпримеры?


http://www.pro-radio.ru/simulators/2898

Таки собирается из одного набора исходников под Линукс и Виндовс. Сам собирал.

Течёт вода Кубань-реки куда велят большевики.
Re[9]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 10:28
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, gandjustas, Вы писали:


G>>Здравствуйте, alpha21264, Вы писали:


A>>>Здравствуйте, gandjustas, Вы писали:


G>>>>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.


A>>>ха-ха-ха.


G>>Есть контрпримеры?

A>http://www.pro-radio.ru/simulators/2898
Мда.. очень распространненая программа.

A>Таки собирается из одного набора исходников под Линукс и Виндовс. Сам собирал.

А под мак? Маков гораздо больше, чем линуксов. А маковским гайдлайнам интерфейс соответствует?
Re[7]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 10:33
Оценка:
Здравствуйте, D.Lans, Вы писали:

DL>Здравствуйте, gandjustas, Вы писали:


G>>Здравствуйте, D.Lans, Вы писали:


DL>>>2. Кроссплатформенность. Это не прихоть, а жизненная необходимость. Была бы в мире одна ОС — вопросов бы не было, но сейчас, когда кое-где в мире Win теснят Маки, когда линукс хорошеет и очеловечивается с каждым годом, когда мобильники и планшеты зомбируют всё большее количество людей, завязанность на одну платформу есть не что иное как косность, глупость и заскорузлость, бессмысленная и беспощадная.

G>>Это заблуждение. По настоящему кроссплатформенное ПО, которое реально собирается из одного набора исходников для любой платформы, это или консольные утилиты, или настолько ужасно выглядит, что им не пользуется никто.
DL>Иными словами: действительно качественного решения пока не реализовано.
И никогда не будет.

DL>То есть: на рынке есть свободная потенциально жирная ниша.

За несколько десятков лет нету ни одного более-менее достойного представителя в этой нише. К чему бы это?


DL>>>Впрочем ЖЫРные платформы-прослойки — Java, .NET — не выход, ибо содержат слишком много оверхеда, кроме того они разбазаривают ресурсы компьютера (которых даже сейчас, с современными железками отнюдь не бывает много). Качественная GUI библиотека должна уметь создавать различные нативные версии программы под каждую платформу (например просто транслируя написанный исходный код в код для каждой конкретной платформы, а потом его компилируя).

G>>Ага, а еще GUI фреймворк должен автоматом подстраиваться под гайдлайны целевой платформы
DL>Why not? It сфера каждый год делает мини-революции и доказывает, что невозможное возможно.

Я же говорю что кого это парит делают на вебе.

G>>Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.

DL>Вы же взрослый человек и понимаете, что для описанного в мечтах "полного переноса всего и вся в веб" ещё лет... 10. Или 20.
А тебе зачем "перенос всего"? Решай свою задачу на вебе.


DL>А кушать то хочется уже сейчас.

Угу, с открытостью, о которой ты в предыдущем посте заявлял, это очень коррелирует.
Re[10]: В чем необходимость писать GUI на С++/ассемблере/бре
От: FR  
Дата: 26.02.11 10:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

A>>Таки собирается из одного набора исходников под Линукс и Виндовс. Сам собирал.

G>А под мак? Маков гораздо больше, чем линуксов. А маковским гайдлайнам интерфейс соответствует?

Под Mac плохо, надо писать отдельно.
Но Linux (и другие никсы) + Windows вполне реально, например на wx http://wxwidgets.org/about/screensh.htm
Re[8]: В чем необходимость писать GUI на С++/ассемблере/брей
От: D.Lans Россия  
Дата: 26.02.11 10:44
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.

DL>>Вы же взрослый человек и понимаете, что для описанного в мечтах "полного переноса всего и вся в веб" ещё лет... 10. Или 20.
G>А тебе зачем "перенос всего"? Решай свою задачу на вебе.
Сейчас делать онли на вебе — решение исключительно ущербное по сравнению с написанием классической софтины.
Re: В чем необходимость писать GUI на С++/ассемблере/брейнфа
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 26.02.11 10:50
Оценка:
Windows написан на С++, следовательно из С++ наиболее удобно использовать все возможности платформы.
Ce n'est que pour vous dire ce que je vous dis.
Re[9]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 10:53
Оценка: :))
Здравствуйте, D.Lans, Вы писали:

DL>Здравствуйте, gandjustas, Вы писали:


G>>>>Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.

DL>>>Вы же взрослый человек и понимаете, что для описанного в мечтах "полного переноса всего и вся в веб" ещё лет... 10. Или 20.
G>>А тебе зачем "перенос всего"? Решай свою задачу на вебе.
DL>Сейчас делать онли на вебе — решение исключительно ущербное по сравнению с написанием классической софтины.

Это ты в какой категории сравниваешь?

Чуть менее чем весь enterprise софт делается на вебе, всякие docs.com для "офисных" задач, почта уже давно на вебе сидит, графические редакторы, просмотр видео.
Re[2]: В чем необходимость писать GUI на С++/ассемблере/брей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.02.11 11:00
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Windows написан на С++, следовательно из С++ наиболее удобно использовать все возможности платформы.

Не вижу логики в таком заявлении.

ЗЫ. Ядро на C, WinAPI тоже в терминах С. Скажешь всем на С писать?
Re: В чем необходимость писать GUI на С++/ассемблере/брейнфа
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 26.02.11 11:04
Оценка: +1
fk0> А на чём нужно/можно писать GUI?

Можно на чем угодно. Нужно в соответствии с требованиями. Если стоит задача "чтобы деплоилось на desktop без лишних зависимостей и расширялось C библиотеками типа OpenSSL", то писать все на C++Qt — не худшая идея .
Re[10]: В чем необходимость писать GUI на С++/ассемблере/бре
От: D.Lans Россия  
Дата: 26.02.11 11:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, D.Lans, Вы писали:


DL>>Здравствуйте, gandjustas, Вы писали:


G>>>>>Все нормальные пацаны, которым надо чтобы софт работал на любой платформе, используют Web.

DL>>>>Вы же взрослый человек и понимаете, что для описанного в мечтах "полного переноса всего и вся в веб" ещё лет... 10. Или 20.
G>>>А тебе зачем "перенос всего"? Решай свою задачу на вебе.
DL>>Сейчас делать онли на вебе — решение исключительно ущербное по сравнению с написанием классической софтины.

G>Это ты в какой категории сравниваешь?

Я сейчас говорю о софте для широких масс.
Если его делать полностью вебовым, то люди будут иметь проблемы с его использованием, когда у них глючит интернет,
вообще не смогут им воспользоваться, если интернет пропадёт. А огромное количество людей в мире вообще имеет доступ только к очень медленному и/или помегабайтному интерету — уйти в веб значит сразу лишить себя этой аудитории.
Всяким офисным "интерпрайзным" планктонам конечно же на такие проблемы пофиг — отвалился интернет/сервак в конторе, работа встала — не их проблемы, пусть сисадмин парится с ремонтом, а директор — об упущенной прибыли.
Re[3]: В чем необходимость писать GUI на С++/ассемблере/брей
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 26.02.11 11:51
Оценка:
Здравствуйте, gandjustas, Вы писали:

DR>>Windows написан на С++, следовательно из С++ наиболее удобно использовать все возможности платформы.

G>Не вижу логики в таком заявлении.

На других языках приходится писать обёртки — что тут непонятного?

G>ЗЫ. Ядро на C, WinAPI тоже в терминах С. Скажешь всем на С писать?


Драйверы на С и пишут, само собой. Да и не-драйверы всё ещё часто на С, С с классами, С++, С++/CLI. Вон, в Ворде 2007 UI полностью переделали, но с С++ не ушли. В Студии 2010 таки перешли на WPF, но небесплатно и только после переделки самого WPF.
Ce n'est que pour vous dire ce que je vous dis.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.