Так Сноуден (и EFF, и прочие его сторонники) не выступают против прослушки вообще. Речь о том, что прослушка должна быть выборочной, а не тотальной, а решение её проводить должно приниматься с ведома и санкции суда — причем не фиктивного, который специально и создан для того, чтобы подмахивать индульгенции, не глядя — а полноценного, где у судей есть реальный доступ к документам, объясняющим, зачем она нужна в каждом конкретном случае.
System.Windows.Forms — это когда дотнет еще не пытался быть всем для всех, а был просто высокоуровневой платформой для винды, а конкретно Windows Forms — это был по сути порт Windows Foundation Classes из J++. System — знак того, что он является частью стандартной библиотеки (это все еще до попыток стандартизации через ECMA/ISO).
Потом появляется Avalon, то бишь WPF, причем его официальная миссия — стать основным и главным UI-фреймворком под винду. Вплоть до того, что на нем должна быть написана сама винда (тогда еще Longhorn). С другой стороны, он избавился от завязок на Win32 API (всякие там хэндлы и window messages), и, теоретически, может быть кроссплатформенным. Соответственно, System.Windows резервируется под него как the GUI. В итоге авалон из винды выпилили, и лонгхорн стал вистой, но неймспейс остался.
Windows.UI — уже не System, т.е. не декларируется, как часть стандартной переносимой библиотеки .NET, а как чисто виндовый API.
Если внимательно посмотреть на статьи на MSDN, то они старательно избегают дать какое-то определенное название всему этому делу. Пару раз мне встречались совсем уж неудобоваримые конструкции вроде «components in namespaces under Windows.UI». В 2011-м, когда все это дело только появилось, я спросил у разработчиков, как называть их детище при обсуждении на StackOverflow и тому подобных местах — и мне сказали, что это «Windows XAML [UI] Framework». На википедии соответствующая статья называется «Windows Runtime XAML Framework», правда, они не говорят, откуда взяли такое название.
Название, действительно, неудачное. Думаю, это прямая калька с пространства имен Windows.UI.Xaml. Но, увы, оно уже установилось — тот же MSDN постоянно говорит о «Store XAML apps» и тому подобных вещах, явно имея в виду далеко не только язык разметки.
Кстати, конкретно в WinRT, XAML к гую намертво еще не прибит, но уже приклеен — XamlReader теперь живет в Windows.UI.Xaml.Markup, и подружить его со своими негуевыми классами не так-то просто — т.е. это можно сделать, если руками реализовать IXamlMetadataProvider и т.д, но это все из разряда «если заведется, то можете ездить, но никаких обещаний». Кастомизация загрузки тоже практически нулевая.
Это повесть Сорокина, написанная на аналогичные темы очень похожим языком.
«Супротивных много, это верно. Как только восстала Россия из пепла Серого, как только осознала себя, как только шестнадцать лет назад заложил Государев батюшка Николай Платонович первый камень в фундамент Западной Стены, как только стали мы отгораживаться от чуждого извне, от бесовского изнутри – так и полезли супротивные из всех щелей, аки сколопендрие зловредное. Истинно – великая идея порождает и великое сопротивление ей. Всегда были враги у государства нашего, внешние и внутренние, но никогда так яростно не обострялась борьба с ними, как в период Возрождения Святой Руси. Не одна голова скатывалась на Лобном месте за эти шестнадцать лет, не один поезд увозил за Урал супостатов и семьи их, не один красный петух кукарекал на заре в столбовых усадьбах, не один воевода пердел на дыбе в Тайном Приказе, не одно подметное письмо упало в ящик Слова и Дела на Лубянке, не одному меняле набивали рот преступно нажитыми ассигнациями, не один дьяк искупался в крутом кипятке, не одного посланника иноземного выпроваживали на трех желтых позорных «меринах» из Москвы, не одного вестника спустили с башни Останкинской с крыльями утиными в жопе, не одного смутьяна-борзописца утопили в Москва-реке, не одна вдовица столбовая была подброшена родителям в тулупе овчинном нагою-бесчувственной...»
Никаких эмоций, просто корректировка терминологии. Судя по минусам, я несколько неудачно выразился. Попробую раскрыть смысл.
WPF — это тот фреймворк, который появился первым, и который работает только на десктопе (при этом XAML, несомненно, является его неотъемлимой составной частью). Silverlight — это не WPF. Это обособленный и самодостаточный фреймворк, который также использует XAML. Аналогично, UI-фреймворк в WinRT — это не WPF (официально он называется «WinRT XAML Framework», или просто «XAML Framework»).
Поэтому «современный WPF для WinRT» — это несколько бессмысленная фраза, которая может привести к путанице — особенно, если её читает новичок. Это примерно как сказать про JavaFX, что это «современный Swing для браузеров».
Проблема на самом деле не столько в том, что это делает гугл (или МС, или эппл, или еще кто-то) как официальное лицо. Проблема в том, что доступ к облачным данным есть у конкретных админов. И вот они уже вполне могут пользоваться им в личных целях.
Утвержедние, что этим занимаются все разработчики, не означает, что они этим занимаются все время :) разумеется, большую часть времени пишется новый код и отлаживаются обычные баги. Но в категории «баги» периодически попадаются дампы, и попасться они могут любому разработчику в команде. Я лично за четыре года работы в VS Platform задебажил, наверное, пару десятков дампов.
Ну а как вы думаете, кто может успешно расковырять дамп и разобраться в проблеме?
Понятно, что они не сразу сыпятся разработчикам, там есть несколько фильтров — сначала чисто автоматические, потом и ручной, где быстро проглядывают дампы, и если это похоже на реальную и ранее не найденную проблему — пересылают уже конкретной команде, которая ответственна за данный модуль. А там уже внутри команды они обычно рассматриваются как любые другие баги, и распределяются в соответствии с тем, чей код и у кого есть время.
По крайней мере по лямбдам, Java оказалась замыкающей из всех мэйнстримных языков. Кивать на плюсы здесь не получится — я писал на них код с лямбдами еще в 2009-м (когда работал над/в VS 2010), а в финальном стандарте они появились три года назад.
Если я могу записать то же самое короче и понятнее с модификацией локальной переменной, а параллелизация мне при этом абсолютно не нужна — это не лень, это разумный выбор кратчайшего пути.
System.Windows.Forms — это когда дотнет еще не пытался быть всем для всех, а был просто высокоуровневой платформой для винды, а конкретно Windows Forms — это был по сути порт Windows Foundation Classes из J++. System — знак того, что он является частью стандартной библиотеки (это все еще до попыток стандартизации через ECMA/ISO).
Потом появляется Avalon, то бишь WPF, причем его официальная миссия — стать основным и главным UI-фреймворком под винду. Вплоть до того, что на нем должна быть написана сама винда (тогда еще Longhorn). С другой стороны, он избавился от завязок на Win32 API (всякие там хэндлы и window messages), и, теоретически, может быть кроссплатформенным. Соответственно, System.Windows резервируется под него как the GUI. В итоге авалон из винды выпилили, и лонгхорн стал вистой, но неймспейс остался.
Windows.UI — уже не System, т.е. не декларируется, как часть стандартной переносимой библиотеки .NET, а как чисто виндовый API.
Название, действительно, неудачное. Думаю, это прямая калька с пространства имен Windows.UI.Xaml. Но, увы, оно уже установилось — тот же MSDN постоянно говорит о «Store XAML apps» и тому подобных вещах, явно имея в виду далеко не только язык разметки.
Кстати, конкретно в WinRT, XAML к гую намертво еще не прибит, но уже приклеен — XamlReader теперь живет в Windows.UI.Xaml.Markup, и подружить его со своими негуевыми классами не так-то просто — т.е. это можно сделать, если руками реализовать IXamlMetadataProvider и т.д, но это все из разряда «если заведется, то можете ездить, но никаких обещаний». Кастомизация загрузки тоже практически нулевая.
«Супротивных много, это верно. Как только восстала Россия из пепла Серого, как только осознала себя, как только шестнадцать лет назад заложил Государев батюшка Николай Платонович первый камень в фундамент Западной Стены, как только стали мы отгораживаться от чуждого извне, от бесовского изнутри – так и полезли супротивные из всех щелей, аки сколопендрие зловредное. Истинно – великая идея порождает и великое сопротивление ей. Всегда были враги у государства нашего, внешние и внутренние, но никогда так яростно не обострялась борьба с ними, как в период Возрождения Святой Руси. Не одна голова скатывалась на Лобном месте за эти шестнадцать лет, не один поезд увозил за Урал супостатов и семьи их, не один красный петух кукарекал на заре в столбовых усадьбах, не один воевода пердел на дыбе в Тайном Приказе, не одно подметное письмо упало в ящик Слова и Дела на Лубянке, не одному меняле набивали рот преступно нажитыми ассигнациями, не один дьяк искупался в крутом кипятке, не одного посланника иноземного выпроваживали на трех желтых позорных «меринах» из Москвы, не одного вестника спустили с башни Останкинской с крыльями утиными в жопе, не одного смутьяна-борзописца утопили в Москва-реке, не одна вдовица столбовая была подброшена родителям в тулупе овчинном нагою-бесчувственной...»
WPF — это тот фреймворк, который появился первым, и который работает только на десктопе (при этом XAML, несомненно, является его неотъемлимой составной частью). Silverlight — это не WPF. Это обособленный и самодостаточный фреймворк, который также использует XAML. Аналогично, UI-фреймворк в WinRT — это не WPF (официально он называется «WinRT XAML Framework», или просто «XAML Framework»).
Поэтому «современный WPF для WinRT» — это несколько бессмысленная фраза, которая может привести к путанице — особенно, если её читает новичок. Это примерно как сказать про JavaFX, что это «современный Swing для браузеров».
Это C++14, но make_unique уже много где появился.
В любом случае, информация, собранная без ордера, не может потом быть использована в суде.
Понятно, что они не сразу сыпятся разработчикам, там есть несколько фильтров — сначала чисто автоматические, потом и ручной, где быстро проглядывают дампы, и если это похоже на реальную и ранее не найденную проблему — пересылают уже конкретной команде, которая ответственна за данный модуль. А там уже внутри команды они обычно рассматриваются как любые другие баги, и распределяются в соответствии с тем, чей код и у кого есть время.