Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .Net 4.0 & C#4.0 Opinions

.Net 4.0 & C#4.0 Opinions

Scheduled Pinned Locked Moved The Lounge
csharpcomquestioncssvisual-studio
48 Posts 28 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Marc Clifton

    Judah Himango wrote:

    I hope you give it a fair try, it's really so much more than parallelizing loops.

    I will definitely look at it again with .NET 4.0. But should I expect anything different from what I wrote about already here?[^] Marc

    Will work for food. Interacx

    I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

    N Offline
    N Offline
    Nicholas Butler
    wrote on last edited by
    #33

    An influential article :) Was that really 18 months ago now? Nick

    ---------------------------------- Be excellent to each other :)

    M 1 Reply Last reply
    0
    • N Nicholas Butler

      An influential article :) Was that really 18 months ago now? Nick

      ---------------------------------- Be excellent to each other :)

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #34

      Nick Butler wrote:

      Was that really 18 months ago now?

      Scary, isn't it. Marc

      Will work for food. Interacx

      I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

      1 Reply Last reply
      0
      • K Kevin McFarlane

        martin_hughes wrote:

        Also, is this release too soon?

        Well, in general, it would be nice if MS slowed down a bit...

        Kevin

        F Offline
        F Offline
        fred_
        wrote on last edited by
        #35

        Kevin McFarlane wrote:

        it would be nice if MS slowed down a bit

        I wish in some areas, like SharePoint development, they'd speed up

        1 Reply Last reply
        0
        • M martin_hughes

          I was thinking about the impending release of .Net 4.0/C# 4.0 and wondering whether or not I can be bothered (not that I've actually opened VS 2008 for a couple of months now, but it's handy to keep your toe in) - I'm sure the more eager amongst you will have checked out .Net 4.0 and the VS 2010 betas, so I thought I'd throw the question out "Is it worth it" and gather some opinions (I'm bored, it's raining and I've got nothing better to do :D ). From what I've read, particularly with reference to C#, the main areas of development are: 1) Parallelization 2) Dynamic language features & the DLR 3) Some (C#) language improvements to make Office/COM interop less of a pain in the jacksie, design by contract and some other stuff. 4) A rewrite of WWF. 5) Another stab at (or improvements to) Entity Framework. And that's about it (there are bound to be some other things, but those were the big five I found talked/blogged/pod-casted about most). Are any of these (or any other features you know about that I don't) enough to make you upgrade? the one that appeals to me most is the dynamic stuff (the DLR + IronPython more than C#'s dynamic features) but I could do without it - and the rest, I'm not so sure. The parallel stuff looks interesting, but runs the risk of being too close to bleeding edge and may well be superceded by something else quite quickly, the changes to WWF would make my blood boil if I had invested anything in the original release and I've avoided Entity Framework - only because I've not had much use for it. Also, is this release too soon?

          print "http://www.codeproject.com".toURL().text Ain't that Groovy?

          P Offline
          P Offline
          peterchen
          wrote on last edited by
          #36

          martin_hughes wrote:

          WWF

          Windows Wrestling Foundation?

          Don't attribute to stupidity what can be equally well explained by buerocracy.
          My latest article | Linkify!| FoldWithUs! | sighist

          M 1 Reply Last reply
          0
          • P peterchen

            martin_hughes wrote:

            WWF

            Windows Wrestling Foundation?

            Don't attribute to stupidity what can be equally well explained by buerocracy.
            My latest article | Linkify!| FoldWithUs! | sighist

            M Offline
            M Offline
            martin_hughes
            wrote on last edited by
            #37

            No you luddite, it's the Windows Wildlife Fund :P

            print "http://www.codeproject.com".toURL().text Ain't that Groovy?

            1 Reply Last reply
            0
            • M Marc Clifton

              Judah Himango wrote:

              I hope you give it a fair try, it's really so much more than parallelizing loops.

              I will definitely look at it again with .NET 4.0. But should I expect anything different from what I wrote about already here?[^] Marc

              Will work for food. Interacx

              I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

              J Offline
              J Offline
              Judah Gabriel Himango
              wrote on last edited by
              #38

              Other than a paragraph or two on the TaskManager, you didn't really look into it then, did you? I mean, that's where the real meat of the TPL is: Tasks and TaskManagers. By the way, I do like that article you wrote. You're correct in saying the TPL and PLINQ don't prevent you from making threading mistakes. (I would argue that PLINQ queries discourage state mutation, however...) If you're looking for safe threading where it's much harder to shoot yourself in the foot via mutable shared state, Erlang or Microsoft's Axum language[^] language is where it's at. F#, like Axum, supports agents and message passing between threads, so you could do a similar thing there as well.

              Religiously blogging on the intarwebs since the early 21st century: Kineti L'Tziyon Judah Himango

              1 Reply Last reply
              0
              • M Member 1709723

                looking forward to fixing a lot of shitty, unreadable, convoluted and... shitty code due to the introduction of optional parameters* looking forward to fixing a lot of shitty, unreadable, convoluted and... shitty code due to the introduction of dynamic declarations* i am still hoping that if i continue to ignore wpf it will die the slow horible death it deserves ( not sure i will succeed on this one) *other people's code, of course

                Opium is my business. The bridge mean more traffic. More traffic mean more money. More money mean more power. Speed is important in business. Time is money. You said opium was money. Money is Money. Well then, what is time again? icalburner

                M Offline
                M Offline
                Mycroft Holmes
                wrote on last edited by
                #39

                Member 1709723 wrote:

                i am still hoping that if i continue to ignore wpf it will die the slow horible death it deserves ( not sure i will succeed on this one)

                That's the one, maybe it will go the same way as activex pages and any of half a dozen other technologies MS have flirted with. I'm of the opinion that anything that requires a designer is not a tool for me, so Silverlight is out as well. Heres to a long life for Winforms.:cool:

                Never underestimate the power of human stupidity RAH

                1 Reply Last reply
                0
                • M martin_hughes

                  I was thinking about the impending release of .Net 4.0/C# 4.0 and wondering whether or not I can be bothered (not that I've actually opened VS 2008 for a couple of months now, but it's handy to keep your toe in) - I'm sure the more eager amongst you will have checked out .Net 4.0 and the VS 2010 betas, so I thought I'd throw the question out "Is it worth it" and gather some opinions (I'm bored, it's raining and I've got nothing better to do :D ). From what I've read, particularly with reference to C#, the main areas of development are: 1) Parallelization 2) Dynamic language features & the DLR 3) Some (C#) language improvements to make Office/COM interop less of a pain in the jacksie, design by contract and some other stuff. 4) A rewrite of WWF. 5) Another stab at (or improvements to) Entity Framework. And that's about it (there are bound to be some other things, but those were the big five I found talked/blogged/pod-casted about most). Are any of these (or any other features you know about that I don't) enough to make you upgrade? the one that appeals to me most is the dynamic stuff (the DLR + IronPython more than C#'s dynamic features) but I could do without it - and the rest, I'm not so sure. The parallel stuff looks interesting, but runs the risk of being too close to bleeding edge and may well be superceded by something else quite quickly, the changes to WWF would make my blood boil if I had invested anything in the original release and I've avoided Entity Framework - only because I've not had much use for it. Also, is this release too soon?

                  print "http://www.codeproject.com".toURL().text Ain't that Groovy?

                  F Offline
                  F Offline
                  FyreWyrm
                  wrote on last edited by
                  #40

                  Seeing as how we're still developing in .NET 1.0 where I work with no plans to upgrade any time soon, I don't really care about 4.0.

                  Work harder. Millions on wellfare depend on you.

                  K 1 Reply Last reply
                  0
                  • S Ssswamii

                    Yeah, ditto. It's one of those things that you think should work, but doesn't once you go try it:

                    var strings = new List() { "hello", "world" };
                    IEnumerable objectList = strings; // this works now

                    The 3 big areas that affect me are IEnumerable<T>, Action<T, ...> and Func<T...>

                    N Offline
                    N Offline
                    N a v a n e e t h
                    wrote on last edited by
                    #41

                    Since C# 2.0, method group to delegate conversions can be implicit and covariant in their return types. This means that the following code is valid, Func<Base> b = GetDerived; You can see the contra-variance in argument types when using Action(T). See the following code, Action<Derived> a = MethodTakesBase; I have seen Eric Lippert explains this in his blog, but don't have the URL to provide. :)

                    Navaneeth How to use google | Ask smart questions

                    S 1 Reply Last reply
                    0
                    • R Rama Krishna Vavilala

                      martin_hughes wrote:

                      1. A rewrite of WWF.

                      Why? Why not WPF?

                      J Offline
                      J Offline
                      JHubSharp
                      wrote on last edited by
                      #42

                      Because the current WF is a steaming pile in certain scenarios, such as having to update existing persisted workflows. I hate they are re-writing it (and breaking everything existing), but it's proof that WF wasn't ready when they pushed it out the door. The fact that many Microsoft MVPs and support people scratch their heads when you deep-dive into WF problems says a lot. I've been wanting to get into WPF...played with it a tiny bit within and without the context of SIlverlight. Are the major bugs documented somewhere that can be eyeballed?

                      1 Reply Last reply
                      0
                      • R Richard Jones

                        Yeah, I have popcorn ready for you and the release date. :laugh:

                        Cheetah. Ferret. Gonads. What more can I say? - Pete O'Hanlon

                        U Offline
                        U Offline
                        urbane tiger
                        wrote on last edited by
                        #43

                        Surely you mean popfly

                        Multi famam, conscientiam pauci verentur.(Pliny)

                        1 Reply Last reply
                        0
                        • N N a v a n e e t h

                          Since C# 2.0, method group to delegate conversions can be implicit and covariant in their return types. This means that the following code is valid, Func<Base> b = GetDerived; You can see the contra-variance in argument types when using Action(T). See the following code, Action<Derived> a = MethodTakesBase; I have seen Eric Lippert explains this in his blog, but don't have the URL to provide. :)

                          Navaneeth How to use google | Ask smart questions

                          S Offline
                          S Offline
                          S Senthil Kumar
                          wrote on last edited by
                          #44

                          N a v a n e e t h wrote:

                          method group to delegate conversions can be implicit and covariant in their return types.

                          Yes, but not delegate types themselves.

                                  Func<string> f = null;
                                  Func<object> of = f;
                          

                          won't compile.

                          Regards Senthil _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

                          1 Reply Last reply
                          0
                          • C Christian Graus

                            WPF already has bugs, they were helping WWF catch up.

                            Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                            U Offline
                            U Offline
                            urbane tiger
                            wrote on last edited by
                            #45

                            "WTF is WWF?" I asked. From the back a voice suggested "World War Five?". Then the Gargoyle told me, "Its what you've been calling WF, they put some Windows in front of it so you can see the bugs"

                            Multi famam, conscientiam pauci verentur.(Pliny)

                            1 Reply Last reply
                            0
                            • M Marc Clifton

                              Well, Josh Fischer [^] has a decent article on the new features. Parallelization, when I looked at the TPL, it seemed cute, meaning it's easy to parallelize a for loop, but if you really need to work with threads to utilize processors and you really have real work that can be parallelized, then I think TPL is too simplistic, and really doesn't give you that much more. Sure, it hides some details, but so what? I'd rather work more closely with the API than have some additional layer wrap the management of threading. Optional parameters I've missed from the days of C++ since I started working with C#. About time. Dynamic variables seems pointless to me and probably a big performance hit, especially since it looks like the runtime is essentially using reflection to figure out if the object has the property. Everyone complains that declarative programming doesn't allow for compile-time type checking, yet "they" keep adding features to C# that move type checking into the runtime. :sigh: The co-contra variance looks very useful. Com Interop stuff looks like it'll be useful. I don't really care if they rewrite WWF, and am glad I'm not using it if that's the case. Entity Framework--why bother. There's better 3rd party solutions out there, and for anything real, the EF looks way to immature anyways. Marc

                              Will work for food. Interacx

                              I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                              S Offline
                              S Offline
                              S Senthil Kumar
                              wrote on last edited by
                              #46

                              Marc Clifton wrote:

                              Dynamic variables seems pointless to me and probably a big performance hit, especially since it looks like the runtime is essentially using reflection to figure out if the object has the property.

                              1. Without them, using types from other dynamic languages (like Python) would be impossible. 2. They make COM Interop a lot less painful. 3. The perf hit is one time - the DLR generates code behind the scenes and caches it. Essentially like the JIT compiler. For the specific scenarios it enables, I think it is very useful. But yes, it can be abused.

                              Regards Senthil _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

                              M 1 Reply Last reply
                              0
                              • S S Senthil Kumar

                                Marc Clifton wrote:

                                Dynamic variables seems pointless to me and probably a big performance hit, especially since it looks like the runtime is essentially using reflection to figure out if the object has the property.

                                1. Without them, using types from other dynamic languages (like Python) would be impossible. 2. They make COM Interop a lot less painful. 3. The perf hit is one time - the DLR generates code behind the scenes and caches it. Essentially like the JIT compiler. For the specific scenarios it enables, I think it is very useful. But yes, it can be abused.

                                Regards Senthil _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

                                M Offline
                                M Offline
                                Marc Clifton
                                wrote on last edited by
                                #47

                                S. Senthil Kumar wrote:

                                For the specific scenarios it enables, I think it is very useful. But yes, it can be abused.

                                Ah, thanks for the clarification. I can just imagine though, people using the "dynamic" keyword everywhere, just as they now use "var" everywhere, even when completely unnecessary. Marc

                                Will work for food. Interacx

                                I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                                1 Reply Last reply
                                0
                                • F FyreWyrm

                                  Seeing as how we're still developing in .NET 1.0 where I work with no plans to upgrade any time soon, I don't really care about 4.0.

                                  Work harder. Millions on wellfare depend on you.

                                  K Offline
                                  K Offline
                                  keozcigisoft
                                  wrote on last edited by
                                  #48

                                  omg that's one of the reasons i'm a freelancer now, i dont like walls ;)

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups