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. To like or dislike C Sharp

To like or dislike C Sharp

Scheduled Pinned Locked Moved The Lounge
csharpc++learning
44 Posts 27 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.
  • A Argonia

    At work i am working alone on the only remaining c++ project. But now new we started working on a new project in c#. So i am writing one of its projects (I pity my coworkers for working with me on the same project) and i was thinking "Oh i will make The class A private so it will be used only with the Class B and just use friend" but of course M$ had other ideas. Today was a good day i found another reason to dislike C Sharp. So i wonder what makes you people like or dislike C Sharp

    Microsoft ... the only place where VARIANT_TRUE != true

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

    Argonia wrote:

    Oh i will make The class A private so it will be used only with the Class B and just use friend

    Good grief. Even when I was coding C++ (which I did for years) I thought private classes and "friends" were a bad design. Yes, C++ templates are a lot more flexible than C# generics, yes, multiple inheritance does have its uses when used carefully and interfaces don't always cut it, but other than that, I quite enjoy the ease of C# development. And you can specify "friend" assemblies in C#, but again, I consider it a bad idea. Marc

    Day 1: Spider Database Navigator Unit Testing Succinctly

    P pkfoxP 2 Replies Last reply
    0
    • C Chris Losinger

      OriginalGriff wrote:

      it is a lot harder to write impenetrable cr@p in C# than it is in C++.

      maybe, as long as you don't get near LINQ or anonymous functions.

      image processing toolkits | batch image processing

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

      It's a new syntax; but as long as you resist the urge to be stupid* with it linq one liners can be as easy to understand as the 3-6 line loops they replaced while taking less actual time to read because they're much shorter. * Or to click yes every time R#er says "I can Linqify that loop for you" because it can and does produce truly awful results in some cases. OTOH most of those WTFs can also be written as a much nicer Linq expression if you ask Google for advice.

      Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

      1 Reply Last reply
      0
      • A Argonia

        At work i am working alone on the only remaining c++ project. But now new we started working on a new project in c#. So i am writing one of its projects (I pity my coworkers for working with me on the same project) and i was thinking "Oh i will make The class A private so it will be used only with the Class B and just use friend" but of course M$ had other ideas. Today was a good day i found another reason to dislike C Sharp. So i wonder what makes you people like or dislike C Sharp

        Microsoft ... the only place where VARIANT_TRUE != true

        D Offline
        D Offline
        Deflinek
        wrote on last edited by
        #37

        Argonia wrote:

        "Oh i will make The class A private so it will be used only with the Class B and just use friend"

        Ahhh the joys of C++, where friends can touch your private mem.... ;)

        -- "My software never has bugs. It just develops random features."

        1 Reply Last reply
        0
        • G Gizz

          Seconded. Anyway, friend? really?

          A Offline
          A Offline
          Albert Holguin
          wrote on last edited by
          #38

          Nobody likes friends! ;P :laugh:

          1 Reply Last reply
          0
          • L Lost User

            Most C++ programmers starting with C# like it. Maybe you don't like C++?

            A Offline
            A Offline
            Albert Holguin
            wrote on last edited by
            #39

            I don't think I'd agree with that statement...

            1 Reply Last reply
            0
            • M Marc Clifton

              Argonia wrote:

              Oh i will make The class A private so it will be used only with the Class B and just use friend

              Good grief. Even when I was coding C++ (which I did for years) I thought private classes and "friends" were a bad design. Yes, C++ templates are a lot more flexible than C# generics, yes, multiple inheritance does have its uses when used carefully and interfaces don't always cut it, but other than that, I quite enjoy the ease of C# development. And you can specify "friend" assemblies in C#, but again, I consider it a bad idea. Marc

              Day 1: Spider Database Navigator Unit Testing Succinctly

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #40

              Hear! Hear!

              1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                I like it. If you stop thinking "cut down C++" and consider it as a separate language in it's own right, it is very good - in some ways a lot better than C++ in that it is a lot harder to write impenetrable cr@p in C# than it is in C++. If you want a class that is only available to Class B, then declare it as private and part of the B Class:

                public class B
                {
                private class A
                {
                ...
                }
                A a = new A();
                }

                J Offline
                J Offline
                jschell
                wrote on last edited by
                #41

                OriginalGriff wrote:

                in that it is a lot harder to write impenetrable cr@p in C# than it is in C++.

                Pretty sure it is ridiculously easy to write impenetrable code in any language.

                1 Reply Last reply
                0
                • M Marc Clifton

                  Argonia wrote:

                  Oh i will make The class A private so it will be used only with the Class B and just use friend

                  Good grief. Even when I was coding C++ (which I did for years) I thought private classes and "friends" were a bad design. Yes, C++ templates are a lot more flexible than C# generics, yes, multiple inheritance does have its uses when used carefully and interfaces don't always cut it, but other than that, I quite enjoy the ease of C# development. And you can specify "friend" assemblies in C#, but again, I consider it a bad idea. Marc

                  Day 1: Spider Database Navigator Unit Testing Succinctly

                  pkfoxP Offline
                  pkfoxP Offline
                  pkfox
                  wrote on last edited by
                  #42

                  +1 for not liking *friends* they go against the grain of *encapsulation* for one thing, and another thing *I don't like them* ;-) We can’t stop here, this is bat country - Hunter S Thompson RIP

                  1 Reply Last reply
                  0
                  • P Pete OHanlon

                    Argonia wrote:

                    After few years/decades/centuries(lets hope) M$ will stop supporting .Net Platform and c# will die with it.

                    Why would C# die with it? It doesn't need to run on .NET - there is at least one alternative to the .NET framework, and C# is now producing code for iOS and Android as well.

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #43

                    Exactly; a language is just a language. In theory it can be implemented for any system.

                    1 Reply Last reply
                    0
                    • C Chris Losinger

                      OriginalGriff wrote:

                      it is a lot harder to write impenetrable cr@p in C# than it is in C++.

                      maybe, as long as you don't get near LINQ or anonymous functions.

                      image processing toolkits | batch image processing

                      R Offline
                      R Offline
                      Rob Philpott
                      wrote on last edited by
                      #44

                      Yes, yes, yes. 100% yes.

                      Regards, Rob Philpott.

                      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