• +1
    я вообще не понимаю как этот DI работает

    Настоятельно рекомендуется к прочтению Dependency Injection in .NET (на русском )

    Вышла первая версия SignalR для ASP.Net Core 2.0
  • 0

    Внутренний API линуксового ядра вполне намеренно и осознанно сделан нестабильным, чтобы не тормозить его развитие. Так что о стабильном ABI драйверов мечтать не приходится. Совместимость API/ABI с юзерспейсом держат на уровне и на том спасибо, осталось либописателей и дистрибутивостроителей вылечить, тогда можно будет использовать это счастье как целевую платформу.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0

    Есть технология Optimus, которая корректно работает на Windows и OSX, где nVidia никто не заставляет никому показать исходники, потому что боженькаСтоллман так хочет.
    Есть конкретная группа людей, которые по религиозным соображениям не дают её реализовать для Linux.
    Есть другая группа людей, которые страдают из-за первой.
    Есть третья группа, которая ни ко вторым, ни к первым отношения не имеет, зато имеет мнение о том, как правильно, и рассказывает в комметариях на хабре про машины и автомобили.


    Первые достойны уважения хотя бы за то, что делают ядро. Вторые достойны права не любить первых ввиду доставленных неудобств. Третьи… третьи достойны разве что порицания.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +1

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

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +2

    В итоге мы уже десять лет мучаемся костылями в виде Bumblebee. А я на своём ноуте не могу нормально подключить монитор через HDMI.


    Но вы занимайтесь, занимайтесь популяризацией. Вместо решения проблем, которые осознанно и злонамеренно никто не собирается решать.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0
    это уже не совсем пользовательский софт

    Ну вот пишу я эмулятор терминала с котиками на фоне и 3D-эффектами. Если я его запакую во flatpak, он станет абсолютно бесполезен. Вообще любой софт, который рассчитывает на возможность запустить консольную утилиту по имени во flatpak упаковывать нельзя. И сделано это специально. Почему так — для меня загадка.
    Ну и приложения, использующие GTK/Qt в нём выглядят не нативно, т. к. не видят выбранной темы.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0

    У flatpak'а основная проблема в том, что он помимо решения проблемы упаковки занимается тем, чего от него вообще не просят. А именно — изоляцией. Ребятам захотелось поиграться с контейнерами и cgroups, и теперь всё упакованное в этот ваш flatpak живёт в хитром контексте, который не видит полностью вашу файловую систему. И отключить это никак нельзя. Если попытаться в него запихнуть, скажем, IDE, которой жизненно необходим доступ к установленным в системе тулчейнам, итог, немного предсказуем. Вон, MonoDevelop во флэтпак упаковали, в нём теперь что-то сложнее хэлловорлда невозможно разрабатывать.


    У Snap-а в этом плане хотя бы специальный режим есть.


    Но и они вам не помогут, если люди намеренно отламывают кусок шелла, как это произошло с треем.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0

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

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0

    Фреймворк — частный случай одного из стабильных апи, который по сути даёт базовую функциональность для работы кода на использующих его языках. Его наличие не отменяет API самой платформы, которое должно быть хоть сколько-нибудь стабильным. На линуксе нельзя рассчитывать на то, что у вас в собранном приложении будет через пару лет нормально работать UI, вывод аудио/видео, доступ к криптографическим примитивам и системному хранилищу сертификатов. Это базовые вещи, проблемы с которыми нельзя обойти используя подход "всё своё ношу с собой". Будет стабильность с ними — можно будет хотя бы спокойно делать толстые архивы на полгигабайта, но которые с гарантией везде заведутся. Сейчас этого нельзя сделать.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +2
    Если в конце концов java с swing или javafx

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


    В общем, позицию я вашу понял, можете дальше кричать, что линукс круче всех и надеяться, что от этого на платформу кто-то ещё придёт. Больше 20 лет так безрезультатно делают, может, в этот раз поможет.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • –1

    У nVidia есть хорошо работающий проприетарный драйвер. Ядро пишут последователи церкви пресвятого равноапостольского Столлмана, которые не хотят, чтобы этот работающий проприетарный драйвер обеспечивал поддержку Optimus. Вот и вся история.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +4

    У меня есть продающийся десктопный софт под windows, я понаписал кучу заказного софта под эту платформу и ни разу не испытывал проблем с тем, что "майкрософт всё поломали". У меня был коммерческий десктопный софт под OSX, но ни разу не было проблем из-за того что "эпол всё поломали". Когда я пытался выпускать софт под Linux (причём под 2.5 дистрибутива), у меня буквально через год пошли жалобы вида "после обновления системы ничего не работает", несмотря на то, что написано это всё было на GTK. Через пару лет мы просто отказались от поддержки Linux как платформы.


    И поймите, я такой далеко не один. Пока это не исправят, софта под платформу не будет. А без софта не будет и пользователей. Как-то вот так.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +6

    .NET 1.1 чинится строчкой в манифесте/app.config.


    У андроида есть проблемы фрагментации в плане размеров экранов и кривизны китайских прошивок, там нет проблем вида "ой, мы решили положить все библиотеки в другие места или вообще игнорировать FHS", "ой, а у нас новая версия бинарно не совместима со старой", "ой, мы не будем поставлять ffmpeg, потому что нам рожа автора не нравится, вот вам почти совсем совместимый с ним libav". В андроиде старый софт в большинстве своём невозбранно продолжает работать как положено.


    .NET 4.0+ ставится отдельно и side-by-side с .NET 3.5. Приложения под .NET 3.5 продолжают использовать старую версию.


    Удаление поддержки произвольных ActiveX — общий тренд всех браузеров и является вынужденной мерой для обеспечения безопасности. Вы же не ругаете за это хром и firefox?


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

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0

    Есть. Но тот же трей всё равно сломан, просто потому что его намеренно сломали.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +5

    Хватит натягивать сову на глобус.


    POSIX подсистема никогда не входила в Windows API и никогда не была доступна из win32-приложений.


    API меняется, но в сторону расширения и в сторону "не используйте эту функцию в новом софте, иначе у вас не будут корректно работать новые фичи винды".


    Да, вот только иногда даже минорные версии dot.net могут быть не совместимы между собой

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


    Разве что при переходе на windows 8, но так да, никогда не было

    Что именно убрали в Windows 8? Меню пуск? Как это повлияло на старый софт? Правильно, никак.


    Вам настолько нужна обратная совместимость

    Да, нужна. Без неё я не буду выпускать софт под Linux, иначе его будет слишком дорого поддерживать. Собственно, поэтому софта коммерческого толком никакого и нет.


    у вас всегда есть спека, которая обязана быть реализованной везде

    Расскажите это разработчикам GNOME. Версии 3.16, из которой убрали поддержку трея через XEmbed. И разработчикам убунты, из которой её убрали ещё раньше.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +1

    Попытки были, но потом у Марка закончились деньги на благотворительность.


    С nVidia история такая, что разработчики ядра намеренно вставляют им палки в колёса, не давая сделать нормальную поддержку оптимуса. Погуглите по "nvidia dma-buf gpl-only".

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +4

    На Windows есть достаточно стабильное апи, на которое можно завязываться. Которое kernel32, user32, gdi32, ole32, вот это всё. Оно покрывает 90% задач и не разваливается в руках. Есть менее стабильные части, которые надо доустанавливать отдельно (обычно прилетают через Windows Update, но их на всякий случай кладут в свои установщики) — это различного рода версии .NET Framework, DirectX, сишного рантайма, которые либо полностью обратно совместимы со своими предыдущими версиями, либо живут в системе side-by-side.


    В windows и OSX не бывает ситуаций, когда авторы дистра обновили libssl с 0.9.8 до 1.0.0 и после этого начал крашиться код, который пытается использовать системный libcurl (а если таскать его с собой, заодно придётся поставлять свой набор корневых сертификатов, ибо системные могут лежать в десятке разных мест в зависимости от дистрибутива и его версии). Не было такого, чтобы просто удалили какую подсистему ОС и заявили, что теперь надо всё делать по-другому, как это было со звуком или с системным треем. Не было такого, что чтобы показать иконку в системном лотке приходится ставить плугин к системному шеллу и его перезапускать. Не было такого, что вдруг поменяли полностью графическую подсистему и сказали, что теперь нельзя узнать координаты своего окна и что одного из буферов обмена теперь не будет, ибо "несекурно". Не было такого, чтобы в разных версиях windows шли разные несовместимые между собой версии msvcrt и kernel32 (зоопарк с glibc, ulibc и musl, я смотрю на тебя).


    Steam кое-как решает эти проблемы, поставляя вместе с собой замороженный набор системных библиотек из состава 12-ой убунты. Но вот сейчас опять ломают звук и меняют пульсу на некую систему, которую в девичистве называли Pinos. И не факт, что всё продолжит работать как было. И неизвестно, как всё это поведёт себя работая через прослойку в виде XWayland. Но вопросы обратной совместимости никого не волнуют, это же сложно, не интересно, не модно и молодёжно, и вообще, это же работать надо.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • 0
    Сам не пользовался, но пишут, что уже есть такой под линукс.

    В случае с iOS проблема не с линуксом как с платформой, а с лицензиями на эппловские библиотеки и утилиты. Которые, внезапно, нельзя запускать не на маках.


    Так-то есть maloader, под которым заводится ряд компонент SDK.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +11

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

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +15

    Ну а чего вы хотите, если даже основатель GNOME сбежал на OSX устав от зоопарка и несовместимости?
    Даже если забыть про вечные проблемы с оборудованием, шипение пульсы, несовместимость с проекторами, как человек, пробовавший выпускать под него коммерческий софт могу сказать, что линуксовый десктоп совершенно непригоден в качестве целевой платформы для разработки под него чего-либо из-за отсутствующей обратной совместимости. Рассчитывать нельзя буквально ни на что. Даже необходимый минимум в виде glibc, libfontconfig libX11 и libGL, при наличии которого можно жить в режиме "всё своё ношу с собой", и тот не всегда есть. Остальные либы постоянно ломают от версии к версии, нельзя написать софтину и рассчитывать, что она продолжит устанавливаться и работать через 5 лет. Даже если с либами повезло и они работают или мы накостыляли себе упаковку во flatpak (в который не всякий софт можно паковать из-за отсутствия полноценного доступа к файловой системе), разные хипстеры постоянно что-то ломают в десктопных средах. Так, в GNOME теперь нет системного трея. Вообще ни в каком виде. Объявили ненужным. Заодно объявили "deprecated" GtkStatusIcon, попутно выпилив поддержку оного на Windows и OSX из GTK4. Про звук и этот их новый™ более лучший® дисплейный сервер© вообще молчу.


    Вот как так? На Windows я могу взять установщик программы, собранный в 96-ом году, она установится и будет работать. Играя звук без шипения и показывая иконку в трее. На Linux я не могу этого сделать.


    Пока не починят проблему совместимости дистрибутивов друг с другом и с самими собой, заниматься популяризацией бесполезно. Софта не-для-разработчиков под платформу не будет.

    Директор Linux Foundation использует Mac OS X, анонсируя «год Linux на десктопах»
  • +2

    Там, вроде, более свежие API тоже поддерживаются. Практического применения кроме запуска железа, драйверов к которому под Win7+ в принципе нет, я не вижу, но были случаи, когда реактось запускали на кассовых аппаратах, стало быть, кому-то нужно.

    ReactOS 0.4.6 доступен для загрузки
  • +1

    А вот в Авалонии эту проблему устранили.

    ColumnsGrid для WPF
  • +1

    У меня способ без социальной инженерии есть. Подключаете терминал без 3DS, делаете предавторизации и сразу же их отменяете. Бинарным поиском баланс найдётся где-то с 8-10 попытки.

    Как узнать баланс чужой банковской карты, зная её номер?
  • 0

    Из известных мне сторонних плагинов к студии из живущих в отдельном процессе могу назвать разве что плагин для поддержки языков на основе Nitra.
    У студии нет готового дружелюбного апи для работы в отдельном от неё процессе, отсюда сложности.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +2

    Пока что можно пользоваться связкой из perfcollect и hotspot

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +5

    Причина одна. Новый SDK и интеграция оного со студией ну ооочень сырые. Пока пользуешься только классическими проектами — всё в целом нормально. Пока пользуешься только .NET Core + ASP.NET Core — всё в целом нормально. Стоит сделать шаг в сторону, где это хоть как-то перемешивается, и в этот прекрасный момент, как говорил один персонаж, сама собой откапывается зарытая собака и начинает тебя грызть.


    Плюс они сейчас перешли на новую систему проектов. Которая поддерживает мультитаргетинг, асинхронна и всё такое. Но вот незадача — старое (синхронное) апи, которым пользуются все расширения, теперь начинает тормозить и виснуть. Такая банальная вещь как обход дерева проектов и извлечение списка зависимостей теперь на достаточно большом солюшне занимают вместо 10-20мс 2-3 секунды. Это только то, с чем я столкнулся при разработке расширений.


    Далее. Новый нугет. Поддержка транзитивных зависимостей, ссылки на библиотеки прямо в общем кэше. Только вот медленно это всё очень работает. Особенно если где-то вылезла ошибка. У меня рекорд был, когда это чудо 15 минут зависимости разрешить пыталось, притом что все пакеты уже скачаны и в кэше лежат.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • 0

    Компилятора? В смысле, JITа? Там, емнип, те же самые API наружу выставляются, что и в "большом" CLR. Даже SOS-плагин для отладчиков есть.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +7

    После выхода 2017-ой студии C# разработчики разделились на два лагеря. У одних она каждые 15минут/полчаса/час/день/вставить_нужное зависает/падает/выдаёт_ошибку, а у других такая же нога и не болит.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • 0

    Для них только гуй надо ещё сделать суметь. На Swing/AWT.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • 0

    Xamarin.Android неофициально завели. Ну как неофициально, линуксовые бинарники скачиваются с Xamarin-овского билд-сервера.


    Даже с райдером работает.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +1

    К JB не имею отношения, но вы осознаёте, что кушая кактус монодевелопа за год теряете существенно больше стоимости подписки на райдер?

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +2

    Под линуксом сейчас особо ничего кроме GTK# и нет. Ну и работающего поверх него eto.Forms. Поддержка GTK# в Xamarin.Forms пока в процессе изготовления. Авалония в альфе. На макоси Cocoa, но для неё всё равно надо запускать Xcode, емнип. Так что в условиях отсутствия имеющихся средств на райдер в этом плане рассчитывать несколько странно. Мы у себя в авалонии для райдера плагин, конечно, сделаем, но когда этот светлый момент настанет, предсказывать не берусь.

    JetBrains Rider 2017.1 — первый релиз новой кроссплатформенной .NET IDE
  • +1
    Пайпы? Попрощайтесь с кроссплатформенностью.

    Эмгм. Что у QLocalSocket, что у System.IO.Pipes проблем с кроссплатформенностью не наблюдал. Причём у второго не наблюдал даже во времена Mono 2.6.


    Просьба пояснить, что имелось ввиду.

    JavaScript как мыслевирус
  • +1
    я уже почти собрал движок для изоморфного рендеринга на C#

    https://youtu.be/MiLAE6HMr10?t=1939 — к сведению-

    JavaScript как мыслевирус
  • +2

    В вебассемблю до сих пор потоки не завезли. И возможность использования языков с GC (ну или возможность прикрутить свой GC). Когда будет — не известно. Но они работают над этим™.

    JavaScript как явление
  • +12

    Дефейс хабра 2008-го года поди уже не помнит никто. Или просто не застали.

    Дефейс ask.mcdonalds.ru
  • +1
    Под айос оно весит 70Мб, а UWP — 3Мб.

    Так вы поди на Xamarin его пишете. И в случае с iOS оно внутри себя содержит цельнотянутый Mono-рантайм.

    Почему мобильные приложения занимают все больше места
  • +5
    во времена более примитивного BIOS их столько не было

    Было-было. Просто в момент массового перехода на EFI биосы за два с лишним десятилетия уже успели стабилизироваться, а тут всё переписывать пришлось.

    Как я нашёл баг в процессорах Intel Skylake
  • –1

    Если у меня 30К объектов на игровом поле, как их прикажете обсчитывать?

    Зачем мне твои неизменяемые коллекции? Они же медленные
  • +2

    База данных и пинг HTTP, они асинхронны и процессорное время внутри приложения не кушают. А вот код — вполне себе. Полмиллисекунды здесь, полторы там, всё это внутри часто вызываемой процедурки, а потом сервер полностью жрёт 8-ядерный Xeon на сотне пользователей.

    Зачем мне твои неизменяемые коллекции? Они же медленные