Кстати, объясните простым языком (я не силен в майкрософтовских аббревиатурах и вообще пишу на С++), что это значит, что именно они открыли?
Весь дотнет целиком? Или только какую-то часть?
Можно ли теперь, используя эти исходники, сделать реализацию дотнета и компилятора C# например для линукс (дописав лишь необходимую привязку к низкоуровневым функциям ОС)?
Можно ли, используя эти исходники, реализовать что-нибудь типа "С# без дотнета", а например на LLVM?
Ну и вообще, каковы будут последствия этого открытия? Какая кстати там лицензия?
Здравствуйте, x-code, Вы писали:
XC>Какая кстати там лицензия?
OSI-совместимая лицензия MIT.
XC>Кстати, объясните простым языком (я не силен в майкрософтовских аббревиатурах и вообще пишу на С++), что это значит, что именно они открыли? XC>Весь дотнет целиком? Или только какую-то часть?
На смену .NET Framework выкатывают .NET Core (модульное подмножество вместо привязанного к платформе монолита). В данный момент состоит из двух кусков: .NET Core Libraries (репо corefx, исходники стандартных библиотек на C#) и .NET Core CLR (репо coreclr, исходники рантайма на C++ и C#). Последний включает в себя новый Ryu JIT, GC, etc.
XC>Можно ли теперь, используя эти исходники, сделать реализацию дотнета и компилятора C# например для линукс (дописав лишь необходимую привязку к низкоуровневым функциям ОС)?
Да.
XC>Можно ли, используя эти исходники, реализовать что-нибудь типа "С# без дотнета", а например на LLVM?
Пишут, что у них в планах варианты с AOT-компляцией, .NET Native и тому подобное.
Здравствуйте, x-code, Вы писали:
XC>Кстати, объясните простым языком (я не силен в майкрософтовских аббревиатурах и вообще пишу на С++), что это значит, что именно они открыли?
Фактически то, что будет новым runtime'ом для .NET.
XC>Весь дотнет целиком? Или только какую-то часть?
Это базовая платформа, исходники стандартной библиотеки открыли ранее.
Вещи типа WPF остаются закрытыми.
XC>Можно ли теперь, используя эти исходники, сделать реализацию дотнета и компилятора C# например для линукс (дописав лишь необходимую привязку к низкоуровневым функциям ОС)?
Да. Хотя местами код там сейчас проще пристрелить, чем лечить.
XC>Можно ли, используя эти исходники, реализовать что-нибудь типа "С# без дотнета", а например на LLVM?
Да. Хотя сильно проще от этих исходников оно не станет.
XC>Ну и вообще, каковы будут последствия этого открытия? Какая кстати там лицензия?
MIT — "делай что хочешь".
Здравствуйте, Qbit86, Вы писали:
Q>Пишут, что у них в планах варианты с AOT-компляцией, .NET Native и тому подобное.
Дополню немного.
1. В порядке эксеримента LLVM уже прикручивали. Как я понял, особых проблем с этим нет, в стеке сборки .net native гибкий пайплайн. Вот описание, но почти без подробностей.
2. Для CoreCLR/.NetCore — MIT-лицензия, для компиляторов на рослине (на сегодня — c#, VB, возможно, откроют трнслятор XAML-я) — апач.
3. Официальный роадмап — вот. Если коротко, то на сегодня это урезанный форк полновесного BCL/рантайма + хосты для консольных приложений и для Asp.Net Core.
В ближайшем будущем, .NetCore — это базовый кросплатформенный стек + наборы API под конкретную платформу. Платформа тут — не столько ось, сколько хост: консоль, веб, winrt будут точно, остальное (включая десктоп) пока не анонсировано.
Официальная поддержка:
* winrt — от полноценных компов и до дев-плат типа raspberry pi 2/galileo (для дев-плат возможен хостинг только приложения, без шелла).
* asp.net core — любой owin-хост, готовые хосты под мак, win, возможно, linux (не помню, его анонсировали или нет).
* console app — хз, никаких деталей пока не было.
Распространение:
* через nuget, рантайм/библиотеки поставляются вместе с отдельным приложением, поддерживается обновления с закрытием уязвимостей через winupdate.
* одним бинарником, странслированным через .net native.
Обновления: отдельные пакеты — как только так сразу (для энтузиастов), для энтерпрайза раз в квартал — официальные релизы.
Совместимость:
* цель на 2015: .net core — подмножество обычного .net. То, что работает под .net core — 100% будет работать под обычным дотнетом.
* на будущее: релизы .net core раз в квартал, раз в год — выход полноценного дотнета со всеми изменениями, добавленными в .net core за это время.
Дисклаймер:
* На сегодня всех исходников и полностью рабочего билда со всеми фишками ещё нет, оф. документации тоже нет по понятным причинам, ждём //Build/.
* Это только то, что было объявлено официально, всякие сплетни из разряда "мне кажется, что MS должна сделать вот так" поскипал, там всё равно ничего интересного нет.
* Закладываться, что всё будет именно так, как написал не стоит, к релизу (~осень 2015) всё наверняка поменяется.
UPD. Не заметил раньше, в комментариях к анонсу уже есть ответы от .net team:
Immo Landwerth:
Think of .NET Core as a complete .NET implementation. We've two app models for it: the new touch based devices as well as ASP.NET 5.
.NET Core has two runtimes: CoreCLR, which we open sourced today and .NET Native. You can think of .NET Native as a compiler pipeline that takes MSIL and produces native code plus the GC. Of course, .NET Native is a bit more complicated than that.
On top of the runtimes, we have the framework which is mostly represented by CoreFX. On top of the runtimes and the framework we have the app models.
Rich Lander:
@Kevin — There isn't an AOT for .NET Core at the moment. We do have .NET Native, so AOT is clearly on our roadmap. We do think that AOT is important for open source.NET Core. We don't have firmed up plans yet, but there are some folks actively looking into this.
Здравствуйте, Qbit86, Вы писали:
XC>>Можно ли, используя эти исходники, реализовать что-нибудь типа "С# без дотнета", а например на LLVM?
Q>Пишут, что у них в планах варианты с AOT-компляцией, .NET Native и тому подобное.
Компиляторы в LLVM уже есть. Например, SharpLang. Проект пока на начальном этапе, но уже сам себя собирает на Линуксе.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, andyag, Вы писали:
A>Для простого парня вроде меня — в чём польза от этой тонны нелегкочитаемого кода?
Один и тот же рантайм и набор базовых библиотек под все платформы, от дев-плат и мобильников и до сервисов в облаке.
Не под win на сегодня официально анонсирован только хостинг asp.net под win, macos, linux + консольные приложения. В обозримом будущем код утянут в xamarin/unity, дело пойдёт веселее, особенно после допиливания AOT-компиляции: добавляем ios, android, приставки и тд и тп.
Здравствуйте, Sinix, Вы писали:
S>В обозримом будущем код утянут в xamarin/unity, дело пойдёт веселее, особенно после допиливания AOT-компиляции: добавляем ios, android, приставки и тд и тп.
Есть статьи про Unity, где анонсировали бы переход на Core CLR со старого Mono, на новую AOT-компиляцию с новой же IL2CPP?
Здравствуйте, Qbit86, Вы писали:
Q>Есть статьи про Unity, где анонсировали бы переход на Core CLR со старого Mono, на новую AOT-компиляцию с новой же IL2CPP?
Ага
joncham
Yes, we plan on making use of .Net Core when it's available. Probably as part of our .Net upgrade plans
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, andyag, Вы писали:
A>>Для простого парня вроде меня — в чём польза от этой тонны нелегкочитаемого кода? S>Один и тот же рантайм и набор базовых библиотек под все платформы, от дев-плат и мобильников и до сервисов в облаке.
S>Не под win на сегодня официально анонсирован только хостинг asp.net под win, macos, linux + консольные приложения. В обозримом будущем код утянут в xamarin/unity, дело пойдёт веселее, особенно после допиливания AOT-компиляции: добавляем ios, android, приставки и тд и тп.
S>Про микродевайсы тоже не забыли.
Не, я именно про код. Что делать с этим заопенсоршенным кодом?
Здравствуйте, andyag, Вы писали:
A>Не, я именно про код. Что делать с этим заопенсоршенным кодом?
Заметьте, вы сами попросили
Итак:
* Разобрать на цитаты.
* Распечатать и вырезать красивые снежинки в форме windows 8 logo.
* Подбросить на Linux.org.ru. Можно в форме снежинок.
* Заучить и декламировать на собеседовании наизусть.
* Скормить какому-нибудь narrator service, идеальный фон для романтического вечера. Для полного соответствия советую English (Indian) — female, тынц.
* Можно сделать паззл 120x120000.
* Заказать печать на носках, чтобы не мучаться с подбором пары. Что-то типа
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Qbit86, Вы писали:
XC>>>Можно ли, используя эти исходники, реализовать что-нибудь типа "С# без дотнета", а например на LLVM?
Q>>Пишут, что у них в планах варианты с AOT-компляцией, .NET Native и тому подобное.
VD>Компиляторы в LLVM уже есть. Например, SharpLang. Проект пока на начальном этапе, но уже сам себя собирает на Линуксе.
т.е. можно открыть текущий проект на С# и собрать в нем под линукс?