А посмотрите в масштабах компании в целом. Например, Project K / ASP.NET vNext аккуратно пишется так, чтобы все работало под Mono на Linux. То же самое с Roslyn и F#.
Вообще, слово «линукс» в последнее время очень часто можно услышать в коридорах в дискуссиях на совершенно разные темы, и не только в около-Azure командах. Что не может не радовать. Burst the bubble и все такое.
>> Вы попросту доказали, что нужно разрешить функциям иметь свой собственный синтаксис. Т. е. конкретно для where нужен синтаксис, где сперва идёт контейнер, потом слово where, а потом предикат.
Дело в том, что именно такой синтаксис (эквивалентный subject-verb-object в естественных языках) является оптимальным для очень большого количества операций. Благодаря чему, собственно, нотация с точкой и является столь популярной. Если это предложение пройдет, то в плюсах точка и станет такой альтернативной нотацией. По сути, это эквивалентно инфиксной нотации в Haskell, где f x y можно записать как x `f` y.
А возможность задавать произвольный синтаксис для функций — это огромное усложнение парсера языка (и всех инструментов, на него завязанных, вроде редакторов/IDE). Или же, наоборот, упрощение с перекладыванием парсинга каждого конкретного вызова непосредственно на функцию, как в Tcl.
А зачем? В шарпе вообще нет понятия глобальных функций. А вот в плюсах, наоборот, они вполне идиоматичны, в т.ч. и как обертки над методами (std::swap, std::begin/end etc), для того, чтобы можно было их легко перегружать для сторонних типов. И для этого же есть ADL. Поэтому правило «любая функция является расширением» вписывается в эту картину вполне гармонично.
Да кто же спорит. Просто когда к тебе в дом выламывают дверь в три часа ночи, людям обычно спросонья некогда разбираться, копы там или нет. Поэтому и начали менять законы так, чтобы в случае легитимной самообороны (т.е. например если копы ошиблись дверью, или там «постучали» за секунду до выбивания дверей) это не применялось.
Вообще, ордера на обыск «без стука» — очень плохая штука в т.ч. по этой вот причине.
Из этой доктрины в большинстве штатов есть исключение для полиции (обычно прописаное в виде закона, где сказано, что любое нападение на офицера полиции при исполнении является преступлением). В Техасе оно явно убрано — это как раз то, о чем я написал выше, «в нескольких штатах».
«Cop killer bullets» — это вообще терминологический бред, который всерьез обсуждают те политики, которые вообще не в теме («it's the shoulder thing that goes up», да-да). Обычный M855 пробьет почти любой полицейский бронежилет, не говоря уже о винтовочных пулях калибром покрупнее.
Но речь не о том. Если к вам в дом вломится полиция, а вы начнете по ним стрелять, то в доброй половине штатов вас потом посадят очень надолго почти автоматически, безотносительно того, что они вломились без предупреждения и ордера. Присяжных тоже будет очень тяжело убедить, что это была самооборона. Можно — я в курсе, что прецеденты есть — но маловероятно. Законы, явно распространяющие SYG на подобные ситуации, пока есть только в нескольких штатах.
Ну и какое отношение это все имеет к обыску с ордером и без ордера (а последний вполне допустим в определенных ситуациях) — непонятно.
Да, по поводу «леваков». Я вот махровый левак — но у меня в сейфе что-то порядка 30 единиц огнестрела, включая пресловутые «assault weapons». Из знакомых леваков тоже полно владельцев оружия, и я имею в виду не охотничьи ружья. Не делайте далеко идущие выводы из партийной принадлежности и общей политической ориентации.
Там есть определенные юридические стандарты на это самое подозрение, а не просто «ну мне так кажется». В данном случае, кажется, это будет «reasonable suspicion» — наличие определенных фактов, указывающих на правонарушение и ассоциацию с данным человеком или местом.
1603 — это «fatal error during installation», т.е. почти все, что угодно. Попробуйте поставить ручным вызовом msiexec /L*V {filename}, и скиньте эти самие логи (лучше сразу в баг в трекере) — будем разбираться. Разницы между установкой студии онлайн-установщиком и из ISO быть не должно.
Что касается тормозов и зависаний — пожалуйста, шлите багрепорты! Или хотя бы дайте Windows Error Reporting отработать и отправить дамп — на них смотрят, поверьте (сам этим два года занимался).
Что касается того, зачем вообще нужны разные IDE. Ну, как минимум, затем же, зачем разные ОС или браузеры — даже если вы пользуетесь только одним, наличие других создает конкурентную гонку, благодаря чему вы получаете фичи и багфиксы быстрее. Ну и цены, опять же — думаете, у PyCharm была бы бесплатная версия, если бы не было бесплатных же конкурентов?
Конкретное сравнение PyCharm и PTVS мне делать не хотелось бы, т.к. я по определению заинтересованная сторона, и мне веры быть не может :). Вообще, сравнение питоновских IDE — это благодатная тема для развернутой статьи на Хабре, если бы кто-то взялся. Мне пока не доводилось видеть в Сети подробного разбора полетов на эту тему, так что много людей сказали бы вам спасибо.
Но попробую все же сказать кое-что. Помимо конкуренции, наличие разных IDE приводит в т.ч. еще к тому, что в них развиваются разные направления. Например, я вам могу вполне откровенно сказать, что вещи, связанные с веб-разработкой вообще — в PyCharm, да, лучше, чем у кого бы то ни было. У них и шаблонизаторов поддерживается куда больше (например, есть редактирование Jinja2), и сам HTML-редактор понавернутей, и поддержка GAE, да и вообще много вкусностей… Что неудивительно, если учесть историю продукта. В этом плане, пожалуй, единственное, что мы можем предложить, чего нет у них — это интеграция с Azure.
А вот если посмотреть на разработку вообще, то тут у нас тоже есть свои уникальные фичи. Например, смешанная отладка Python/C++ — насколько мне известно, её больше нет ни у кого, и в ближайшее время не планируется. Или, скажем, интеграция REPL c IPython (с inline-графикой). Ну и новое направление развития — на улучшенную поддержку питоновского стека data science — тоже достаточно специфично, и я не думаю, что PyCharm тут будет пытаться угнаться за нами, у них своя ниша, мы же будем конкурировать скорее с MATLAB и R Studio. Но при этом те наработки, которые мы в данном релизе сделали для веб-разработки, там тоже будут активно использоваться — к ML и числомолотилкам тоже нужны фронт-енды для простых смертных.
При использовании WPF — да, есть. Для WinForms — нет. Это теоретически возможно, но намного сложнее реализовать (там требуется генерация кода), а запрос на него очень маленький, поэтому решили ограничиться WPF.
Да, VS Express поддерживается только начиная с 2013 Update 2. У них прошит whitelist расширений, которые на нем могут работать, поэтому поддержать старые версии мы не могли.
Вообще, слово «линукс» в последнее время очень часто можно услышать в коридорах в дискуссиях на совершенно разные темы, и не только в около-Azure командах. Что не может не радовать. Burst the bubble и все такое.
Дело в том, что именно такой синтаксис (эквивалентный subject-verb-object в естественных языках) является оптимальным для очень большого количества операций. Благодаря чему, собственно, нотация с точкой и является столь популярной. Если это предложение пройдет, то в плюсах точка и станет такой альтернативной нотацией. По сути, это эквивалентно инфиксной нотации в Haskell, где f x y можно записать как x `f` y.
А возможность задавать произвольный синтаксис для функций — это огромное усложнение парсера языка (и всех инструментов, на него завязанных, вроде редакторов/IDE). Или же, наоборот, упрощение с перекладыванием парсинга каждого конкретного вызова непосредственно на функцию, как в Tcl.
Заветам Столлмана верны — никаких утечек персональной информации. :)
Вообще, ордера на обыск «без стука» — очень плохая штука в т.ч. по этой вот причине.
Но речь не о том. Если к вам в дом вломится полиция, а вы начнете по ним стрелять, то в доброй половине штатов вас потом посадят очень надолго почти автоматически, безотносительно того, что они вломились без предупреждения и ордера. Присяжных тоже будет очень тяжело убедить, что это была самооборона. Можно — я в курсе, что прецеденты есть — но маловероятно. Законы, явно распространяющие SYG на подобные ситуации, пока есть только в нескольких штатах.
Ну и какое отношение это все имеет к обыску с ордером и без ордера (а последний вполне допустим в определенных ситуациях) — непонятно.
Да, по поводу «леваков». Я вот махровый левак — но у меня в сейфе что-то порядка 30 единиц огнестрела, включая пресловутые «assault weapons». Из знакомых леваков тоже полно владельцев оружия, и я имею в виду не охотничьи ружья. Не делайте далеко идущие выводы из партийной принадлежности и общей политической ориентации.
Что касается того, зачем вообще нужны разные IDE. Ну, как минимум, затем же, зачем разные ОС или браузеры — даже если вы пользуетесь только одним, наличие других создает конкурентную гонку, благодаря чему вы получаете фичи и багфиксы быстрее. Ну и цены, опять же — думаете, у PyCharm была бы бесплатная версия, если бы не было бесплатных же конкурентов?
Конкретное сравнение PyCharm и PTVS мне делать не хотелось бы, т.к. я по определению заинтересованная сторона, и мне веры быть не может :). Вообще, сравнение питоновских IDE — это благодатная тема для развернутой статьи на Хабре, если бы кто-то взялся. Мне пока не доводилось видеть в Сети подробного разбора полетов на эту тему, так что много людей сказали бы вам спасибо.
Но попробую все же сказать кое-что. Помимо конкуренции, наличие разных IDE приводит в т.ч. еще к тому, что в них развиваются разные направления. Например, я вам могу вполне откровенно сказать, что вещи, связанные с веб-разработкой вообще — в PyCharm, да, лучше, чем у кого бы то ни было. У них и шаблонизаторов поддерживается куда больше (например, есть редактирование Jinja2), и сам HTML-редактор понавернутей, и поддержка GAE, да и вообще много вкусностей… Что неудивительно, если учесть историю продукта. В этом плане, пожалуй, единственное, что мы можем предложить, чего нет у них — это интеграция с Azure.
А вот если посмотреть на разработку вообще, то тут у нас тоже есть свои уникальные фичи. Например, смешанная отладка Python/C++ — насколько мне известно, её больше нет ни у кого, и в ближайшее время не планируется. Или, скажем, интеграция REPL c IPython (с inline-графикой). Ну и новое направление развития — на улучшенную поддержку питоновского стека data science — тоже достаточно специфично, и я не думаю, что PyCharm тут будет пытаться угнаться за нами, у них своя ниша, мы же будем конкурировать скорее с MATLAB и R Studio. Но при этом те наработки, которые мы в данном релизе сделали для веб-разработки, там тоже будут активно использоваться — к ML и числомолотилкам тоже нужны фронт-енды для простых смертных.