WPF

Jan. 19th, 2011 12:00 am
love5an: (Default)
[personal profile] love5an
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. Он слишком отличается от других языков. Он сложен. А где найдешь программистов на нем? И кто будет этим пользоваться? Кучка энтузиастов?

Любую корпорацию, даже связанную с высокими технологиями, технологии не интересуют. Ее интересует стабильность и финансовые потоки.

Re: ЧТО БЛЯДЬ

Date: 2011-01-19 05:10 am (UTC)
From: [identity profile] alex bubnoff (from livejournal.com)
а что, в винде уже больше не dll hell? ах да, его переименовали в assembly hell и sxs hell. несмотря на то, что второе название я только что придумал, все, надеюсь, поняли что это.

Re: ЧТО БЛЯДЬ

Date: 2011-01-19 05:33 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Ага, только в винде я почему-то могу поставить кучу версий того же питона (2.5, 2.6, 2.7, 3.1), обычного и Stackless, и она от этого не становится раком после попытки обновиться, в отличие от линуксов.

И setuptools корректно работают. И фишек вида "удалил одно - поломалось другое" что-то уже года три, пожалуй, не припомню.

Date: 2011-01-19 04:06 pm (UTC)
From: (Anonymous)
конечно раком не становится, она ж обновляться-то и не умеет. или пан wizzard0 научился ставить весь этот питоний зоопарк таким образом, что апдейты на него и используемые библиотеки приползают вместе с виндовыми патчами, распространяемыми ms?

Date: 2011-01-19 06:53 pm (UTC)
From: [identity profile] love5an.livejournal.com
она свои компоненты, дрова, и майкрософтовские продукты обновляет.

а централизированный репозиторий для всего возможного софта для ОС, как это принято в линуксе - в винде невозможен - софта слишком много, дохуища. Поэтому каждая контора пишет свой обновляльщик, ну или использует пакетный менеджер другой конторы.
У каждой программы, или набора программ - свои методы. И это нормально. Я бы даже сказал - это хорошо, потому что - см. выше что wizzard0 написал.

Date: 2011-01-19 08:55 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
msi свежих версий накатываются поверху без проблем, не? скачал, запустил (в unattended режиме), обновилось.

а apt'ы и yum'ы всякие впадают в панику, если много версий параллельно стоит

Date: 2011-01-19 09:35 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
А кстати да, сетаптулзы-то при этом депенденси вполне тащат. А под линухом - тащат, но конфликтят с системным апдейтером. Хотя, казалось бы, всё опенсорс и давно можно подпилить и починить. Так нет же, со времен моего знакомства с питоном тянется.

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

А чем, кстати не устраивает развертывание через групповую политику? Вполне себе центр.репоз для конторы, имхо.

Date: 2011-01-21 10:49 am (UTC)
From: (Anonymous)
Идиот. Сначала в мат.части разберись, потом пи!"№;. Можно спокойно держать разные версии того же питона.

Date: 2011-01-21 11:19 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Хех, а назваться слабо?

Нельзя одновременно держать версии питона с одинаковым номером, собранные с стеклессом и без.

Date: 2011-01-21 01:18 pm (UTC)
From: [identity profile] alex bubnoff (from livejournal.com)
ну, тут вопрос скорее не в менеджерах пакетов, а в том, что в линухе один общий namespace, в отличие от "ставь куда хочешь" в венде. и хер поймешь, как это без костылей решить.

Date: 2011-02-14 10:26 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Сильно зависит от. В конце концов, пересобрать на коленке пакет, чтобы он вставал в конкретную директорию - не проблема.

Date: 2011-02-16 09:10 pm (UTC)
From: [identity profile] alex bubnoff (from livejournal.com)
вариант довольно слабый, потому что все версии пересобирать влом и обновляться само оно не будет. плюс разбухание PATH/LIBPATH etc. вообще, это вопрос к мэйнтейнерам, почему они не разрешат конфликт имен, если это именно он.
впрочем, я даже сути проблемы до конца не понимаю, мне никогда не был нужен такой зоопарк..

Date: 2011-01-31 05:24 pm (UTC)
From: (Anonymous)
> а apt'ы и yum'ы всякие впадают в панику, если много версий параллельно стоит
Ты из какого века-то вылез, ушастый?

Date: 2011-01-31 05:31 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Представиться слабо?

Date: 2011-02-07 03:39 pm (UTC)
From: (Anonymous)
Неймфаг хуже пидораса.

Date: 2011-02-07 03:49 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Тут несколько анонов же

Profile

love5an: (Default)
Dmitry Ignatiev

June 2020

S M T W T F S
 123456
78910 111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 18th, 2025 04:12 am
Powered by Dreamwidth Studios