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. Why I hate C++

Why I hate C++

Scheduled Pinned Locked Moved The Lounge
c++question
60 Posts 23 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.
  • M MKJCP

    But without those type of people we would never have put a man on the moon. Remember, it takes people with real jobs to get real things done.

    G Offline
    G Offline
    Gary Wheeler
    wrote on last edited by
    #48

    Margaret Hamilton (scientist) - Wikipedia[^]

    Software Zen: delete this;

    M 1 Reply Last reply
    0
    • G Gary Wheeler

      Margaret Hamilton (scientist) - Wikipedia[^]

      Software Zen: delete this;

      M Offline
      M Offline
      MKJCP
      wrote on last edited by
      #49

      Interesting bit of history, thanks.

      1 Reply Last reply
      0
      • M Munchies_Matt

        some_array[value];

        [] is over ridden and is commented as // find element matching _Keyval or insert with default mapped Which actually means 'insert it at the end of the list'. Why not a function called 'add_to_map_at_end'? Christ I hate C++ sometimes, it is so up its arse pointless at times.

        E Offline
        E Offline
        englebart
        wrote on last edited by
        #50

        Don't get frustated, create your own adpator so you can do something like: [static] map_adaptor::wrap(some_array_which_is_really_not_a_primitive_array).find_element_or_insert(value);

        1 Reply Last reply
        0
        • M Munchies_Matt

          some_array[value];

          [] is over ridden and is commented as // find element matching _Keyval or insert with default mapped Which actually means 'insert it at the end of the list'. Why not a function called 'add_to_map_at_end'? Christ I hate C++ sometimes, it is so up its arse pointless at times.

          A Offline
          A Offline
          Andy Hoffmeyer
          wrote on last edited by
          #51

          Don't blame the language or its standard library for your inability to RTFM. From std::map::operator[] - cppreference.com: operator[] is non-const because it inserts the key if it doesn't exist.

          M 1 Reply Last reply
          0
          • A Andy Hoffmeyer

            Don't blame the language or its standard library for your inability to RTFM. From std::map::operator[] - cppreference.com: operator[] is non-const because it inserts the key if it doesn't exist.

            M Offline
            M Offline
            Munchies_Matt
            wrote on last edited by
            #52

            No shit it inserts it, I just said that. RTFOT FFS.

            1 Reply Last reply
            0
            • M Munchies_Matt

              some_array[value];

              [] is over ridden and is commented as // find element matching _Keyval or insert with default mapped Which actually means 'insert it at the end of the list'. Why not a function called 'add_to_map_at_end'? Christ I hate C++ sometimes, it is so up its arse pointless at times.

              S Offline
              S Offline
              Steve Naidamast
              wrote on last edited by
              #53

              Why I don't hate the C++ language I have found it to be overly arcane with its syntax...

              Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

              1 Reply Last reply
              0
              • M Munchies_Matt

                I have come across some right howlers in this code base. Anyway, C++, of all the languages I have used, from ADA, to Prolog, through VB and Java, allows this kind of sillyness. So it is for that that I condemn it. And personally I dont see that OO is a massive benefit over a procedural language except in specific instances. And in fact it is often worse. Particularly in control code, code that is not data centric, but process centric.

                S Offline
                S Offline
                SeattleC
                wrote on last edited by
                #54

                If you had ever had the experience of building a large software project using non-OO code, you would sing a different tune.

                M 1 Reply Last reply
                0
                • S SeattleC

                  If you had ever had the experience of building a large software project using non-OO code, you would sing a different tune.

                  M Offline
                  M Offline
                  Munchies_Matt
                  wrote on last edited by
                  #55

                  You can build a large project from procedural code just as well, it all depends on the architecture you design. Look at the WIndows kernel. All built in C (with a bit of assembler in the HAL)

                  S 1 Reply Last reply
                  0
                  • B Bob1000

                    You are pretty close to the perfect answer.... C++ is as sensible or as stupid and daft as you want it to be. Unfortunately not helped by the C++ ISO bods adding more and more different ways to make it more complicated without adding very much to real C++ users. The idea of less is more is lost on them. Could do with minimum C++ with a lot of the bad and new stuff removed. As for the Template library - great functionality but let down by the ludicrous syntax etc.

                    C Offline
                    C Offline
                    Carlosian
                    wrote on last edited by
                    #56

                    Yes, I still keep the AT&T C++ book on my desk. A slim volume describing a nice language which was an (IMO) elegant OO extension to 'C'. Now you can look at valid C++ syntax that looks like a cat walked across the keyboard. They seem to be trying to put every feature of every other language into C++ syntax and comprehensibility be damned.

                    1 Reply Last reply
                    0
                    • M Munchies_Matt

                      You can build a large project from procedural code just as well, it all depends on the architecture you design. Look at the WIndows kernel. All built in C (with a bit of assembler in the HAL)

                      S Offline
                      S Offline
                      SeattleC
                      wrote on last edited by
                      #57

                      And have you, personally, built a million-line code-base in purely procedural code? In C, perhaps? If you have done so, and have done the same using an object-oriented language, then you have standing to dismiss object oriented programming as no better than procedural. Merely asserting that it is possible is not a very strong claim. Pointing to 30-year-old code like the Windows Kernel, that was developed before the broad availability of OO languages is meaningless.

                      M 1 Reply Last reply
                      0
                      • S SeattleC

                        And have you, personally, built a million-line code-base in purely procedural code? In C, perhaps? If you have done so, and have done the same using an object-oriented language, then you have standing to dismiss object oriented programming as no better than procedural. Merely asserting that it is possible is not a very strong claim. Pointing to 30-year-old code like the Windows Kernel, that was developed before the broad availability of OO languages is meaningless.

                        M Offline
                        M Offline
                        Munchies_Matt
                        wrote on last edited by
                        #58

                        Ah, so because I havnt done it it isnt true. OK, gotcha! ;)

                        SeattleC++ wrote:

                        30-year-old code like the Windows Kernel,

                        :laugh: :laugh: :laugh: NT is old, 2000 was modified to include PnP and power handling. Windows 10 is even more recent.

                        1 Reply Last reply
                        0
                        • M Munchies_Matt

                          Here you go: vc-19-changes/unordered_map at master · icestudent/vc-19-changes · GitHub[^]

                          I Offline
                          I Offline
                          Ian Bell 2
                          wrote on last edited by
                          #59

                          Why reference the code and what is it you are requesting?

                          History is the joke the living play on the dead.

                          1 Reply Last reply
                          0
                          • M Munchies_Matt

                            Seems to be something like that. Anyway, reading my_array[value]; and that is it, is damn confusiing!

                            K Offline
                            K Offline
                            KBZX5000
                            wrote on last edited by
                            #60

                            I agree 100%

                            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