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.
  • 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.

    M Offline
    M Offline
    Mladen Jankovic
    wrote on last edited by
    #4

    Look guys he's ALIVEEEEEE!

    [Genetic Algorithm Library]

    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.

      T Offline
      T Offline
      Tim Deveaux
      wrote on last edited by
      #5

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

      C 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.

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

        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 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

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

          So you were the one who knows the right magic words for summoning Christian! What took you so long to cast the spell?

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

          N 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

            D Offline
            D Offline
            Daniel Grunwald
            wrote on last edited by
            #8

            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 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

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

              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

              N L 2 Replies 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
                Single Step Debugger
                wrote on last edited by
                #10

                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 1 Reply Last reply
                0
                • 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

                  N Offline
                  N Offline
                  Nemanja Trifunovic
                  wrote on last edited by
                  #11

                  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 1 Reply Last reply
                  0
                  • S Single Step Debugger

                    So you were the one who knows the right magic words for summoning Christian! What took you so long to cast the spell?

                    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
                    Nemanja Trifunovic
                    wrote on last edited by
                    #12

                    He just can't miss a good rant :)

                    utf8-cpp

                    1 Reply Last reply
                    0
                    • 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
                                          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