![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
WPF охуенно. WPF круто, нереально круто.
GTK+ - говно. Qt - говно. wxWidgets - говно. Tk - говно. Pure Winapi, MFC, ATL, WTL - говно. Windows.Forms - говно. Cocoa - говно. SWT - говно. Swing - говно. Все это блевотное говно.
А WPF пиздато.
Проблема в том, что WPF переусложнено. Сильно переусложнено. Да, оно многое позволяет, оно очень хорошо отделяет интерфейс от реализации, оно расширяемо, оно интероперабельно с WinAPI, оно использует ресурсы видеокарт для отрисовки. Но, WPF очень сложное, слишком. И подпертое костылями со всех сторон.
И, да, это проблема не только WPF - это проблема практически всех продуктов и технологий Microsoft.
Проблема в том, что в Microsoft работают гениальные инженеры, разработчики и архитекторы, гениальные дизайнеры, гениальные менеджеры. Но, ориентируется Microsoft на рядового пользователя и на рядового разработчика - именно это обеспечивает коммерческую успешность компании. А гениальные технические и дизайнерские задумки довольно хреново ложатся на инфраструктуру, нацеленную на рядовых разработчиков и пользователей.
MS, например, прямым текстом признается, что семантика .NET-языков, и самого дотнета - слишком примитивна, убога и нерасширяема, и недостаточна для красивой реализации dataflow gui-фреймворка:
http://msdn.microsoft.com/en-us/library/ms750441.aspx#System_Windows_DependencyObject
Отсюда все эти костыли типа DependencyObject и прочая.
Кроме того, рефлекшн, и вообще, динамика - один из ключевых столпов WPF, в самом дотнете совершенно неюзабельны. Объектная система невероятно убога и примитивна. Интроспекция - очень сильно ограничена и неудобна в использовании. Система типов скорее мешает разработке, чем помогает. Про функциональное программирование я вообще промолчу(хотя где-то версии с третьей дотнета с этим стало получше, конечно).
Отсюда вся эта сложность, отсюда все эти костыли. Но это не избыточная сложность, на самом деле. Это просто плата за попытку реализовать гениальные идеи с помощью примитивных инструментов.
На Common Lisp парадигмы event-driven и dataflow программирования ложатся идеально.
http://common-lisp.net/project/cells/
И динамичности в нем предостаточно.
Но Microsoft никогда бы не стала реализовывать свой передовой фреймворк на платформе типа CL. Он слишком отличается от других языков. Он сложен. А где найдешь программистов на нем? И кто будет этим пользоваться? Кучка энтузиастов?
Любую корпорацию, даже связанную с высокими технологиями, технологии не интересуют. Ее интересует стабильность и финансовые потоки.
GTK+ - говно. Qt - говно. wxWidgets - говно. Tk - говно. Pure Winapi, MFC, ATL, WTL - говно. Windows.Forms - говно. Cocoa - говно. SWT - говно. Swing - говно. Все это блевотное говно.
А WPF пиздато.
Проблема в том, что WPF переусложнено. Сильно переусложнено. Да, оно многое позволяет, оно очень хорошо отделяет интерфейс от реализации, оно расширяемо, оно интероперабельно с WinAPI, оно использует ресурсы видеокарт для отрисовки. Но, WPF очень сложное, слишком. И подпертое костылями со всех сторон.
И, да, это проблема не только WPF - это проблема практически всех продуктов и технологий Microsoft.
Проблема в том, что в Microsoft работают гениальные инженеры, разработчики и архитекторы, гениальные дизайнеры, гениальные менеджеры. Но, ориентируется Microsoft на рядового пользователя и на рядового разработчика - именно это обеспечивает коммерческую успешность компании. А гениальные технические и дизайнерские задумки довольно хреново ложатся на инфраструктуру, нацеленную на рядовых разработчиков и пользователей.
MS, например, прямым текстом признается, что семантика .NET-языков, и самого дотнета - слишком примитивна, убога и нерасширяема, и недостаточна для красивой реализации dataflow gui-фреймворка:
http://msdn.microsoft.com/en-us/library/ms750441.aspx#System_Windows_DependencyObject
Отсюда все эти костыли типа DependencyObject и прочая.
Кроме того, рефлекшн, и вообще, динамика - один из ключевых столпов WPF, в самом дотнете совершенно неюзабельны. Объектная система невероятно убога и примитивна. Интроспекция - очень сильно ограничена и неудобна в использовании. Система типов скорее мешает разработке, чем помогает. Про функциональное программирование я вообще промолчу(хотя где-то версии с третьей дотнета с этим стало получше, конечно).
Отсюда вся эта сложность, отсюда все эти костыли. Но это не избыточная сложность, на самом деле. Это просто плата за попытку реализовать гениальные идеи с помощью примитивных инструментов.
На Common Lisp парадигмы event-driven и dataflow программирования ложатся идеально.
http://common-lisp.net/project/cells/
И динамичности в нем предостаточно.
Но Microsoft никогда бы не стала реализовывать свой передовой фреймворк на платформе типа CL. Он слишком отличается от других языков. Он сложен. А где найдешь программистов на нем? И кто будет этим пользоваться? Кучка энтузиастов?
Любую корпорацию, даже связанную с высокими технологиями, технологии не интересуют. Ее интересует стабильность и финансовые потоки.
Re: ЧТО БЛЯДЬ
Date: 2011-01-19 09:29 pm (UTC)Ну, выше вроде утверждалось, что он играет важную роль при переносе приложений между ОС, и его наличие в венде доказывает, что юникс победил
Это бесспорно хорошо, но мало, чтобы писать реальные приложения с бизнес-логикой, а не coreutils.
> $2000, и RHEL твой. Дашь ещё больше, и у тебя будет в RH персональный человек
O, у нас появилось TCO. После чего мы обнаруживаем, что большая часть ISV ориентируется все-таки на винду, и получаем накладные расходы на интероп с тем софтом, который найти под линух не удалось; на поддержание гетерогенной среды; обучение юзеров работать в этой среде, и всякое такое. Ну, либо на команду своих девелоперов, готовых в случае чего переписать всё нафик :)
Последний вариант, бесспорно, хорош, я такое люблю, но тоже не бесплатен.
Ну то есть, если весь стек укладывается в линух - то ок. Мне пока такое встречалось только для хорошо очерченного круга задач, типа "мелкого офиса"\"школы"\"хостинга"\"онлайн-игрушки" и т.д., но не для автоматизации предприятий. Маемо, Palm, Google и пр. - характерные примеры "переписать всё нафик".
> подсистемы, выполняющие аналогичные функции?
Я утверждаю, что ACL лучше битмасок, WMI лучше зоопарка hw- и sw- related демонов и утилит, Group Policy лучше зоопарка конфигов, а Object Manager "в общем" легче поддается унификации, чем конкретная имплементация /dev, /proc и т.д., в текущем линуховом ядре, хоть он и хуже, чем "всё есть файл" в Plan9 (но п9, увы, не очень жив)
> Все хотят Линукс, и не без причин.
Ну, с тем, что чпукс сейчас маргинален, я согласен. Но работать за цельным прилизанным workstation - приятно.
> А в стране с крупнейшей экономикой - Линукс
А какие там основные ISV получаются?
> не будем трындеть про то, в чём не разбираемся
Мне неоднократно жаловались, что "в итоге внедрили какую-то чрезвычайно глючную фигню, красивую в теории, но очень нестабильную, которая нагружает лишней работой операторов и надеется на их безошибочность".
Я искренне надеюсь, что ОС тут ни при чем, но на вид типичное "решили сэкономить на лицензиях, и не получилось".
Re: ЧТО БЛЯДЬ
Date: 2011-01-20 03:32 am (UTC)> Мне неоднократно жаловались, что "в итоге внедрили какую-то чрезвычайно глючную фигню, красивую в теории, но очень нестабильную, которая нагружает лишней работой операторов и надеется на их безошибочность".
Если вы про эпический фейл LSE с вендой, то я двумя руками за! Парни жутко много бабла растеряли.
Re: ЧТО БЛЯДЬ
Date: 2011-01-20 03:45 am (UTC)Я не знаю ни одной системы, которые реально утверждают что поддерживают MLS и не были в свое время взломаны. Это красивая теория, но поскольку "bits don't have colour", реализовать ее чрезвычайно тяжело. Как минимум, надо верифицированное ядро, компилятор, и верифицированную функциональную спецификацию. И 10-15 лет потом на написание всей обвязки. Их просто еще нету.
Что на винде, что на линухе без особых проблем реализуется MSL, и AFAIK все так и живут сейчас.
> Если вы про эпический фейл LSE с вендой
Нет, я не про LSE. Прочитайте мой комментарий внимательнее, вы пропустили фразу и таким образом вырвали цитату из контекста.
Я про конкретную попытку внедрить opensource-стэк на РАЭС.
Ну то есть да, у них получилось аж в два раза дешевле. 15 лямов что ли. Только один недостаток - пользоваться нельзя :)
Конечно, есть подозрение, что оба проекта профакаплены тупо из-за cost-cutting, или вообще кому-то чего-то занесли, черт его знает.
Re: ЧТО БЛЯДЬ
Date: 2011-01-20 03:46 am (UTC)Извиняюсь, виноват. Это я ее не процитировал. Речь о фразе "А, ну да, на Ровенскую АЭС все-таки пролоббировали каких-то студентов с "отказоустойчивыми серверами на свободном софте на базе обычных ноутбуков". Что вышло - см. новости."