>>И это другое -- более стандартное решение.
>
>например, gtk-- ? знаем, плавали. все очень стандартно и практически по шаблону.
>но абсолютно неюзабельно без поллитры :)
Полностью согласен. Qt пока абы не самое лучшее решение в своём классе, и
спасибо ей за это.
>> Это не был бы Qt,
>>потому что
>>Qt -- не вполне стандартное решение, но она очень хорошее решение, и
>>
>>спасибо ему, что оно есть, хотя и его авторы пытаются придумать сказки
>>о
>>том, как без moc нельзя обойтись, но всем и так понятно, причём
>>тут был
>>moc (в 1991 году).
>
>причем? :)
Это вопрос, или несогласие с утверждением о том, что (в сослагательном
наклонении) Троли без moc смогли бы обойтись и в 92-м?
Но они этого не сделали (и не могли сделать; это уже к ответу на вопрос);
получилось презамечательно -- ну и ладно.
А теперь к вопросу "Причём?".
Я делал два утверждения: a) стандартное решение почти никогда не бывает
оптимальным; b) коммерческая организация (любая) не стремится следовать
стандартам, а наоборот -- всячески стремится их проигнорировать.
Утверждение b -- ответ на "Причём?" (Qt -- коммерческий продукт).
>>>по поводу следования Qt стандартам - опять же неправда. как раз этот
>>>продукт стандартам старается следовать, за что в том числе и ценим.
>>Троли лучше других это понимают. Поэтому я и говорю: "_даже_ Qt".
>
>ну тогда уж стоит добавить "даже Microsoft". или, по вашему, они совершенно
>не следуют никаким стандартам? :)
Моё мнение: Microsoft, если бы была в состоянии, не следовала бы вообще
никаким стандартам. Более того -- это неследование стандартам её
основная политика по отношению к любым стандартам и договорённостям.
Примеры нужны?
>>>>По части уродливых стандартов впереди планеты всей, конечно же POSIX,
>>>>содержащий кроме обычных противоречий даже и смешные ошибки, вроде
>>>>getopt(). Так что примеров море не мерено.
>>>ммм.. а какие собственно проблемы с getopt()? и можно еще один-два примера
>>>из моря дегтя POSIX?
>>man getopt
>
>пардон, man - это man, а POSIX - это POSIX. в первом
>может быть написано практически все, что душе угодно в различной вариации,
>в зависимости от системы и расположения звезд на небе. во втором
>смотрим тут:
>
>http://www.opengroup.org/onlinepubs/009695399/functions/getopt.html
>
>в чем там противоречие?
Я вот о чём:
The POSIX.2 specification of getopt() has a technical
error described in POSIX.2 Interpretation 150. The GNU
implementation (and probably all other implementations)
implements the correct behaviour rather than that speci-
fied.
Не смешно? Документ, содержащий подобное стоит принимать всерьёз?
Но это я смеюсь, конечно. POSIX ругать неприлично даже: он есть
героическая попытка систематизировать 30-ти летний опыт, и попытка
успешная. Но это всего лишь стандарт и ему характерно всё, что характерно
любому стандарту: то, что стандартизовано не есть самое лучшее. Очень
вредно думать иначе, я сильно возражаю против этого.
>>>я пока что не совсем понял, что же именно вы рекомендуете.
>>Не создавать себе кумиров в виде самых любимых языков/библиотек/стандартов/технологий.
>
>ну а причем тут следование или нет стандартам? ежу понятно, что у
>каждого стандарта есть область применения. что бывает при попытках использовать инструмент
>не по назначению многие знают, с этим никто не спорит.
Дело не в области применения. Я имею в виду, конечно, именно область
применения стандарта. Решение о выборе стандартного или нестандартного
решения принимать нужно взвешенно, отводя стандарту подобающее место,
которое вовсе не на троне находится. Это я мимел в виду.
>>>согласен, люди. ну и что?
>>Люди не смогут создать даже просто хороший стандарт, куда уж им до
>>оптимального стандарта, на который бы можно было смотреть иначе, чем
>>просто на ещё одну бумажку.
>
>и это утверждение я не понял. возьмем тот-же POSIX 1001.x. стандарт? да.
>хороший? ну судя по всему - как посмотреть. с моей точки
>зрения в своей области - более чем. ему не следуют и
>это просто бумажка? ой, не верю. причем делалось обычными людьми как
>мы с вами.
На это я, вроде бы, ответил выше.
>>Да. Мы отклнились.
>>Началось всё с недоумения dimus о том, почему itoa() не стандартизована.
>>Причина в том, что она не может быть стандартизована. И ответ на
>>вопрос
>>"Почему?" в том, что такое стандарт, а не в том, насколько хороша
>>itoa().
>
>у любого стандарта есть цель. в том числе и у ANSI C
>и POSIX. и ооочень широкая аудиенция, которую нужно покрыть. и если
>itoa используется лишь маааленьким подмножеством народу, то заставлять всех остальных реализовать
>ее просто неразумно. отсекается все, что только можно с точки зрения
>разума и практики. и так в таком скромном подмножестве интерфейсов уже
>туева хуча.
Это верно, но не точно. Как я понимаю, Вам кажется, что стандарт (любой,
не только в программировании) -- это собрание лучшего опыта, а это как раз
наоборот. Стандарт -- это набор решений, худших из всех вообще допустимых.
>мне вот на BSD вызов getprogname() нравится. простенько и со вкусом. хотя
>ни в ANSI C ни в POSIX не входит. ну и
>что собственно? от этого ни та ни другая сторона не пострадали.
Переносимость страдает, но это очень сложная тема -- не стоит об этом.