There are lots of open source projects that have custom builds for different frameworks. Through judicious application of #if's it's completely feasible to create a .NET 4.0 and a .NET 4.5 version from a single code base. I know it causes extra maintenance and complexity, but I do believe that the 4.5 features may be worth it.
On Monday, April 23, 2012 5:56:15 PM UTC+2, Ricardo wrote:
> Windows XP is not compatible with framework 4.5. The market share of XP > is still strong in many companies.
> Do you think the new features of .net 4.5 are so important to Nhibernate ?
> I think you could move to .NET 4.0 for next major version of Nhibertante > and abandon XP compatibility when Microsoft launch .NET 5.0.
> Ricardo
> Em domingo, 22 de abril de 2012 10h28min02s UTC-3, Fabio Maulo escreveu:
>> after use parallel
>> On Sun, Apr 22, 2012 at 9:00 AM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>>> I see a couple ways to benefit from .NET 4.5: >>> - Targeting the Portable Class Library >>> - Taking advantage of (and exposing) async methods
>>> Both require considerable effort.
>>> The latter can result in interesting improvements. Consider: >>> var results = await session.CreateQuery(...).List<Foo>(); >>> Internally, this could use async ADO.NET methods, so a good part of the >>> processing would not hold a thread.
>>> Diego
>>> On Sun, Apr 22, 2012 at 01:14, Fabio Maulo <fabioma...@gmail.com> wrote:
>>>> That mean just: "wait some more months after you have waited one year". >>>> btw, >>>> which are the specific features of .NET4.5 you are thinking about and >>>> how they may benefit NH ?
>>>> On Sun, Apr 22, 2012 at 12:22 AM, Julian Maughan < >>>> julian.maug...@gmail.com> wrote:
>>>>> Another option to consider is skipping .NET 4, and going straight to >>>>> 4.5?
>>>>> On Sunday, 22 April 2012 04:10:13 UTC+8, Fabio Maulo wrote:
>>>>>> In general after a release we have some other 2 or 3 minor releases >>>>>> (for some reason was not the case for 3.2.0). >>>>>> For vNext I'm strongly oriented to make another "big" breaking >>>>>> change... NH4.0.0 .NET4 with bye bye to Iesi.Collection, drop of some >>>>>> custom threadsafe collection to use those implemented in .NET4 ... >>>>>> NH4.1.0 drop of IDictionary for dynamic object and the usage of .NET4 >>>>>> dynamic , >>>>>> NH4.2.0 the usage of parallel to hydrate collections after queries.
>>>>>> On Sat, Apr 21, 2012 at 4:00 PM, Oskar Berggren < >>>>>> oskar.bergg...@gmail.com> wrote:
>>>>>>> So what do we do now that NH 3.3.0GA is released?
>>>>>>> There are already several interesting pull requests lined up, some of >>>>>>> which are new features. I propose that the next planned version will >>>>>>> be 3.4.0.
>>>>>>> What about possible as yet undetected regressions in NH 3.3.0GA? Do >>>>>>> you think it would be a good idea to hold of merging to the master >>>>>>> branch for a week or so in case any important regressions pops up and >>>>>>> we want to do a 3.3.1? One can do this from a branch of course, but >>>>>>> without the assistance of the excellent build server.
>>>>>>> /Oskar
>>>>>> -- >>>>>> Fabio Maulo
>>>> -- >>>> Fabio Maulo
>> -- >> Fabio Maulo
On Monday, April 23, 2012 5:56:15 PM UTC+2, Ricardo wrote:
> Windows XP is not compatible with framework 4.5. The market share of XP > is still strong in many companies.
> Do you think the new features of .net 4.5 are so important to Nhibernate ?
> I think you could move to .NET 4.0 for next major version of Nhibertante > and abandon XP compatibility when Microsoft launch .NET 5.0.
> Ricardo
> Em domingo, 22 de abril de 2012 10h28min02s UTC-3, Fabio Maulo escreveu:
>> after use parallel
>> On Sun, Apr 22, 2012 at 9:00 AM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>>> I see a couple ways to benefit from .NET 4.5: >>> - Targeting the Portable Class Library >>> - Taking advantage of (and exposing) async methods
>>> Both require considerable effort.
>>> The latter can result in interesting improvements. Consider: >>> var results = await session.CreateQuery(...).List<Foo>(); >>> Internally, this could use async ADO.NET methods, so a good part of the >>> processing would not hold a thread.
>>> Diego
>>> On Sun, Apr 22, 2012 at 01:14, Fabio Maulo <fabioma...@gmail.com> wrote:
>>>> That mean just: "wait some more months after you have waited one year". >>>> btw, >>>> which are the specific features of .NET4.5 you are thinking about and >>>> how they may benefit NH ?
>>>> On Sun, Apr 22, 2012 at 12:22 AM, Julian Maughan < >>>> julian.maug...@gmail.com> wrote:
>>>>> Another option to consider is skipping .NET 4, and going straight to >>>>> 4.5?
>>>>> On Sunday, 22 April 2012 04:10:13 UTC+8, Fabio Maulo wrote:
>>>>>> In general after a release we have some other 2 or 3 minor releases >>>>>> (for some reason was not the case for 3.2.0). >>>>>> For vNext I'm strongly oriented to make another "big" breaking >>>>>> change... NH4.0.0 .NET4 with bye bye to Iesi.Collection, drop of some >>>>>> custom threadsafe collection to use those implemented in .NET4 ... >>>>>> NH4.1.0 drop of IDictionary for dynamic object and the usage of .NET4 >>>>>> dynamic , >>>>>> NH4.2.0 the usage of parallel to hydrate collections after queries.
>>>>>> On Sat, Apr 21, 2012 at 4:00 PM, Oskar Berggren < >>>>>> oskar.bergg...@gmail.com> wrote:
>>>>>>> So what do we do now that NH 3.3.0GA is released?
>>>>>>> There are already several interesting pull requests lined up, some of >>>>>>> which are new features. I propose that the next planned version will >>>>>>> be 3.4.0.
>>>>>>> What about possible as yet undetected regressions in NH 3.3.0GA? Do >>>>>>> you think it would be a good idea to hold of merging to the master >>>>>>> branch for a week or so in case any important regressions pops up and >>>>>>> we want to do a 3.3.1? One can do this from a branch of course, but >>>>>>> without the assistance of the excellent build server.
>>>>>>> /Oskar
>>>>>> -- >>>>>> Fabio Maulo
>>>> -- >>>> Fabio Maulo
>> -- >> Fabio Maulo
On Monday, April 23, 2012 5:56:15 PM UTC+2, Ricardo wrote:
> Windows XP is not compatible with framework 4.5. The market share of XP > is still strong in many companies.
> Do you think the new features of .net 4.5 are so important to Nhibernate ?
> I think you could move to .NET 4.0 for next major version of Nhibertante > and abandon XP compatibility when Microsoft launch .NET 5.0.
> Ricardo
> Em domingo, 22 de abril de 2012 10h28min02s UTC-3, Fabio Maulo escreveu:
>> after use parallel
>> On Sun, Apr 22, 2012 at 9:00 AM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>>> I see a couple ways to benefit from .NET 4.5: >>> - Targeting the Portable Class Library >>> - Taking advantage of (and exposing) async methods
>>> Both require considerable effort.
>>> The latter can result in interesting improvements. Consider: >>> var results = await session.CreateQuery(...).List<Foo>(); >>> Internally, this could use async ADO.NET methods, so a good part of the >>> processing would not hold a thread.
>>> Diego
>>> On Sun, Apr 22, 2012 at 01:14, Fabio Maulo <fabioma...@gmail.com> wrote:
>>>> That mean just: "wait some more months after you have waited one year". >>>> btw, >>>> which are the specific features of .NET4.5 you are thinking about and >>>> how they may benefit NH ?
>>>> On Sun, Apr 22, 2012 at 12:22 AM, Julian Maughan < >>>> julian.maug...@gmail.com> wrote:
>>>>> Another option to consider is skipping .NET 4, and going straight to >>>>> 4.5?
>>>>> On Sunday, 22 April 2012 04:10:13 UTC+8, Fabio Maulo wrote:
>>>>>> In general after a release we have some other 2 or 3 minor releases >>>>>> (for some reason was not the case for 3.2.0). >>>>>> For vNext I'm strongly oriented to make another "big" breaking >>>>>> change... NH4.0.0 .NET4 with bye bye to Iesi.Collection, drop of some >>>>>> custom threadsafe collection to use those implemented in .NET4 ... >>>>>> NH4.1.0 drop of IDictionary for dynamic object and the usage of .NET4 >>>>>> dynamic , >>>>>> NH4.2.0 the usage of parallel to hydrate collections after queries.
>>>>>> On Sat, Apr 21, 2012 at 4:00 PM, Oskar Berggren < >>>>>> oskar.bergg...@gmail.com> wrote:
>>>>>>> So what do we do now that NH 3.3.0GA is released?
>>>>>>> There are already several interesting pull requests lined up, some of >>>>>>> which are new features. I propose that the next planned version will >>>>>>> be 3.4.0.
>>>>>>> What about possible as yet undetected regressions in NH 3.3.0GA? Do >>>>>>> you think it would be a good idea to hold of merging to the master >>>>>>> branch for a week or so in case any important regressions pops up and >>>>>>> we want to do a 3.3.1? One can do this from a branch of course, but >>>>>>> without the assistance of the excellent build server.
To be fair, async is all compiler magic, so the only thing NHibernate has to do is return Task<T> and consumers could use async / await to their hearts content. It should be remembered that .net 4.5 is a superset of .net 4.0, and is separate from the compiler. The question becomes whether nhibernate will need to use the async / await keywords itself. Also, there is a project AsyncBridge that allows you to compile using the new compiler and still target 4.0, so that's an option as well.
On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
> IMO, it _is_ important when it's directly related to the features each > framework provides. > I believe async will be quickly become a big deal, so that's something to > consider. But there's nothing* stopping us from using conditional > directives to enable 4.5 features. NuGet also supports painless > multi-framework packages out of the box.
> Diego
> *: except time/resource constraints, of course
> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>> Is it really usefull to discuss which framework to target?
>> I think it is more wise to discuss a roadmap with coming versions and >> which features those roadmap versions will contain and let that be the >> input to decide which framework(s) to target.
On Tue, Apr 24, 2012 at 6:54 PM, Darren Kopp <darrenk...@gmail.com> wrote: > To be fair, async is all compiler magic, so the only thing NHibernate has > to do is return Task<T> and consumers could use async / await to their > hearts content. It should be remembered that .net 4.5 is a superset of .net > 4.0, and is separate from the compiler. The question becomes whether > nhibernate will need to use the async / await keywords itself. Also, there > is a project AsyncBridge that allows you to compile using the new compiler > and still target 4.0, so that's an option as well.
> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>> IMO, it _is_ important when it's directly related to the features each >> framework provides. >> I believe async will be quickly become a big deal, so that's something to >> consider. But there's nothing* stopping us from using conditional >> directives to enable 4.5 features. NuGet also supports painless >> multi-framework packages out of the box.
>> Diego
>> *: except time/resource constraints, of course
>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>> Is it really usefull to discuss which framework to target?
>>> I think it is more wise to discuss a roadmap with coming versions and >>> which features those roadmap versions will contain and let that be the >>> input to decide which framework(s) to target.
Async itself is compiler magic, but the ADO.NET async methods like ExecuteReaderAsync are new in 4.5. Without those, returning tasks from NH is pretty much useless.
On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com> wrote: > To be fair, async is all compiler magic, so the only thing NHibernate has > to do is return Task<T> and consumers could use async / await to their > hearts content. It should be remembered that .net 4.5 is a superset of .net > 4.0, and is separate from the compiler. The question becomes whether > nhibernate will need to use the async / await keywords itself. Also, there > is a project AsyncBridge that allows you to compile using the new compiler > and still target 4.0, so that's an option as well.
> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>> IMO, it _is_ important when it's directly related to the features each >> framework provides. >> I believe async will be quickly become a big deal, so that's something to >> consider. But there's nothing* stopping us from using conditional >> directives to enable 4.5 features. NuGet also supports painless >> multi-framework packages out of the box.
>> Diego
>> *: except time/resource constraints, of course
>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>> Is it really usefull to discuss which framework to target?
>>> I think it is more wise to discuss a roadmap with coming versions and >>> which features those roadmap versions will contain and let that be the >>> input to decide which framework(s) to target.
> Async itself is compiler magic, but the ADO.NET async methods like > ExecuteReaderAsync are new in 4.5. > Without those, returning tasks from NH is pretty much useless.
> Diego
> On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com> wrote:
>> To be fair, async is all compiler magic, so the only thing NHibernate has >> to do is return Task<T> and consumers could use async / await to their >> hearts content. It should be remembered that .net 4.5 is a superset of .net >> 4.0, and is separate from the compiler. The question becomes whether >> nhibernate will need to use the async / await keywords itself. Also, there >> is a project AsyncBridge that allows you to compile using the new compiler >> and still target 4.0, so that's an option as well.
>> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>>> IMO, it _is_ important when it's directly related to the features each >>> framework provides. >>> I believe async will be quickly become a big deal, so that's something >>> to consider. But there's nothing* stopping us from using conditional >>> directives to enable 4.5 features. NuGet also supports painless >>> multi-framework packages out of the box.
>>> Diego
>>> *: except time/resource constraints, of course
>>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>>> Is it really usefull to discuss which framework to target?
>>>> I think it is more wise to discuss a roadmap with coming versions and >>>> which features those roadmap versions will contain and let that be the >>>> input to decide which framework(s) to target.
> Um, no. > Task.Factory.FromAsync(cmd.BeginExecuteReader, cmd.EndExecutReader) works
> On Tue, Apr 24, 2012 at 8:00 PM, Diego Mijelshon <di...@mijelshon.com.ar> > wrote:
>> Async itself is compiler magic, but the ADO.NET async methods like >> ExecuteReaderAsync are new in 4.5. >> Without those, returning tasks from NH is pretty much useless.
>> Diego
>> On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com> wrote:
>>> To be fair, async is all compiler magic, so the only thing NHibernate has >>> to do is return Task<T> and consumers could use async / await to their >>> hearts content. It should be remembered that .net 4.5 is a superset of .net >>> 4.0, and is separate from the compiler. The question becomes whether >>> nhibernate will need to use the async / await keywords itself. Also, there >>> is a project AsyncBridge that allows you to compile using the new compiler >>> and still target 4.0, so that's an option as well.
>>> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>>>> IMO, it _is_ important when it's directly related to the features each >>>> framework provides. >>>> I believe async will be quickly become a big deal, so that's something >>>> to consider. But there's nothing* stopping us from using conditional >>>> directives to enable 4.5 features. NuGet also supports painless >>>> multi-framework packages out of the box.
>>>> Diego
>>>> *: except time/resource constraints, of course
>>>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>>>> Is it really usefull to discuss which framework to target?
>>>>> I think it is more wise to discuss a roadmap with coming versions and >>>>> which features those roadmap versions will contain and let that be the input >>>>> to decide which framework(s) to target.
That would _almost_ work but there are two problems: - Those methods aren't part of the generic DbCommand: they are implemented in SqlCommand (not sure about other providers) - There are no Begin/End methods for operations other than Execute (for example, Read)
Diego
On Tue, Apr 24, 2012 at 14:02, Oren Eini (Ayende Rahien) <aye...@ayende.com>wrote:
> Um, no. > Task.Factory.FromAsync(cmd.BeginExecuteReader, cmd.EndExecutReader) works
> On Tue, Apr 24, 2012 at 8:00 PM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>> Async itself is compiler magic, but the ADO.NET async methods like >> ExecuteReaderAsync are new in 4.5. >> Without those, returning tasks from NH is pretty much useless.
>> Diego
>> On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com> wrote:
>>> To be fair, async is all compiler magic, so the only thing NHibernate >>> has to do is return Task<T> and consumers could use async / await to their >>> hearts content. It should be remembered that .net 4.5 is a superset of .net >>> 4.0, and is separate from the compiler. The question becomes whether >>> nhibernate will need to use the async / await keywords itself. Also, there >>> is a project AsyncBridge that allows you to compile using the new compiler >>> and still target 4.0, so that's an option as well.
>>> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>>>> IMO, it _is_ important when it's directly related to the features each >>>> framework provides. >>>> I believe async will be quickly become a big deal, so that's something >>>> to consider. But there's nothing* stopping us from using conditional >>>> directives to enable 4.5 features. NuGet also supports painless >>>> multi-framework packages out of the box.
>>>> Diego
>>>> *: except time/resource constraints, of course
>>>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>>>> Is it really usefull to discuss which framework to target?
>>>>> I think it is more wise to discuss a roadmap with coming versions and >>>>> which features those roadmap versions will contain and let that be the >>>>> input to decide which framework(s) to target.
> That would _almost_ work but there are two problems: > - Those methods aren't part of the generic DbCommand: they are implemented > in SqlCommand (not sure about other providers) > - There are no Begin/End methods for operations other than Execute (for > example, Read)
> Diego
> On Tue, Apr 24, 2012 at 14:02, Oren Eini (Ayende Rahien) < > aye...@ayende.com> wrote:
>> Um, no. >> Task.Factory.FromAsync(cmd.BeginExecuteReader, cmd.EndExecutReader) works
>> On Tue, Apr 24, 2012 at 8:00 PM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>>> Async itself is compiler magic, but the ADO.NET async methods like >>> ExecuteReaderAsync are new in 4.5. >>> Without those, returning tasks from NH is pretty much useless.
>>> Diego
>>> On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com> wrote:
>>>> To be fair, async is all compiler magic, so the only thing NHibernate >>>> has to do is return Task<T> and consumers could use async / await to their >>>> hearts content. It should be remembered that .net 4.5 is a superset of .net >>>> 4.0, and is separate from the compiler. The question becomes whether >>>> nhibernate will need to use the async / await keywords itself. Also, there >>>> is a project AsyncBridge that allows you to compile using the new compiler >>>> and still target 4.0, so that's an option as well.
>>>> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>>>>> IMO, it _is_ important when it's directly related to the features each >>>>> framework provides. >>>>> I believe async will be quickly become a big deal, so that's something >>>>> to consider. But there's nothing* stopping us from using conditional >>>>> directives to enable 4.5 features. NuGet also supports painless >>>>> multi-framework packages out of the box.
>>>>> Diego
>>>>> *: except time/resource constraints, of course
>>>>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>>>>> Is it really usefull to discuss which framework to target?
>>>>>> I think it is more wise to discuss a roadmap with coming versions and >>>>>> which features those roadmap versions will contain and let that be the >>>>>> input to decide which framework(s) to target.
> That is because Read is on the Reader, and you are not doing async stuff > there, you are reading from the in memory pool
> On Tue, Apr 24, 2012 at 8:38 PM, Diego Mijelshon <di...@mijelshon.com.ar>wrote:
>> That would _almost_ work but there are two problems: >> - Those methods aren't part of the generic DbCommand: they are >> implemented in SqlCommand (not sure about other providers) >> - There are no Begin/End methods for operations other than Execute (for >> example, Read)
>> Diego
>> On Tue, Apr 24, 2012 at 14:02, Oren Eini (Ayende Rahien) < >> aye...@ayende.com> wrote:
>>> Um, no. >>> Task.Factory.FromAsync(cmd.BeginExecuteReader, cmd.EndExecutReader) works
>>> On Tue, Apr 24, 2012 at 8:00 PM, Diego Mijelshon <di...@mijelshon.com.ar >>> > wrote:
>>>> Async itself is compiler magic, but the ADO.NET async methods like >>>> ExecuteReaderAsync are new in 4.5. >>>> Without those, returning tasks from NH is pretty much useless.
>>>> Diego
>>>> On Tue, Apr 24, 2012 at 12:54, Darren Kopp <darrenk...@gmail.com>wrote:
>>>>> To be fair, async is all compiler magic, so the only thing NHibernate >>>>> has to do is return Task<T> and consumers could use async / await to their >>>>> hearts content. It should be remembered that .net 4.5 is a superset of .net >>>>> 4.0, and is separate from the compiler. The question becomes whether >>>>> nhibernate will need to use the async / await keywords itself. Also, there >>>>> is a project AsyncBridge that allows you to compile using the new compiler >>>>> and still target 4.0, so that's an option as well.
>>>>> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>>>>>> IMO, it _is_ important when it's directly related to the features >>>>>> each framework provides. >>>>>> I believe async will be quickly become a big deal, so that's >>>>>> something to consider. But there's nothing* stopping us from using >>>>>> conditional directives to enable 4.5 features. NuGet also supports painless >>>>>> multi-framework packages out of the box.
>>>>>> Diego
>>>>>> *: except time/resource constraints, of course
>>>>>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>>>>>> Is it really usefull to discuss which framework to target?
>>>>>>> I think it is more wise to discuss a roadmap with coming versions >>>>>>> and which features those roadmap versions will contain and let that be the >>>>>>> input to decide which framework(s) to target.
On Tue, Apr 24, 2012 at 4:54 PM, Darren Kopp <darrenk...@gmail.com> wrote:
> To be fair, async is all compiler magic, so the only thing NHibernate has
> to do is return Task<T> and consumers could use async / await to their
> hearts content. It should be remembered that .net 4.5 is a superset of .net
> 4.0, and is separate from the compiler. The question becomes whether
> nhibernate will need to use the async / await keywords itself. Also, there
> is a project AsyncBridge that allows you to compile using the new compiler
> and still target 4.0, so that's an option as well.
> On Tuesday, April 24, 2012 6:34:43 AM UTC-6, Diego Mijelshon wrote:
>> IMO, it _is_ important when it's directly related to the features each
>> framework provides.
>> I believe async will be quickly become a big deal, so that's something to
>> consider. But there's nothing* stopping us from using conditional
>> directives to enable 4.5 features. NuGet also supports painless
>> multi-framework packages out of the box.
>> Diego
>> *: except time/resource constraints, of course
>> On Tue, Apr 24, 2012 at 06:07, Ramon Smits <ramon.smits> wrote:
>>> Is it really usefull to discuss which framework to target?
>>> I think it is more wise to discuss a roadmap with coming versions and
>>> which features those roadmap versions will contain and let that be the
>>> input to decide which framework(s) to target.