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. Whoever decided to release C# 1.0 without generics...

Whoever decided to release C# 1.0 without generics...

Scheduled Pinned Locked Moved The Lounge
csharpc++announcement
33 Posts 21 Posters 2 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.
  • J Judah Gabriel Himango

    One thing that sucks is that, if generics were in .NET 1, there would be literally THOUSANDS of fewer types in the .NET framework. You could get rid of almost every delegate type; since all you really need are Action<T> and Func<T> and their overloads. Had we had generics in .NET 1, we wouldn't need events and EventArgs types, we could just use System.IObservable<T> for the whole thing. So many things would have been better if they built in generics from the start. But, we're Monday Morning Quarterbacking here; hindsight is 20-20, and all that. I think Microsoft realizes the importance of generics now, but didn't then. And let's not pretend we all knew it was important. I remember thinking it was cool, but wasn't sure how useful it'd be. Turns out, pretty damn useful.

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

    L Offline
    L Offline
    Luc Pattyn
    wrote on last edited by
    #13

    IIRC Java didn't have generics back then, so it couldn't be high on the priority list... :)

    Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum

    Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.

    J 1 Reply Last reply
    0
    • N Nemanja Trifunovic

      ... should be sentenced to spend their life fixing errors caused by downcasting from System.Object to concrete types when using non-generic collections.

      utf8-cpp

      M Offline
      M Offline
      Maximilien
      wrote on last edited by
      #14

      Cool you've invented the Christian Graus trap!! :-D :thumbsup:

      Watched code never compiles.

      1 Reply Last reply
      0
      • N Nemanja Trifunovic

        Judah Himango wrote:

        And let's not pretend we all knew it was important. I remember thinking it was cool, but wasn't sure how useful it'd be.

        I was at a presentation in early 2001 when some MVP was introducing C#. Someone asked why it didn't have templates and he responded: "We don't need templates when everything derives from Object". Couple of us who new STL started shouting at him, but he just couldn't get why templates are useful if everything derives from the same class.

        utf8-cpp

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

        Oh, I believe there were some in-the-know people who knew better. Look at the context: back then, Windows developers wanted something better than the C++/COM/VB6 mess. Remember? Java was looking so sexy. Microsoft countered with C#, which was exactly what we needed. It wasn't perfect -- missing generics and all -- but it was a better Java, and has only widened that gap since. Since Java didn't have generics back then, it wasn't on the radar for a lot of people. It's a shame, but hey, for version 1 of a product, MS did pretty darn well. By the way, I was at a tech talk the other week; the presenter, who's been writing C/C++ professionally for 30 years, was speaking on C++. He's never used templates.

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

        D 1 Reply Last reply
        0
        • L Luc Pattyn

          IIRC Java didn't have generics back then, so it couldn't be high on the priority list... :)

          Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum

          Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.

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

          That's correct. No Java generics at that time. Java didn't get generics until at least a year or two after C# 2, and even what Java got isn't real generics, it's just type erasure. (That is, a Java List<object> just gets compiled down to non-generic List.) I'm surprised it almost got cut from .NET 2. As Don Syme said, "No generics in C# 2.0? No LINQ in C# 3.0? No TPL in C# 4.0? No Async in C# 5.0? No F#?" So much is built atop generics, it's hard to imagine .NET without it.

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

          1 Reply Last reply
          0
          • N Nemanja Trifunovic

            ... should be sentenced to spend their life fixing errors caused by downcasting from System.Object to concrete types when using non-generic collections.

            utf8-cpp

            A Offline
            A Offline
            Andy Brummer
            wrote on last edited by
            #17

            Yeah, but Java didn't have them and 1.0 was pretty darn close to a port of java + a bit of delphi thrown in.

            Curvature of the Mind now with 3D

            1 Reply Last reply
            0
            • S Single Step Debugger

              Giving you 5 in order to highlight your presence.

              There is only one Ashley Judd and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

              N Offline
              N Offline
              Nagy Vilmos
              wrote on last edited by
              #18

              Like CG needs rep points!


              Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre Have a bit more patience with newbies. Of course some of them act dumb -- they're often *students*, for heaven's sake. -- (Terry Pratchett, alt.fan.pratchett)

              S 1 Reply Last reply
              0
              • C Christian Graus

                My number one reason that C# 1.0 was half baked. And, there's still people using those non generic containers.

                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.

                S Offline
                S Offline
                Slacker007
                wrote on last edited by
                #19

                Good to see you back Christian. I hope all is well with you and your own. Not much has changed hear...it never does. ;)

                -- ** You don't hire a handyman to build a house, you hire a carpenter. ** Jack of all trades and master of none.

                1 Reply Last reply
                0
                • C Christian Graus

                  My number one reason that C# 1.0 was half baked. And, there's still people using those non generic containers.

                  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.

                  Mike HankeyM Offline
                  Mike HankeyM Offline
                  Mike Hankey
                  wrote on last edited by
                  #20

                  Welcome back stranger

                  Semper Fi http://www.hq4thmarinescomm.com[^]
                  www.jaxcoder.com[^] WinHeist

                  1 Reply Last reply
                  0
                  • N Nagy Vilmos

                    Like CG needs rep points!


                    Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre Have a bit more patience with newbies. Of course some of them act dumb -- they're often *students*, for heaven's sake. -- (Terry Pratchett, alt.fan.pratchett)

                    S Offline
                    S Offline
                    Single Step Debugger
                    wrote on last edited by
                    #21

                    The more... the more.

                    There is only one Ashley Judd and Salma Hayek is her prophet! Advertise here – minimum three posts per day are guaranteed.

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      ... should be sentenced to spend their life fixing errors caused by downcasting from System.Object to concrete types when using non-generic collections.

                      utf8-cpp

                      E Offline
                      E Offline
                      ed welch
                      wrote on last edited by
                      #22

                      If your smart you don't store mixed types in the same container, eliminating the problem. I know, because j2me had the same "flaw", but I never had a problem with it.

                      1 Reply Last reply
                      0
                      • J Judah Gabriel Himango

                        Oh, I believe there were some in-the-know people who knew better. Look at the context: back then, Windows developers wanted something better than the C++/COM/VB6 mess. Remember? Java was looking so sexy. Microsoft countered with C#, which was exactly what we needed. It wasn't perfect -- missing generics and all -- but it was a better Java, and has only widened that gap since. Since Java didn't have generics back then, it wasn't on the radar for a lot of people. It's a shame, but hey, for version 1 of a product, MS did pretty darn well. By the way, I was at a tech talk the other week; the presenter, who's been writing C/C++ professionally for 30 years, was speaking on C++. He's never used templates.

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

                        D Offline
                        D Offline
                        Dan Neely
                        wrote on last edited by
                        #23

                        Judah Himango wrote:

                        By the way, I was at a tech talk the other week; the presenter, who's been writing C/C++ professionally for 30 years, was speaking on C++. He's never used templates.

                        Can't blame him. C++ templates are a codethulu generator powerful enough rival C macros in scope. .net generics only took the safe and sane part of the total. Edit: To clarify I did use the STL a bit, but never wrote any of my own.

                        3x12=36 2x12=24 1x12=12 0x12=18

                        1 Reply Last reply
                        0
                        • C Christian Graus

                          My number one reason that C# 1.0 was half baked. And, there's still people using those non generic containers.

                          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.

                          B Offline
                          B Offline
                          BillW33
                          wrote on last edited by
                          #24

                          Yes, sadly there are a lot of folk who use non-generic collections. I change them to generic collections every time I see one. :)

                          Just because the code works, it doesn't mean that it is good code.

                          1 Reply Last reply
                          0
                          • C Christian Graus

                            My number one reason that C# 1.0 was half baked. And, there's still people using those non generic containers.

                            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.

                            D Offline
                            D Offline
                            Dave Kreskowiak
                            wrote on last edited by
                            #25

                            Welcome back brother! Just in time for the Rapture!

                            A guide to posting questions on CodeProject[^]
                            Dave Kreskowiak

                            C 1 Reply Last reply
                            0
                            • T Tim Deveaux

                              Alright - who are you and what have you done with the real Christian :suss:

                              C Offline
                              C Offline
                              Christian Graus
                              wrote on last edited by
                              #26

                              Because I'm complaining about Microsoft ?

                              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.

                              1 Reply Last reply
                              0
                              • N Nagy Vilmos

                                Hey CG! How the devil are you?


                                Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre Have a bit more patience with newbies. Of course some of them act dumb -- they're often *students*, for heaven's sake. -- (Terry Pratchett, alt.fan.pratchett)

                                C Offline
                                C Offline
                                Christian Graus
                                wrote on last edited by
                                #27

                                Tired - several late nights finishing versions before travelling some more....

                                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.

                                1 Reply Last reply
                                0
                                • D Dave Kreskowiak

                                  Welcome back brother! Just in time for the Rapture!

                                  A guide to posting questions on CodeProject[^]
                                  Dave Kreskowiak

                                  C Offline
                                  C Offline
                                  Christian Graus
                                  wrote on last edited by
                                  #28

                                  Exactly !!! Good thing I am in the US for it. Imagine if I was down under, I bet they don't get raptured...

                                  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.

                                  D A 2 Replies Last reply
                                  0
                                  • C Christian Graus

                                    Exactly !!! Good thing I am in the US for it. Imagine if I was down under, I bet they don't get raptured...

                                    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.

                                    D Offline
                                    D Offline
                                    Dave Kreskowiak
                                    wrote on last edited by
                                    #29

                                    Yeah, I'm sitting on a plane in Boston right now waiting to go home. No rapture on this thing.

                                    A guide to posting questions on CodeProject[^]
                                    Dave Kreskowiak

                                    1 Reply Last reply
                                    0
                                    • D Daniel Grunwald

                                      Generics are for academics only, much too complicated for normal programmers. And casts work just fine, right? That was the view of the C# and CLR teams. Generics weren't "left out" of .NET 1.0; they weren't planned for. And they almost didn't make it into .NET 2.0. Apparently, generics had low priority compared with features like being able to run the CLR inside SQL Server... See here for background info: .NET/C# Generics History (Don Syme's blog)[^]

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

                                      I've been interviewing candidates a fair bit recently, and unfortunately, a lot of people still seem to have trouble *writing* generic classes and methods.

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

                                      1 Reply Last reply
                                      0
                                      • C Christian Graus

                                        Exactly !!! Good thing I am in the US for it. Imagine if I was down under, I bet they don't get raptured...

                                        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.

                                        A Offline
                                        A Offline
                                        Andy Brummer
                                        wrote on last edited by
                                        #31

                                        I think they get raptured backwards in the southern hemisphere.

                                        Curvature of the Mind now with 3D

                                        G 1 Reply Last reply
                                        0
                                        • A Andy Brummer

                                          I think they get raptured backwards in the southern hemisphere.

                                          Curvature of the Mind now with 3D

                                          G Offline
                                          G Offline
                                          GlobX
                                          wrote on last edited by
                                          #32

                                          No rapture here in Aus, but a good excuse to get pissed as farts. We had a Pre-Rapture party Friday, a Jesus' Second Housewarming party on Saturday (he never rocked up, rude prick) and then a Life Goes On party on Sunday... Now I'm back at work with bloodshot eyes and a headache that makes me wish the world had ended...


                                          Typical n-tiered architecture: DB <-> Junk(0) <-> ... <-> Junk(n-1) <-> Pretty

                                          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