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

C# Irritation

Scheduled Pinned Locked Moved The Lounge
csharpc++comdesignhelp
46 Posts 23 Posters 1 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.
  • S Simon P Stevens

    Daniel Grunwald wrote:

    They're two different languages. Get over it.

    Very good point, and succinctly put. C# has totally different design goals.

    Simon

    J Offline
    J Offline
    Joe Woodbury
    wrote on last edited by
    #37

    Simon Stevens wrote:

    C# has totally different design goals.

    I would phrase it that C# has totally different design constraints.

    Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

    1 Reply Last reply
    0
    • H hairy_hats

      They still haven't produced a coordinate system where Y increases as you go up. This means that polar coordinates rotate the wrong way around the origin. How difficult can it be? They don't have X increasing to the left so why have Y increasing downwards? It's not difficult, other systems (e.g. RiscOS) have done it the right way up for years.

      J Offline
      J Offline
      Joe Woodbury
      wrote on last edited by
      #38

      Because in user interfaces, the upper left corner is the origin. When you resize a screen, for example, you typically want the origin to remain where it is and have the bottom of the window reduce or expand.

      Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

      D H 2 Replies Last reply
      0
      • A Al Beback

        Shog9 wrote:

        C++: method would return a const reference. Any naive caller attempting to modify it would trigger a compiler error.

        Yes, and that naive caller (who's also foolish and stubborn) soon discovers that he can cast away constness and get away with murder. :-)

        Shog9 wrote:

        C#: method must return interface rather than direct object reference

        This is the way I would do it (which the above guy can also cast away if he wants).

        My latest C# extension method:   public static bool In<T>(this T value, params T[] values)   {       return values.Any(v => v.Equals(value));   } Example:   bool valid = answer.In("Yes", "No", "Dunno");

        S Offline
        S Offline
        Shog9 0
        wrote on last edited by
        #39

        Al Beback wrote:

        Yes, and that naive caller (who's also foolish and stubborn) soon discovers that he can cast away constness and get away with murder.

        Yeah, and i can still access anything i want to with Reflection in C#, or with direct memory access in C++. I can still write a COM method that does evil things with (in,out) parameters. So what? This isn't about security, it's about the ability to specify what's appropriate and have the compiler help you out if you forget what's what. You know. The same reason some of us use languages with explicit datatypes. When i want my language to act like Javascript, i use Javascript.

        Al Beback wrote:

        This is the way I would do it (which the above guy can also cast away if he wants).

        You must work with evil, evil people... :~

        Citizen 20.1.01

        'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'

        A 1 Reply Last reply
        0
        • J Joe Woodbury

          Because in user interfaces, the upper left corner is the origin. When you resize a screen, for example, you typically want the origin to remain where it is and have the bottom of the window reduce or expand.

          Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

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

          actually the convention is hardware derived. The electron beam in a CRT begins painting from the upper left.

          Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

          1 Reply Last reply
          0
          • W wout de zeeuw

            True, sharing the pain is is always good.

            Wout

            V Offline
            V Offline
            VanityClaw
            wrote on last edited by
            #41

            Nah - This guys just whining.... Nothing better to do?

            1 Reply Last reply
            0
            • W wout de zeeuw

              You need some anger management. :laugh:

              Wout

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

              10 out of 10 C++ programmers prefer unmanaged anger.

              We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
              blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist

              W 1 Reply Last reply
              0
              • P peterchen

                10 out of 10 C++ programmers prefer unmanaged anger.

                We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist

                W Offline
                W Offline
                wout de zeeuw
                wrote on last edited by
                #43

                Yeah, the choice of words was an invitation for puns! :-D

                Wout

                P 1 Reply Last reply
                0
                • W wout de zeeuw

                  Yeah, the choice of words was an invitation for puns! :-D

                  Wout

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

                  always happ to deliver :D

                  We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                  blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist

                  1 Reply Last reply
                  0
                  • S Shog9 0

                    Al Beback wrote:

                    Yes, and that naive caller (who's also foolish and stubborn) soon discovers that he can cast away constness and get away with murder.

                    Yeah, and i can still access anything i want to with Reflection in C#, or with direct memory access in C++. I can still write a COM method that does evil things with (in,out) parameters. So what? This isn't about security, it's about the ability to specify what's appropriate and have the compiler help you out if you forget what's what. You know. The same reason some of us use languages with explicit datatypes. When i want my language to act like Javascript, i use Javascript.

                    Al Beback wrote:

                    This is the way I would do it (which the above guy can also cast away if he wants).

                    You must work with evil, evil people... :~

                    Citizen 20.1.01

                    'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'

                    A Offline
                    A Offline
                    Al Beback
                    wrote on last edited by
                    #45

                    I was just making light of the fact that compilers can only go so far; it's really up to the developers to write proper code. Some languages help in some ways; others in other ways. I wish C++ enforced boolean expressions inside their conditional statements. :^)

                    Shog9 wrote:

                    You must work with evil, evil people...

                    Sometimes it's hard to tell.:-)

                    My latest C# extension method:   public static bool In<T>(this T value, params T[] values)   {       return values.Any(v => v.Equals(value));   } Example:   bool valid = answer.In("Yes", "No", "Dunno");

                    1 Reply Last reply
                    0
                    • J Joe Woodbury

                      Because in user interfaces, the upper left corner is the origin. When you resize a screen, for example, you typically want the origin to remain where it is and have the bottom of the window reduce or expand.

                      Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                      H Offline
                      H Offline
                      hairy_hats
                      wrote on last edited by
                      #46

                      Maybe so, but mathematical convention is for Y to increase going up, so as my main output in my Windows is graphical it's a PITA for GDI(+) to be upside-down! :) I think there should be a simple switch to turn it over, and another irritation, there should also be a simple way to grab the printer settings and set up a paginated display such as in Word.

                      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