Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Неожиданные изменения в экосистеме .NET

3 комментария

Думаю многие из вас смотрели вчерашний Connect(); — там Microsoft в очередной раз показывали что происходит в плане технологий и инструментария для разработки. Но мало кто ожидал что .NET (конечно не весь, а только некое «ядро») будет выпущен в опенсорс, да еще с гарантией отказа от судебного преследования.

На текущий момент у нас, правда, уже много всего в Open Source, включая языки C#/F#/VB.NET, ASP.NET а также (удивительно) Entity Framework, не говоря о более мелких проектах вроде MEF. Так вот, теперь о ядро дотнета, включая такие сакральные вещи как GC (сборщик мусора, чей алгоритм держался в строжайшем секрете) теперь тоже идут на GitHub (да-да, не на CodePlex а туда, где реально сидят разработчики).

.NET Core

Вот что уже было выложено на GitHub:

  • Immutable Collections — те самые немутабельные коллекции о которых я писал.

  • SIMD — т.е. поддержка длинных регистров которые используются для SSE/AVX. Что ж, хорошо! Пока что доступ к SIMD возможен только через С++, правда основная головная боль по использованию SIMD уже ушла благодаря умным компиляторам. Писать assembler или использовать intrinsics нужно только в очень крайних случаях.

  • AssemblyMetadataReader — всякие там CustomAttribute и иже с ним. Странно как-то отделять это от всего остального, ну да ладно.

  • XDocument и XmlDocument — ну то есть поддержка Xml и в частности моего любимого (хоть и бажного, увы) System.Xml.Linq.

Одна из идей всего этого – нечто под названием Core CLR, т.е. возможность шипить некое ядро CLR вместе с вашей собственной программой. Это даст некую отвязку от ситуации когда ваше ПО не поставить, не выкачав предварительно из интернета еще 100Мб файлов .NET Framework 4 (по собственному опыту). И да, урезанная версия .NET Framework проблему эту не решила, увы.

Visual Studio Community

Основная пробема была и есть что VS бесплатной редакции не дает шипить ПО и не дает ставить плагины. Проехали! Теперь VS Community – новая редакция, которая

  • Поддерживает расширения

  • Позволяет распостранять ПО в коммерческих целях

Единственный нюанс – эта штука имеет ограничения по размеру компании. То есть это как бы для «небольшого бизнеса». На самом деле, все немного туманно:

In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

Понятие «enterprise» еще нужно объяснить, но по крайней мере любая команда из 5 человек может смело брать и использовать, и при этом поставить на студии ReSharper без каких-либо проблем.

ASP.NET vNext

Дино Эспозито обещал на киноуте .NEXT как раз и рассказать поподробнее про ASP.NET vNext, но тот факт что эта технология теперь едет и на Linux/OSX — это серьезно. У меня, например, все сайты используют ASP.NET (большинство – MVC, но один старый сайт 2003 года все еще на WebForms), и мне развитие ASP.NET только на руку – я вряд ли буду изучать такие вещи как Node/Ruby/PHP/whatever.

С другой стороны, я признаю что все классные фреймворки где-то за пределами .NET области: я про WordPress по сравнению с Orchard, например. Мне разработчики написали, что Orchard не будет работать с моим IIS 6 (да, у меня старый IIS, и что?), а мои попытки использовать .NETные блогодвижки, в т.ч. всякий адъ вроде N2… не, ну хорошо что такие фреймворки есть, но я честно, не фанат.

Что меня радует так то, что скорее всего мы увидим C# Native на не-Windows системах. А вот это уже интересно, т.к. нужно оно не только для вебного быстродействия, но и для того чтобы в некоторых случаях можно было не страдать с С++ (хотя я уже практически привык).

C++

Да, над С++ тоже поработали (что неудивительно), добавив помимо всего прочего поддержку мобильной разработки на С++ (не забываем, что теперь и Microsoft производит Android-телефоны, если что), ну и конечно же некоторые подвижки в плане C++11/14/17, такие как generic лямбды, await, и много всего другого.

Заключение

Не знаю насчет C++, а вот за .NET беспокоиться не стоит. Такая демократизация на руку всем, и я доволен что >10 лет назад я выбрал направление, которое пока и не думает умирать.

Если вас впечатляют эти подвижки и хочется «проникнуться» средой .NET, то все просто: приходите на .NEXT 8 декабря. Это большая .NET конфа в Москве. Там буду я, коллеги из комманды ReSharper, многие известные эксперты (в т.ч. много людей из «топа» .NET-секции Хабра), и много .NET разработчиков. До встречи!

Реклама

Written by Dmitri

13 ноября 2014 в 12:30

Опубликовано в .NET

комментария 3

Subscribe to comments with RSS.

  1. Изменения крутые! По инструментарию даже Java 8 со стримами и лямбдами не догоняла .Net.
    Мне лично в Java 7 ой как не хватает того, к чему за 9 лет привык в .Net. Чего уж вспоминать о generics и Type erasing…(Хотя мощь комьюнити Java никто не отменял, да и в 9-ке заявлено много нужных вещей, те же value types).
    В общем, с открытием кода ядра и сопуствующих вещей станет проще понимать и писать вещи связанные Memory & Performance.
    Остаётся, конечно, большой пласт фрэймворков и решений, которых не хватает .Net c тем же high load & distribution computation: Twitter Storm, Hadoop, zookeeper, bigmemory, docker.io. Хотя c тем же docker уже есть попытки запилить на Azure Linux virtual machine используя Azure’s Virtual Machine Extensions.

    В общем, новости, позитивные и тенденция радует.

    Borodkin Alelsey

    14 ноября 2014 at 14:50

  2. А сейчас в preview-версии можно уже что-то собрать для Linux/OSX без моно?

    Andrey Demonov

    16 ноября 2014 at 18:06

    • Говорят что можно, но я бы не надеялся на полную работоспособность. Системе нужно устояться. А я пока тыкаю Xamarin.

      Dmitri

      21 ноября 2014 at 19:47


Оставить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: