Что нового в .NET 3.0?
это просто добавление WCF, WPF и т.д.
Действительное новая версия, это 3.5.
Действительное новая версия, это 3.5.
WCF, WPF и т.д.Это что такое?

Действительное новая версия, это 3.5.А у меня почему то сложилось впечатление что это тот же net 3.0 только с vNext.
ненене
там куча оптизизаций JIT-а и GC, там новые типы в namespace System, там Linq и другие хорошие штуки. Там C# 3.0, в конце концов.
там куча оптизизаций JIT-а и GC, там новые типы в namespace System, там Linq и другие хорошие штуки. Там C# 3.0, в конце концов.
там куча оптизизаций JIT-а и GC, там новые типы в namespace System,Ну это скорее эволюция, нежели что то новое.
там Linq и другие хорошие штуки.
Под vNext я имею в виду всю эту бадягу.
тогда мне тяжело понять, что должно считаться новой версией. То, что на .net 3.5 способ написания приложений местами сильно изменится, соблазняет меня сейчас для нового проекта использовать .net 3.5, а не 3.0
тогда мне тяжело понять, что должно считаться новой версией.Ну вот тот же WPF.
То, что на .net 3.5 способ написания приложений местами сильно изменится,
Например?
соблазняет меня сейчас для нового проекта использовать .net 3.5, а не 3.0
А что отталкивает?
Например?Например, третий шарп + LINQ очень сильно упрощают жизнь при разработке.
> Ну вот тот же WPF.
так это скорее либа к .net-у, чем сам .net.
так это скорее либа к .net-у, чем сам .net.
так это скорее либа к .net-у, чем сам .net.А что у флеймворка может появится нового кроме либ и оптимизации?
А что у флеймворка может появится нового кроме либ и оптимизации?Ну синтаксис C# может измениться.
Скорее не измениться, а расшириться.
Некрософт хочет, чтобы старые проги компилились на новом языке.
Некрософт хочет, чтобы старые проги компилились на новом языке.
Ну синтаксис C# может измениться.Имхо, язык программирования это не есть фича фреймворка.
> А что у флеймворка может появится нового кроме либ и оптимизации?
поменяться основные возможности.
появление тех же generic-ов - это изменение самого .net-а.
появление каких-нибудь yield-ов или expression-ов - это тоже изменение самого .net-а.
т.е. одно дело добавление либы где-то там "сбоку", и совсем другое - появляение новых "инструментов" для написания этих самых либ/кода
поменяться основные возможности.
появление тех же generic-ов - это изменение самого .net-а.
появление каких-нибудь yield-ов или expression-ов - это тоже изменение самого .net-а.
т.е. одно дело добавление либы где-то там "сбоку", и совсем другое - появляение новых "инструментов" для написания этих самых либ/кода
expression-овЭто что такое?
Вот такая запись:
формирует в переменной exprLambda вот такое дерево:
Expression<Func<int, bool>> exprLambda = x => (x & 1) == 0;
формирует в переменной exprLambda вот такое дерево:
Expression<Func<int, bool>> exprLambda = Expression.Lambda<Func<int, bool>>(соответственно, которое можно разобрать, модифицировать, выполнить и т.д.
Expression.EQ(
Expression.BitAnd(xParam, Expression.Constant(1
Expression.Constant(0
xParam);
формирует в переменной exprLambda вот такое дерево:
Разве этим не компилятор C# занимается?
соответственно, которое можно разобрать, модифицировать, выполнить и т.д.И почему этого нельзя сделать в NET 2.0?
> Разве этим не компилятор C# занимается?
не вижу смысла в дискуссии: .net vs C#
> И почему этого нельзя сделать в NET 2.0?
каким образом? написать свой компилятор?
не вижу смысла в дискуссии: .net vs C#
> И почему этого нельзя сделать в NET 2.0?
каким образом? написать свой компилятор?
появление тех же generic-ов - это изменение самого .net-а.
появление каких-нибудь yield-ов или expression-ов - это тоже изменение самого .net-а.
---
Incorrect. Генерики — это свойство дотнета, йилды — нет. Точнее, есть такое определение дотнета, при котором эти фичи добавляются на разных уровнях, и это довольно логичное определение. Собственно, добавление генериков изменило MSIL/CLR, а йилды это чисто компиляторный синтаксический сахар.
Вот!
появление каких-нибудь yield-ов или expression-ов - это тоже изменение самого .net-а.
---
Incorrect. Генерики — это свойство дотнета, йилды — нет. Точнее, есть такое определение дотнета, при котором эти фичи добавляются на разных уровнях, и это довольно логичное определение. Собственно, добавление генериков изменило MSIL/CLR, а йилды это чисто компиляторный синтаксический сахар.
Вот!
а йилды это чисто компиляторный синтаксический сахар.да. К тому же с очень неприятными подводными камнями.
да. К тому же с очень неприятными подводными камнями.Типа?
> Incorrect. Генерики — это свойство дотнета, йилды — нет.
не вижу смысла в дискуссии: .net vs C#т.к. конкретные фичи компилятора C# строго привязаны к определенной версии .net-а.
Дада, какими?
Серьезным откровением и неудобством было то, что при использовании yield-а генерируется пустой метод IEnumerator.Reset, кидающий exception.
Логично в общем-то. Он же не знает, как правильно отресетить твой метод — просто запуск начальной части может привести к фантастическим совершенно багам.
Оставить комментарий
valkira
Какие изменения произошли в новой версии дот-нет? Что новенького? Опишите вкратце плиз, а то инета ща нету, а ведь жутко интересно!