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. Other Discussions
  3. The Back Room
  4. WTF (.NET?)

WTF (.NET?)

Scheduled Pinned Locked Moved The Back Room
c++questioncsharp
20 Posts 11 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.
  • B bob16972

    I'm fine with single scope operators like a::foo(); MSXML2::IXMLDOMNodePtr pNode=NULL; MSXML2::IXMLDOMNodeListPtr pNodeList=NULL; I guess my issue is with how deep this .NET stuff gets in terms of levels in... System.Windows.Forms.DialogResult.OK Thats just excessive and overkill. The "DialogResult.OK" is potentially defined elsewhere making it an ambiguous symbol potentially in larger apps. "Using" the namespace is not really a good all around solution except in the classroom.

    -- modified at 14:18 Saturday 22nd July, 2006

    I Offline
    I Offline
    Igor Sukhov
    wrote on last edited by
    #6

    "Using namespace" was considered bad when C++ was popular, but those times are long gone. "Using namespace" is the right and popular thing now and encouraged by any "Add something" wizard in Visual Studio.

    Best regards, ----------- Igor Sukhovhttp://sukhov.net

    -- modified at 12:02 Saturday 22nd July, 2006

    B P 2 Replies Last reply
    0
    • I Igor Sukhov

      "Using namespace" was considered bad when C++ was popular, but those times are long gone. "Using namespace" is the right and popular thing now and encouraged by any "Add something" wizard in Visual Studio.

      Best regards, ----------- Igor Sukhovhttp://sukhov.net

      -- modified at 12:02 Saturday 22nd July, 2006

      B Offline
      B Offline
      bob16972
      wrote on last edited by
      #7

      Igor Sukhov wrote:

      "Using namespace" is the right and popular thing now

      I'll remember to not use the scope operator as it is now wrong.:confused:

      Igor Sukhov wrote:

      when C++ was popular, but those times are long gone

      :rolleyes:

      1 Reply Last reply
      0
      • I Igor Sukhov

        "Using namespace" was considered bad when C++ was popular, but those times are long gone. "Using namespace" is the right and popular thing now and encouraged by any "Add something" wizard in Visual Studio.

        Best regards, ----------- Igor Sukhovhttp://sukhov.net

        -- modified at 12:02 Saturday 22nd July, 2006

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

        As far as house rule goes "Using namespace" in a header is off limits, but not in a cpp


        Some of us walk the memory lane, others plummet into a rabbit hole
        Tree in C# || Fold With Us! || sighist

        I 1 Reply Last reply
        0
        • B bob16972

          I'm fine with single scope operators like a::foo(); MSXML2::IXMLDOMNodePtr pNode=NULL; MSXML2::IXMLDOMNodeListPtr pNodeList=NULL; I guess my issue is with how deep this .NET stuff gets in terms of levels in... System.Windows.Forms.DialogResult.OK Thats just excessive and overkill. The "DialogResult.OK" is potentially defined elsewhere making it an ambiguous symbol potentially in larger apps. "Using" the namespace is not really a good all around solution except in the classroom.

          -- modified at 14:18 Saturday 22nd July, 2006

          R Offline
          R Offline
          Robert Rohde
          wrote on last edited by
          #9

          bob16972 wrote:

          The "OK" is potentially defined elsewhere making it an ambiguous symbol potentially in larger apps.

          Even when using the using statement you will have to write DialogResult.OK not only OK. Thus the chance of an ambiguouty is rather small. Robert

          B 1 Reply Last reply
          0
          • R Robert Rohde

            bob16972 wrote:

            The "OK" is potentially defined elsewhere making it an ambiguous symbol potentially in larger apps.

            Even when using the using statement you will have to write DialogResult.OK not only OK. Thus the chance of an ambiguouty is rather small. Robert

            B Offline
            B Offline
            bob16972
            wrote on last edited by
            #10

            I had already changed that once, but apparently my "modify" did not stick. I saw a comment like yours coming right after I originally posted it so I thought Id modify it but technology apparently failed me. I went ahead and re-clarified it. The "DialogResult.OK" could potentially be valid in other namespaces so my statement should bear some weight. For what it's worth...

            J 1 Reply Last reply
            0
            • B bob16972

              I had already changed that once, but apparently my "modify" did not stick. I saw a comment like yours coming right after I originally posted it so I thought Id modify it but technology apparently failed me. I went ahead and re-clarified it. The "DialogResult.OK" could potentially be valid in other namespaces so my statement should bear some weight. For what it's worth...

              J Offline
              J Offline
              J Dunlap
              wrote on last edited by
              #11

              Unlikely - but in the case that there is a clash you can rename one of them locally:

              using WFDialogResult = System.Windows.Forms.DialogResult;

              1 Reply Last reply
              0
              • B bob16972

                I was just casually strolling through VB'land and came across a question that had a snippet with this in it... If Result = System.Windows.Forms.DialogResult.OK Then I'm not a .NET person so forgive my inexperienced eyes, but are they really serious? That's quite long winded for something so trivial and probably common place. It makes me embrace my simple native loving VC++ 6.0 even tighter. This is a sad world indeed if that's progress. We are just asking for a repetitive motion injury with coding like that!

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

                The bit I don't get is why they have to store the result. The preceding line is almost certainly Dim Result as System.Windows.Forms.DialogResult = myForm.ShowDialog() Given that System.Windows.Forms is scope automatically anyhow, the code should look like this: if myForms.ShowDialog = DialogResult.OK Then

                Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                J 1 Reply Last reply
                0
                • C Christian Graus

                  The bit I don't get is why they have to store the result. The preceding line is almost certainly Dim Result as System.Windows.Forms.DialogResult = myForm.ShowDialog() Given that System.Windows.Forms is scope automatically anyhow, the code should look like this: if myForms.ShowDialog = DialogResult.OK Then

                  Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                  J Offline
                  J Offline
                  Jorgen Sigvardsson
                  wrote on last edited by
                  #13

                  Christian Graus wrote:

                  Given that System.Windows.Forms is scope automatically anyhow, the code should look like this: if myForms.ShowDialog = DialogResult.OK Then

                  Automatic due to a Koenig-like lookup, or because the wizard has injected a using System.Windows.Forms line somewhere in the file? If the former, then :cool:

                  -- From the Makers of Futurama

                  C N 2 Replies Last reply
                  0
                  • J Jorgen Sigvardsson

                    Christian Graus wrote:

                    Given that System.Windows.Forms is scope automatically anyhow, the code should look like this: if myForms.ShowDialog = DialogResult.OK Then

                    Automatic due to a Koenig-like lookup, or because the wizard has injected a using System.Windows.Forms line somewhere in the file? If the former, then :cool:

                    -- From the Makers of Futurama

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

                    Latter, I am afraid. In C#, you also can't put a using statement for a single object in a namespace, AFAIK you can't do the equivelant of using std::cout;

                    Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                    1 Reply Last reply
                    0
                    • B bob16972

                      "using" directives can cause name clashing, can they not?

                      -- modified at 12:33 Saturday 22nd July, 2006 How exactly is someone reading the code supposed to know which namespace something is from? If you have 25 "using" statements, they are going to have a hard time tracking down which class to look up in MSDN to understand it's usage later on when somebody else is maintaining your code. Am I missing something?

                      A Offline
                      A Offline
                      Alvaro Mendez
                      wrote on last edited by
                      #15

                      bob16972 wrote:

                      "using" directives can cause name clashing, can they not?

                      Yes, but it's rare. The convenience of not having to always fully qualify type names far outweighs the possibility of name collisions. If a collision occurs, the compiler will let you know.

                      bob16972 wrote:

                      How exactly is someone reading the code supposed to know which namespace something is from? If you have 25 "using" statements, they are going to have a hard time tracking down which class to look up in MSDN to understand it's usage later on when somebody else is maintaining your code. Am I missing something?

                      Yes: 1. The Visual Studio IDE is happy to show you a tool tip with the fully qualified name of the class when you hover over it. 2. Visual Studio is smart enough to bring up the proper help page for a class, even when it's not fully qualified. Regards, Alvaro


                      The bible was written when people were even more stupid than they are today. Can you imagine that? - David Cross

                      B 1 Reply Last reply
                      0
                      • A Alvaro Mendez

                        bob16972 wrote:

                        "using" directives can cause name clashing, can they not?

                        Yes, but it's rare. The convenience of not having to always fully qualify type names far outweighs the possibility of name collisions. If a collision occurs, the compiler will let you know.

                        bob16972 wrote:

                        How exactly is someone reading the code supposed to know which namespace something is from? If you have 25 "using" statements, they are going to have a hard time tracking down which class to look up in MSDN to understand it's usage later on when somebody else is maintaining your code. Am I missing something?

                        Yes: 1. The Visual Studio IDE is happy to show you a tool tip with the fully qualified name of the class when you hover over it. 2. Visual Studio is smart enough to bring up the proper help page for a class, even when it's not fully qualified. Regards, Alvaro


                        The bible was written when people were even more stupid than they are today. Can you imagine that? - David Cross

                        B Offline
                        B Offline
                        bob16972
                        wrote on last edited by
                        #16

                        Thanks for the info! I guess I never really noticed all the potential information from hovering. Most of the time it's redundant to what's on the code page so I'm guessing I got used to blanking it out and ignoring it.

                        1 Reply Last reply
                        0
                        • J Jorgen Sigvardsson

                          Christian Graus wrote:

                          Given that System.Windows.Forms is scope automatically anyhow, the code should look like this: if myForms.ShowDialog = DialogResult.OK Then

                          Automatic due to a Koenig-like lookup, or because the wizard has injected a using System.Windows.Forms line somewhere in the file? If the former, then :cool:

                          -- From the Makers of Futurama

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

                          Jörgen Sigvardsson wrote:

                          Automatic due to a Koenig-like lookup

                          :-D You give them way too much credit, my friend.


                          My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

                          1 Reply Last reply
                          0
                          • P peterchen

                            As far as house rule goes "Using namespace" in a header is off limits, but not in a cpp


                            Some of us walk the memory lane, others plummet into a rabbit hole
                            Tree in C# || Fold With Us! || sighist

                            I Offline
                            I Offline
                            Igor Sukhov
                            wrote on last edited by
                            #18

                            Thanks to the .NET we don't have to care about headers and source files, compilation and linking anymore. Does anybody know Microsoft plans for WTF (like Windows Transofrmation Foundation) abbreviation ?

                            Best regards, ----------- Igor Sukhovhttp://sukhov.net

                            P 1 Reply Last reply
                            0
                            • I Igor Sukhov

                              Thanks to the .NET we don't have to care about headers and source files, compilation and linking anymore. Does anybody know Microsoft plans for WTF (like Windows Transofrmation Foundation) abbreviation ?

                              Best regards, ----------- Igor Sukhovhttp://sukhov.net

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

                              Thank god! using namespace "feels" ok in e.g. C# since it has a well defined scope. using namespace in a C++ header, otoh, is recipe for header-sorting disaster. The C++ compilation model is IMO the worst legacy about the language, and it would still be fixable.


                              Some of us walk the memory lane, others plummet into a rabbit hole
                              Tree in C# || Fold With Us! || sighist

                              1 Reply Last reply
                              0
                              • B bob16972

                                I was just casually strolling through VB'land and came across a question that had a snippet with this in it... If Result = System.Windows.Forms.DialogResult.OK Then I'm not a .NET person so forgive my inexperienced eyes, but are they really serious? That's quite long winded for something so trivial and probably common place. It makes me embrace my simple native loving VC++ 6.0 even tighter. This is a sad world indeed if that's progress. We are just asking for a repetitive motion injury with coding like that!

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #20

                                Its the same in C++, if you use namespaceing. What is bizarre is that OK, an oft used constant, should be buried so deep. I suppose it is consistent, but where would you put 'TRUE' and 'FALSE'? How about, System.Logic.Boolean.Dualisim.Values.TRUE. Or should that be System.Logic.Dualism.Boolean.Values.TRUE. Kind of makes you wonder where you fit 'mu' logic but there you go.

                                Tronché pas ma miche!

                                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