Pull to refresh
143
0
Александр Прохоров@Athari

Программист C#

Send message
быстрый выход из нескольких циклов не делается при помощи goto

Шта? Во всех языках, где нет "break 2" или "break fooFor", выход из циклов делается через "goto afterFor". Не знаю, в какие ваши определения что и как вписывается, но пишут в коде "goto". (Или, если начитались Вирта, добавляют флаги на каждый уровень.)


У конечных автоматов есть большой недостаток — они плохо наращиваются

ОК, нужно редко, ограничено и всё такое. Тем не менее, задача есть, и с помощью написания текста "goto" в исходнике задача решается красиво.


К сожалению, эта запись по сути является сахаром вокруг блочного оформления выделения-высвобождения

Любой код с goto можно переписать без goto введением флагов. Суть моего посыла в том, что код с goto в некоторых случаях выглядит лучше, а не то, что без goto прожить нельзя. Соответственно, позиция "goto вреден всегда" вредна — и имено это позиция современных кабинетных специалистов, а не наоборот.


Комитеты сделали Algol 68 — Вирт сделал Pascal.

Давайте, расскажите апологету шарпа — самого засахаренного и напичканного фичами мейнстримного языка, — какой он идеалист. =)

Мне конечно на ум приходит «goto это плохо», но даже тут я не уверен, что консенсус достигнут, хоть перевес и очевиден.

До тех пор, пока остаются паттерны использования goto, которые не покрываются синтаксисом языков, консенсуса быть не может. Консенсус может быть, возможно, по "вермишельному" использованию goto, но так сейчас никто не пишет, а самые грубые использования goto (переход внутрь функции, обход инициализации и др.) запрещены всеми полноценными языками.

Это потому что вы знаете, как выглядит правильная картинка, и можете получить её. Для дальтоников оба требования не выполняются.


Фильтры для дальтоников не дают правильную картинку, как её увидел бы человек с полноценным зрением. Грубо говоря, если человек не видит красный, то фильтр превратит красный в синий. Эта виртуальная картинка не имеет ничего общего ни с реальностью здорового человека, ни с реальностью дальтоника.

Все "софтовые фильтры для дальтоников" производят вырвиглазную хрень. Фильтры не для того, чтобы фоточки смотреть (человек почти всегда предпочтёт видеть на фотках примерно то же самое, что и в реальности, даже если картинка "неправильная"), а чтобы в контенте, который скрывает информацию в кривой неоптимизированной для дальтоников графике (например, диаграммы, где единственное кодирование 50 столбцов — цвет), дальтоники могли бы хоть что-то разобрать.

Насколько я понял, iPhone выкручивает насыщенность, поэтому любители цветастости выбирают его. А вот Note наоборот обычно производит что-то реалистичное.

Ну я первый пункт с айфоном кликнул, потому что собирался прокликать все спойлеры. Кто ж знал, что это голосование...

да и то это вопросы к приложениям, а не к системе

К кому вопросы — дело десятое. Есть проблемы, и их надо решить. Заставить всех производителей софта писать правильные инсталяторы — ненаучная фантастика.


насовали туда тонну нафиг не сдавшихся метроприложений, которые невозможно ни удалить из системы (без хаков, а некоторые даже с хаками)

Список неудаляемого заметно уменьшился со времён релиза. Так или иначе, размер этого мусора минимальный, просто убрать плитки всегда было достаточно. (Не знаю, где ещё вы их там видите, я этим режимом меню не пользуюсь.)


Вас же не смущает, что в System32 лежит 331 исполняемый файл, и большинство из них вам не нужны.

Классический шелл работает, пока у вас количество программ не превышает пары десятков. Дальше начинаются проблемы: одни программы лезут в корень, другие не спрашивают, куда класть пункты, третьи "восстаналивают" иконки при каждом обновлении, четвёртые ещё какую-нибудь муть творят. Если меню длинное, то поиск нужного становится сложным. В районе висты меню убили, сделав его маленьким окошечком с прокруткой вместо многостолбцового меню из хрюшки.


Я пытался поддерживать это меню в чистоте и порядке долгие годы, ещё начиная с Win9x. Это невозможно. Главное меню страшно засирается. Единственный способ иметь хоть какой-то порядок — это создать своё отдельное меню в корне и раскладывать иконки там. Но даже это превращается в мучение при обновлении и удалении программ: остаются битые ярлыки, всё ломается.


Так что то, что меня "заставляют" делать в восьмёрке/десятке, я уже делал долгие и долгие годы.


Пожалуй, это меню не соответствует моим представлениям о прекрасном. Я бы предпочёл, чтобы плиткам можно было установить размер 0.5x2 с иконками слева и полными надписями, и тогда оно было бы больше похоже на классику. Однако то, что есть, меня вполне устраивает. Более того, нет ничего лучше, что отвечает моим требованиям.


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

У рабочего стола куча проблем:


  1. Чтобы увидеть рабочий стол, надо свернуть окна. Некоторые приложения при этом меняют состояние (сворачиваются в трей, например), что боль. Разворачивание порождает анимации, что тоже боль.
  2. Расположение иконок держится на честном слове. Много раз эти данные терялись. Да что говорить — одинокая корзина у меня до сих пор вечно забывает позицию.
  3. Нет возможности разместить надписи рядом с группами иконок. Промежутки между дырками должны составлять целый ряд (а иконки без автовыравнивания ещё хуже).
  4. Папки с иконками требуют сложного взаимодействия и медленно работают (двойной щелчёк, потом ждём загрузки проводника). После запуска программы папки не закрываются сами.
  5. Если включить отображение скрытых файлов в проводнике, то на рабочем столе возникает два файла desktop.ini, которые пересоздаются системой, то есть избавиться от них невозможно.
  6. Куча приложений пытается запихать на рабочий стол свой мусор без спроса и "восстаналивает" при обновлениях.
  7. Иконки не могут отображать динамическую информацию.

Нет. Меню из десятки однозначно лучше.

Ну вот предствьте себе — есть у меня приложение с нативным кодом (а большинство топовых приложений содержали нативный код — даже AngryBirds или какой-нибудь Facebook). Куда мне его засовывать в вашем Замарине?

Крупным разрабам и производителям железа мелкомягкие раздавали нативный SDK для WP7. Проблема решаемая.


Всё у вас «вопрос времени». А у разработчиков, увы и ах — не так.

Но обсуждаем-то мы не "удобно ли писать под блейзор сейчас", а "правильный ли подход избрал блейзор". Для первого мы смотрим реализованные фичи, для второго — роадмап.


Когда флексбоксы добавляли в CSS, вы тоже возмущались: "Смотрите, реализовано во всех браузерах по-разному, стандарты меняются, пользоваться невозможно, за этой технологией нет будущего, все пользующиеся ей — идиоты"?


Нет у Apple мыла — и вы это прекрасно знаете. Потому что «ретина» имеет ровно вдвое больше DPI, чем «старые» модели.

Да-да, если растянуть бикубиком на степени двойки, то чёткость сразу вырастает.


google://apple+retina+blurry


UWP просто не нужен.

Если автономный AR взлетит, то нужен. Это не плохая технология, просто у неё ниши слегка сдохли.


Основные приложения на мобилках — это игры

То есть виндофон теперь уже из-за игр провалился, а не из-за плиток? Показания расходятся.

«Вовсю писали» — это кто? И что?

Мне надоело вам доказывать, что есть люди, которые пользуются дотнетом. Это курам на смех. Мы обсуждаем один из самых мейнстримных языков на всей планете. Конкретно Xamarin — изначально коммерческая разработка, компания существовала много лет, продавала сервис за деньги. Если бы у неё было ноль клиентов, она бы не существовала.


Ваше "я не видел, значит, оно не существует" имело бы вес, если бы вы реально были в курсе дел. А вы умудряетесь не видеть дотнет — пятый (или какой там) пункт в TIOBE. Это помножает вес вашего мнения на ноль.


Я не буду искать статистику приложений, использующих замарин. Сами загуглите. А мне надоело.


Бороться с людьми, которые это делают — это, фактически, убивать C# никак не помогая продвижению Windows: если кто-то перейдёт к Windows-центричного C# на свободный C++ или, тем более, Java, привлекательность Windows только уменьшится.

Какой шарп "Windows-центричный", если мы обсуждаем кросс-платформенную разработку для ведроида и огрызков? Вам не надоело "оскорблять"?


И, тем не менее, программ, которые изначально писались не под Windows — достаточно… Final Cut Pro и GIMP, Safari и Pidgin…

И что? Предлагаете делать выборку среди статистической погрешности? Опнен-сорсные подделки коммерческих программ типа GIMP я вообще рассматривать не собираюсь. Ещё скажите, что игры надо только невиндовые рассматривать, и приведите в пример OpenTTD как эталон открытой игры.


К слову, Pidgin, судя по дате последнего релиза, усё. В отличие миранды на богомерзкой винде.


Собственно только наличие таких приложений могло бы доказать, что C# — это не просто «язык для Windows» (как Swift — язык для MacOS/iOS/iPadOS), а что-то большее.

Не уловил. Язык становится кросс-платформенным тогда и только тогда, когда на нём пишут НЕ кросс-платформенные приложения для НЕ винды? Лолшто?


А вот представьте что было бы, если бы попробовали. Разработчики бы отказались от поддержки PlayStation, Wii и, позже, Android и iOS? Да скорее Windows и XBox лишились бы поддержки!

Зачем ломать поддержку сразу всех конкурентов? Ломаешь ведроид — ведроид вылетает, потому что iOS+PC+Console собирают на порядок больше.


И что ж такое на C# пишется под Web?

Сайты. См. статистику. Она доступна на разных сайтах, её по-разному считают. Везде дотнет второй после похапэ.


Если уж смотреть кто откуда кого выдавил — так это скорее JavaScript выдавил и C# и C++ и Java.

На серверах что ли? Ваша теория не соответствует статистике.


А что — негуёвых приложений больше в природе нет?

При чем здесь есть или нет? Я хочу универсальный язык, на котором можно писать всё.


Тот факт, что предложений работы для разработчиков на Python, чем для разработчиков на C#… скорее говорит об обратном…

Вы ещё статистику по JS или Bash посмотрите. Питон часто идёт в довесок в форме "а ещё неплохо бы знать питон, у нас на нём скриптики" или "будете ковырять данные, любой язык из списка подходит". Точно так же жабоскоипт идёт абсолютно ко всей веб-разработке, даже если сидишь на бэкенде.


Шарп же как скриптовый язык обычно не используется, поэтому идёт не довеском, а основой. Котлин, кстати, тоже можете посмотреть, раз уж фаллометрией занялись.


В соотвествии с этой ссылкой Python вдвое менее популярен, чем Ruby, а JavaScript вдвое менее популярен чем Scala. Вы сами-то в это верите или в стремлении натянуть сову на глобус забыли проверить данные на хоть какую-нибудь осмысленность?

Это реальный мир. А в реальном мире рулит легаси (половина веба — вордпресс). Да, питон в вебе никому нафиг не впёрся статистически. Суровая правда жизни.


У руби был хайп, он породил много сайтов. Что руби = рельсы — и благословение, и проклятие. Питон более универсален, волны хайпа не было.


Нода — самая молодая, ещё не успела насобирать легаси.


Но кто вам сказал, что если бы разработчики от Microsoft участовали бы в процесс — они не смогли бы настоять на другом подходе?

Лол. google://project+valhalla. Разрабы и джавы, и котлина, и прочих просят и дженерики, и всё остальное уже целую вечность. А воз и ныне там.


И каждый раз это приводило к тому, что часть разработчиков уходила…

Кто уходил при переходе с .NET 1 на .NET 2? Теперь вы уже просто фантазируете.


в результате когда они потребовались для Windows Phone 7 их, в достаточном количестве, уже не было.

Разрабов на дотнете не было в 2010-м году? Лолшто? Хватит фантазировать.


И да, TIOBE, может быть, и не на 100% объективен, но, по крайней мере, там Scale не оказывается вдвое популярнее, чем JavaScript.

Да, зато там VB.NET в топе и обходит JS, а TS за бортом. Очень правдоподобно.


Вы поймите: меряться упоминаниями в гугле бессмысленно, имеют значение размер сообщества (например, ответы на SO), возможность заработать (например, вакансии на HH), реальное использование (например, статистика на w3tech), разнообразие платформ (вручную смотреть каждую технологию). Любое же число по отдельности бессмысленно.


Вы утверждали, что дотнет никто не использует. Я вам привёл статистику использования. Вы же мне возражаете статистикой гугления. Логика, ты где?


Вся стратегия была прекрасно описана во всем известной статье.

Здесь надо отметить, что "всем известная статья" — это всем известный треш. Там в комментариях разобрали. Ну и можете сами перечитать, там много бреда.


Ну или покажите мне любое место, где вакансий безэндеров со знаением Scala было бы вдвое больше, чем со знанием JavaScript…

Теперь на статистику использования вы возражаете статистикой вакансий. Похапэ так много не потому, что программистов похапэ больше, чем остальных, в десять раз, а потому что этот язык был первым мейнстримным для веба, поэтому на нём написана тьма движков, в том числе используемых без программистов, в том числе вордпресса для бложиков (впрочем, не только для бложиков, но это уже другая история).


Какие-то технологии рулят для больших сайтов, какие-то — для мелких. Использование не находится в линейной зависимости от вакансий, потому что факторов тьма тьмущая.


Unity3D — это постоянная головная боль на всех платформах, кроме Windows. Особенно на Android. Два GC в одном процессе — это жуть.

ОК, вам не нравится. А остальные пользуются. Очень часто. И я об этом, а не о вашем личном отношении.

Вы мне тот анекдот напоминаете

То есть два компьютера вы себе позволить можете, а один монитор с высоким DPI — уже многовато? Ну ладно, понимаю, удовольствие не для каждого.

Знаете, лучшие специалисты высказались уже тогда.

Сколько было несогласных, столько было согласных. Просто про них статьи не пишут, потому что они не новость.

Там нет поддержки нативных приложений — а это ставит крест на кросс-платформенной разрботке. Потому, собственно, и приложений под неё так мало было.

Замарин отлично поддерживал все три платформы. Только на виндофон всем было покласть до такой степени, что даже скомпилировать под другую ось было лень. Ну и Гугл палки в колёса вставлял (см. историю с приложением для тытрубы).


Фактически платформу Windows Phone можно считать чем-то серьёзным только с Windows Phone 8 — а это 2012й год.

Это что-то в духе "виста была говном, семёрка рулит", "восьмёрка была говном, десятка рулит". Ну нет же. "Правильные" и "неправильные" версии отличались минимально, восприятие менялось из-за внешних факторов в основном.


Это вряд ли. Пока у JS есть прямой доступ к DOM, а у всех других языков — опосредованный и неудобный, смысла в этом никакого.

Биндинги к хосту — одна из ключевых планируемых фич. Рядом с GC, исключениями и потоками. Вопрос времени.


А вы никогда не задумывались над тем, почему в EEE три буквы E, а не одна?

Ну то есть ЕЕЕ в истории МС был. ОК, ЧИТД, идём дальше.


Ну и кто в этом виноват? Почему Apple может выпустить MacOS с HiDPI не заставляя всех разработчиков всё одномоментно переписывать, а Microsoft не может?

Apple, как и MS, может превратить все приложения в мыло по умолчанию (растягиванием картинок), а нормальное масштабирование заставить программировать вручную. Обе компании это и сделали, собственно. macOS, кстати, умеет в per monitor DPI? Что-то не гуглится.


Никто так не делает. Даже Apple. Уже много лет прошло — а установка приложений из MacStore по прежнему является опциональной.

Я вообще про мобилки говорил, там везде огороженные маркеты. Выгодно выделяются только рутованные ведроиды.


Ну и таки можно на десктопе. Надо флажок разраба поставить. И для энтерпрайза там что-то есть с корпоративным маркетом, если память не изменяет. Просто этот UWP нафиг никому не нужен по большому счёту, а если кто-то идёт в UWP, то ради маркета. Так-то проблема решаемая.


И если новое «мегаклассное» средство разработки требует, чтобы все мои пользователи обновили систему — то оно идёт… нет, всё-таки не в жопу, а предбанник.

Всё верно. Если кто-то сидит на семёрке, то для него фишки UWP неактуальны, и смысла писать на UWP нет. Если кто-то использует винду не на десктопе, то у него уже не семёрка, и от UWP появляется профит. Всё логично и рационально.


Не, адепты мелкомягкой религии продвигали UWP как замену всему и вся, но это враньё было всем очевидно. Не надо переходить на новую технологию от мелкомягких только потому, что они её выпустили вчера и принялись рекламировать.


Это в будущем… а программы мне предлагают переписывать уже сегодня.

Кто предлагает? Десктоп никто не отменил и не собирается отменять. Его наоборот в маркет теперь можно положить, вроде.


UWP оптимален для ширпотребного треша. Для всего остального есть десктоп.


Конкретно для мобилок UWP был оптимален, потому что там все приложения — ширпотребный треш, а все десктопные приложения всё равно пришлось бы переписывать. Ну и чисто технически десктопные приложения жрали бы батарею. На WP7 с этим было жёстко.

А это тот же вариант, что и «свой язык чиста для Windows».

Между "оно будет поддерживать меня" и "оно будет поддерживать только меня" есть небольшая разница, но всё-таки есть.


Правильно — только и исключительно с виндой. Ни с Linux, ни с AIX, ни с чем-либо ещё «это» не работало.

Ну а в шарпе работало (сначала в сторонних реализациях, позже официально).


Хоть кто-то что-то на основе Mono и/или Xamarin'а когда-либо сделал, что могло бы повредить хоть одному продукту Microsoft?

На замарине вовсю писали софт для платформ-конкурентов. Что ж его не задушили? Юнити используется для кросс-платформенных игр, а кросс-платформа, как мы знаем, зло. Отчего его не задушили? Моно включал ADO.NET, что позволяло писать на дотнете для серверов-конкурентов. Почему его не задушили? (Альтернативный ADO.NET особенно, учитывая что это API не покрывалось обещаниями.)


Я вас уверяю: если бы какой-нибудь Android был основан на Mono — уж тут бы Microsoft своего не упустил. Они и без это попробовали уцепиться…

Зная МС, я бы скорее поверил, что МС изначально выставил цену.


Где? Кому? Хоть один проект, где он используется не потому что изначально люди в Windows целились, а потом увязли, назвать можете?

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


То там есть Java, C++ и Python. C# не нужен. Сахара если хотите — Kotlin есть.

Java развивается очень медленно и не содержит и жалкой толики того, что есть в шарпе. Сравнивать платформы — можно, сравнивать языки — бессмысленно, джава сливает всухую.


C++ слишком сложен. На нём очень медленно писать качественный софт, который не падает от любого чиха. Да, если нужно что-то оптимизировать до последнего байта, то C и C++ вне конкуренции. Однако для 90% софта в мире победившей копроэкономики C# однозначно выигрывает. Суровая статистика: шарп выдавил плюсы из десктопа и веба (если плюсы там вообще были) основательно и бесповоротно.


Python имеет утиную типизацию, в энтерпрайзе это считается не круто. Сфера применения меньше, чем у шарпа (сколько вы знаете гуёвых приложений на питоне?). Популярные реализации имеют кучу проблем, не говоря уж о вечной подвешенности между 2 и 3 версией. В пересчёте на функциональность тоже шарпу безоговорочно сливает.


Kotlin — да, конкурент. Но очень молодой: на протяжении 90% жизни шарпа его не существовало, на рынке представлен весьма ограниченно. То есть круто, но пока не совсем (совсем не) мейнстрим. Ну и привязан к JVM, где то сих пор нет нормального гуя, нет DLR, нет некоторых фич шарпа (unsafe code, pattern matching, async streams), и выползают всякие нюансы совместимости. Там есть давно обещанные, но так и не реализованные в шарпе синтаксические фичи, но некоторых реально важных вещей нет. На данный момент шарп объективно круче. Впрочем, если бы я хотел писать для JVM, я бы выбрал котлин.


C# — это язык строго и исключительно для Windows. Как бы вам ни хотелось чего-то другого…

Почему вы используете это как оскорбление? "Ваш пирог нельзя есть в безвоздушном пространстве." Вопрос не в оси, вопрос в использовании.


А с использованием всё в порядке: https://w3techs.com/technologies/overview/programming_language — "дотнет только для винды" утирает нос всем, кроме вездесущего похапэ.


Ещё раз: если бы они не хотели привязть язык к платформе — они вполне могли бы сделать всё поверх JVM.

Ну не могли же. Разработчики JVM рогами упёрлись и сделали type erasure. Посмотрите на костыли и мытарства котлина вокруг reified generics. Unsafe code нереализуем. Value types нереализуемы. Шарп ломал рантайм несколько раз: JVM>NET1, NET1>NET2, NET4>Core и далее. Java в это время сидела на одном рантайме с идеальной обратной совместимостью и экспоненциально размножающимся говном в стандартной библиотеке из-за этого.


Скоро там в жабе value types родят? Сколько лет Project Valhalla? Ну где оно? Лямбды в жабу добавили после крестов — это вообще курам на смех. Как с такими тормозами можно куда-то двигаться?


Почему это не умер? Умер. Windows Phone умер, Windows IoT, фактически, умер, Windows HPC забыт…

Я ваш посыл не уловил. Изначально у вас была связь: "шарп в опенсорс => смерть". А теперь всё задом наперёд, и HPC сбоку прилеплен.


теперь, когда «все полимеры просраны» — можно и выложить, благо это мало кого, кто не пишет для Windows, интересует.

То есть просс-платформенный Unity3D, на котором пишется тьма тьмущая игр — это статистическая погрешность? Топовая платформа для веба после PHP — это померещилось?


продвинуть Windows куда-нибудь ещё… так и не удалось

Ну слушайте, это уже фантазии. https://w3techs.com/technologies/overview/operating_system

Виноваты как раз именно «плитки». Ну или неумение читать.

Знал бы прикуп, жил бы в Сочи. Очень удобно постфактум учить лучших специалистов в области.


Когда всю эту возню с «общим интерфейсом для десктопа и телефона» затевали… нельзя было сказать — когда она будет готова… в каком году.

Ну то есть надо было заниматься копроэкономикой. История это подтвердила, всё правильно, да.

Ваш вопрос имел бы смысл в некоем гипотетическом мире где Microsoft одновременно хочет иметь «свой язык чиста для Windows» (иначе бы не было ни истории с J++, ни C#) и не хочет его иметь тоже (потому что только в этом случае его имеет смысл открывать).

А где вариант "хочу язык и рантайм, которые делают то, что надо мне"? Они ж в J++ первым делом запили человеческий интероп с виндой. С Mono они тоже вообще не воевали, даже "обещание сообществу" дали, хотя проект явно шёл против идеи "чиста для винды". И Xamarin не задушили, хотя казалось бы.


Вот, на Apple посмотрите: и Objective C и Swift — формально открыты… но вне экосистемы Apple их же всё равно не использует никто из-за абсолютной бессмысленности.

ИМХО, свифтом пользовались бы больше, если бы он не был костылём с подпорками. В нём куча решений построена не вокруг "так правильно", а вокруг "потому что так в обжси". В языке нет абсолютно ничего нового, это просто фиговина, чтобы для яблок можно было писать на чём-то, что напоминает нормальный язык.


Шарп же интересен сам по себе. Если посмотреть на мейнстрим, то это один из лучших языков общего назначения: строгая типизация, динамическая типизация, тонны сахара, асинхронность, функциональщина, низкоуровневость по необходимости, операторы, события, спасение от null. Для идеалистов ещё F# есть — ФП для людей, а не для математиков.


Шарп не смог бы использоваться как способ привязать к платформе (успешность этого предприятия под вопросом), но вот что он был бы популярен — бесспорно.


А открыть все промежуточные библиотеки и погубить всю компанию, в результате… ну это только Sun мог сделать, в Microsoft таких дураков не было и нет.

Дык мелкомягкие по сути и открыли в конце концов и язык, и рантайм, и библиотеки. Вон, даже WPF по-нормальному в опен-сорс вываливают. Никто не умер.


Это не «выяснилось», это «ситуация изменилась».

Когда в гугле выбирали жабу для андроида, она подавалась как опенсорсная и доступная со всех сторон (в то время как шарп был закрытым, и были опасения, что МС может передумать), так что попытка оракла объявить API своим — это именно "выяснилось". При смене владельца джава не должна была стать закрытой.


Вот только тогда, когда Microsoft потерпел поражение, когда Баллмера выперли и поставили Сатью — зашла речь о том, что Microsoft можно доверять.

Тем не менее, куча продуктов из МС заопенсорсилось и закроссплатформилось, а на десктопах винда как доминировала, так и доминирует. То есть привязка того же шарпа к винде нафиг не нужна для продвижения винды. Скорее наоборот винда продвигает шарп.


Но альтернатива была «довериться Microsoft и получить проблемы вот прям щаз» (сколько там фирм поимели проблемы, доверившись Microsoft? начиная с IBM и кончая Nokia?)

Вы из тех, кто верит в теорию заговора, что Нокию разрушили специально для того, чтобы продать МС?


И что там с IBM?

Да. Apple.

Ну, собственно, да. Так вот и делимся на любителей огрызков, форточек и пингвинов в соответствии с приоритетами. Кому что важнее.


Насчёт позже — это непонятно. Wikipedia утверждает, что «работа над обновлённой версией Windows Phone началась в 2004 под кодовым именем „Photon“»…

Лол, ну вы до конца цитируйте что ли: "Work on a major Windows Mobile update may have begun as early as 2004 under the codename "Photon", but work moved slowly and the project was ultimately cancelled." Новую же ось они начали писать в 2008-м, планировали закончить в 2009-м, выпустили в 2010-м. То есть они реально очень аккуратно попали в критический момент в истории. Я так понимаю, Фотон был отменён как раз из-за осознания провала стилусов.


А насчёт того, чтобы сделать качественно… не вы ли вот буквально чуть выше пели песни про то как хорошо, когда «в ворде не пойми что из ночной сборки на промежутке между версиями осей»?

Много лет прошло, МС вырос. Ну и по качеству к WP7 у меня претензий нет.


А уж если вы делаете свой язык, специально заточенный на то, чтобы привязать всех к своей платформе, то как бы несколько глупо отдавать его в Open Source и вообще давать возможность его использовать другими.

Глупо или не глупо — зависит от ситуации и точки зрения. В итоге-то замарин использовался для чего угодно, кроме виндофона, а портирование винформ на линуксы ничего не поменяло.


Blazor это Silverlight². Успех у этого начинания будет, я думаю, сравним…

Сервелат — плагин, и умер вместе с флэшем, потому что умерли плагины в принципе (ну как, были убиты яблочниками). Блейзор работает нативно. Он является абсолютно закономерным следствием WASM, а не идёт против течения с полной заменой стека. Не выстрелит он — появится что-то другое. WASM приведёт к тому, что писать будут не только на JS. Блейзор — просто один из вариантов. Скоро аналогов с другими языками будет великое множество. Очень многие мечтают забыть про JS как про страшный сон.


Извините — но он никогда не мог этого сказать.

То есть EEE всем приснился, и надо вертать штрафы взад? Ой МС-то обрадуется! =)


Не пользовался и не собираюсть… и в этом-то и проблема: я не один такой.

"Не читал, но осуждаю." Ну ОК.


Да, я тоже плевался и на плитки, и на рибоны, и на темы, и на UAC, и на прочую "ересь". А потом начинал пользоваться и понимал, что я неправ.


Какая именно идея?

Активных плиток. Гуй стартового экрана в целом. Этот аспект конкретно на таче в режиме потребления актуален, на десктопе сложнее оценить достоинства.


Новый UI, в которым невозможно использовать старые, проверенные временем контролы

Старые контролы не подходили. WinForms не поддерживает полноценно DPI до сих пор.


Новый формат исполняемых файлов, с которыми нужно работать не так, как со всем, что было до того.

На мобилках с исполняемыми файлами вообще работать не надо.


Невозможность установки «плиточных» приложений откуда-либо, кроме Windows Store.

Все так делают, а МС нельзя? Я вообще не уловилю вашу позицию: то единообразие с закрытой системой, но свободу всему и вся; то поддержка старого десятилетями, то революция каждые полгода — и настроения меняются по желанию левой пятки и фазе луны в зависимости от того, кто обсуждается. Вы определитесь что ли.


Невозможность установки «плиточных» приложений также и на старые платформы

Дык обновите систему, в чём проблема? Цвет не тот?


«Плитки» (как они представлены в Windows Phone 7 и Windows 9) — это резкий, кардинальный, разрыв со «старым, плохим и неправильным» миром.

Конкретно в десктопном Windows 10 плитки — это область, в которую нет программного доступа. Одно это киллер-фича. После всех обновлений (группы, папки, надписи) пользоваться ими очень удобно.


Что они выглядят как-то странно — ну мне ехать, а не шашечки. Классическое меню старт не ехало. Ну, не ехало так, как задумывали авторы. Если стоят десятки приложений, то меню из висты/семёрки — это худшее, что было за всю историю форточек.


Ну и кому всё это нужно, если вы всё равно можете выпускать программы только под Desktop, где и старые программы отлично работают?

Не понял вопроса. Оно нужно тем, кто пользуется Windows 10 не на десктопах. При чём здесь то, кто что выпускает под десктоп?


Не 100%, но где-то так 90%.

А кто только что требовал смотреть в будущее? А в будущем High DPI, AR, VR и прочее.


А все другие рынки — были потеряны. Именно вследствие «резкого разрыва с прошлым».

Как я повторяю про свою альтернативную историю шарпа, так и вы повторяете про свою альтернативную историю мобилок. На "совместимые" системы точно так же никто не переходит. Что было несовместимого в висте? Какие были разрывы? Кроме того, что кривой ископаемый софт на висте падал, никаких проблем у неё не было. Никто не переходит, потому что лень и нет необходимости. "Всё и так работает, зачем мучаться?" Если обыватели на что-то и переходят, то потому что их заставляют. Например, новый DirectX не поддерживается или ещё что-нибудь — и вот уже все на новой винде, и плевать на "разрывы", которые лечатся за час ковыряния.


Я вот предкам винду обновлял, учил пользоваться. Знаете, что было самым большим разрывом? Браузер. Они на всех осях съедают заголовок и становятся источником дополнительных "программ" в контейнере. Главное меню же ничего не рвёт (ну, кроме идиотизма со скрытием пуска в первой версии восьмёрки, может быть — это был радикальный эксперимент).

Ведь Java не умерла после того, как C# появился…

Я о том, что если бы дотнет и шарп заопенсорсили с самого начала, а не выкидывали огрызки в недоопенсорс (собственно, именно с этого "если" ветка и начиналась), то жаба не доминировала бы как сейчас. В кучу мест от ведроидов до холодильников она пролезла как "ну открыто же", в то время как шарп заворачивали с "МС, конечно, обещали, но кто ж их знает окаянных". И это опосля уже выяснилось, что всё с точностью до наоборот: оракл захочет нагибать за использование API, а мелкомягкие заопенсорсятся и поддержат альтернативы всех сортов. Ну вот кто ж знал, что всё задом наперёд выйдет.


C# смог уйти от Java так далеко, быстро и сильно — именно потому, что произошёл «развод» и Microsoft получил полный контроль над C#.

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

Можно хотя бы одного цвета сравнение?

У вас есть зависшая игра. она рисуется поверх всех окон. Вот вы вызвали диспетчер, но он рисуется снизу зависшего окна и не появляется.

А разве системную модальность не запретили ещё в допотопные времена? (То есть сейчас можно, но надо отдельно обозначить в манифесте, подписать и прочее — явно не про старые игры.)


Я помню, как в таск менеджере выполнял удаление процесса "на ощупь", и как меня доставали "несворачиваемые" игры, но это было довольно давно. Может, я забыл про подобные проблемы из-за второго монитора, не знаю. Или старые игры перестал запускать...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity