![[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. Он слишком отличается от других языков. Он сложен. А где найдешь программистов на нем? И кто будет этим пользоваться? Кучка энтузиастов?
Любую корпорацию, даже связанную с высокими технологиями, технологии не интересуют. Ее интересует стабильность и финансовые потоки.
no subject
Date: 2013-01-08 01:45 am (UTC)Сказать откровенно, все это - большое дерьмо. И Линукс, и , в некоторой степени, Windows.
И Scada и Unigraphics... Все это написано уродливо с точки зрения пользователя. И язык этот Ваш С++ - смотреть без слез на все это уебище с линками, хедэрами, версиями библиотек... Синтаксис - это эксгибиоционизм С++ кодеров - посмотрите как я крут и возвышен... Про Линукс не говорю. Конструктор для тех, кому в жизни делать нехуй... Ни женщины, ни рыбалка с грибами, ни природа их не интересуют. Дрочили бы с командной строкой всю жизнь...
А пользователю инструмент нужен, изящный, простой в том смысле, что физик ощущал бы себя в программе физиком, химик - химиком, и так далее до бизнеса.
Как же заебали Ваши однотипные кнопки, неуправляемая труба-графика, и окна без края и конца... Пока доберешься до опции (хоть в CAE системе, хоть в С++ проекте). Там галочку, тут заебочку... Забываешь, что сделать то надо. Обычную балку, блядь, рисунком из книжки по сопромату нарисовать не могут с опорами и эпюрами, и чтоб покрутить можно было, не говоря уже о выводе результатов. Числодробилки FEMо говеные... В Ansys как-то балку считал простую. Охуеть - курсы открывать надо - 100 кликов!
А все от того, что все это пишут так называемые программисты - че за наука такая? Математика - знаю, физика - знаю, инженерные разделы физики вроде ТОЭ, сопромата - понимаю. Это то что, программирование? Долго не мог понять откуда ноги растут... Понял наконец... А им, то есть "программистам" похуй, как пользователь себя ощущать будет - им надо в шаблону соответствовать, чтоб наследование было в 10 уровней, чтоб заебать всех созерцающих обилием виртуальных функций и перегрузок... Причем, заметьте, официально Вы нигде не найдете, что, к примеру, Microsoft пропагандирует идолопоклонство какому-то шаблону. Ну есть тихий Призм - нравится, пробуйте. Ну сказал один Васек, что де в Бленде MVVM использовали и все... Нет, блядь, сидят на форумах, холиварят и выебываются в коде...
Дело то плевое, написать класс гандона - и все! Так нет, обязательно назовут его Энтити, отнаследуются от каучука, введут 1500 классов-пустышек и сотню интерфейсов... И все для того только, чтобы эти гандоны в аптеке тусовать...
Нет... Прикладники должны писать прикладные программы. Инженеры - для инженеров, музыканты - для музыкантов и так далее.
Чувак, к примеру, говорит на трех языках... Мы что его, программистом называем? Тож блядь придумали... Гандонотусовщики...
Теперь о главном. Платформа WPF - это вещь с надеждой для пользователя о том, что дела улучшатся. А то, что ее сделали в Microsoft - для меня вторично.
Вещь эта прямо скажу - выдающаяся.