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. Fluent in C++

Fluent in C++

Scheduled Pinned Locked Moved The Lounge
c++databaseperformance
28 Posts 10 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.
  • M megaadam

    Please forgive my curiosity. You have been in that place for quite some time (I think), do you ever consider a switch?

    ... such stuff as dreams are made on

    D Offline
    D Offline
    den2k88
    wrote on last edited by
    #13

    Almost 5 years, 9 months as a (paid) intern, 3 years as apprentice and then finally hired for good. I am considering a switch, for a number of reasosn, mostly for the low pay for the job I do but the working environment has its faults that are grating on my nerves after all this time. Its 4 years and a half that we have to upgrade to VS2008, I started using it but was forced every effing time to reimport all the changes in the VS6 project and fix the effing code because several things present and accepted in VS2008 fail under VS6. I stopped due to frustration.

    DURA LEX, SED LEX GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani

    1 Reply Last reply
    0
    • P Pete OHanlon

      So, as some of the longer term viewers may know, I used to be a C++ developer; way back in the mists of time. I loved C++ and then the new girl came to town and seduced me with her wiles. No longer would I put up with manual memory management, iterating over for statements when I could use the seductive foreach. Well, I have recently started getting quite heavily back into C++ using the newer additions to the language such as auto and for (auto index : my_vector) as a foreach. The features that are available now are great and C++ really has matured. So much so that I'm using it to write some drone software. I'm a big fan of fluent interfaces so I thought I'd play around and see how they work in C++ to see if I still want to keep with the new C++ and damn it, it's so straightforward.

      #pragma once
      #include <librealsense/rs.hpp>

      class RealSenseStream
      {
      public:
      explicit RealSenseStream(rs::device* device)
      {
      this->device = device;
      }
      ~RealSenseStream()
      {
      }

      RealSenseStream &WithDepth(rs::preset preset)
      {
      device->enable_stream(rs::stream::depth, preset);
      return *this;
      }

      RealSenseStream &WithColor(rs::preset preset)
      {
      device->enable_stream(rs::stream::color, preset);
      return *this;
      }

      private:
      rs::device* device;
      };

      This space for rent

      K Offline
      K Offline
      Kirill Illenseer
      wrote on last edited by
      #14

      Indeed, modern C++ ist an elegant language. It has one huge flaw though: It's legacy. I, for example, can write elegant code in modern C++, but several of my coworkers can't. Some even brush me off with "I've learned it like that in the 60s and I won't learn anything new". Some even treat the C++-compiler as a C-compiler and write plain C, bluntly ignoring all the wonders of std::string or array. This makes me think that C++ still isn't ready for prime-time. The standard needs to deprecate all this legacy stuff and throw warnings all over the place if someone refuses to dig into the last 50 years of CS progression. If C++ starts doing that, I'll take it seriously. Until then, I'll stick to C# (unless I'm on a ressource-contrained embedded target).

      H 1 Reply Last reply
      0
      • P Pete OHanlon

        So, as some of the longer term viewers may know, I used to be a C++ developer; way back in the mists of time. I loved C++ and then the new girl came to town and seduced me with her wiles. No longer would I put up with manual memory management, iterating over for statements when I could use the seductive foreach. Well, I have recently started getting quite heavily back into C++ using the newer additions to the language such as auto and for (auto index : my_vector) as a foreach. The features that are available now are great and C++ really has matured. So much so that I'm using it to write some drone software. I'm a big fan of fluent interfaces so I thought I'd play around and see how they work in C++ to see if I still want to keep with the new C++ and damn it, it's so straightforward.

        #pragma once
        #include <librealsense/rs.hpp>

        class RealSenseStream
        {
        public:
        explicit RealSenseStream(rs::device* device)
        {
        this->device = device;
        }
        ~RealSenseStream()
        {
        }

        RealSenseStream &WithDepth(rs::preset preset)
        {
        device->enable_stream(rs::stream::depth, preset);
        return *this;
        }

        RealSenseStream &WithColor(rs::preset preset)
        {
        device->enable_stream(rs::stream::color, preset);
        return *this;
        }

        private:
        rs::device* device;
        };

        This space for rent

        A Offline
        A Offline
        Anna Jayne Metcalfe
        wrote on last edited by
        #15

        Welcome back to the codeface! ;) C++ 14 is amazing, and a very different language from the one I had to use until a few years ago. We had the pleasure of meeting Bjarne at the ACCU Conference a few years back when C++ 11 first landed, and his enthusiasm for the future of the language was infectious. I'm a big fan of std::shared_ptr, auto, range based loops and std::thread. All have (and still are) simplifying our code significantly. Then of course there are move semantics and rvalue references, which can dramatically improve performance. But more is coming - C++ 17[^] is nearly done (though sadly without the modules proposal[^], despite it already being implemented in Clang) and C++ 20 is being planned.

        Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

        P 1 Reply Last reply
        0
        • A Anna Jayne Metcalfe

          Welcome back to the codeface! ;) C++ 14 is amazing, and a very different language from the one I had to use until a few years ago. We had the pleasure of meeting Bjarne at the ACCU Conference a few years back when C++ 11 first landed, and his enthusiasm for the future of the language was infectious. I'm a big fan of std::shared_ptr, auto, range based loops and std::thread. All have (and still are) simplifying our code significantly. Then of course there are move semantics and rvalue references, which can dramatically improve performance. But more is coming - C++ 17[^] is nearly done (though sadly without the modules proposal[^], despite it already being implemented in Clang) and C++ 20 is being planned.

          Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

          P Offline
          P Offline
          Pete OHanlon
          wrote on last edited by
          #16

          It's a vastly different language to the one I knew. As I have the advantage of writing from scratch, I have the advantage of not having to deal with legacy and cruft. It's a liberating experience.

          This space for rent

          A 1 Reply Last reply
          0
          • K Kirill Illenseer

            Indeed, modern C++ ist an elegant language. It has one huge flaw though: It's legacy. I, for example, can write elegant code in modern C++, but several of my coworkers can't. Some even brush me off with "I've learned it like that in the 60s and I won't learn anything new". Some even treat the C++-compiler as a C-compiler and write plain C, bluntly ignoring all the wonders of std::string or array. This makes me think that C++ still isn't ready for prime-time. The standard needs to deprecate all this legacy stuff and throw warnings all over the place if someone refuses to dig into the last 50 years of CS progression. If C++ starts doing that, I'll take it seriously. Until then, I'll stick to C# (unless I'm on a ressource-contrained embedded target).

            H Offline
            H Offline
            Herbie Mountjoy
            wrote on last edited by
            #17

            This sounds like me. I was once quite proficient in C++ but then I got into C# and simply haven't updated my C++ at all. Last time I used it was in 2003 I think. The latest versions look so different and have so many new features that I would really have to study hard to catch up.

            We're philosophical about power outages here. A.C. come, A.C. go.

            1 Reply Last reply
            0
            • P Pete OHanlon

              So, as some of the longer term viewers may know, I used to be a C++ developer; way back in the mists of time. I loved C++ and then the new girl came to town and seduced me with her wiles. No longer would I put up with manual memory management, iterating over for statements when I could use the seductive foreach. Well, I have recently started getting quite heavily back into C++ using the newer additions to the language such as auto and for (auto index : my_vector) as a foreach. The features that are available now are great and C++ really has matured. So much so that I'm using it to write some drone software. I'm a big fan of fluent interfaces so I thought I'd play around and see how they work in C++ to see if I still want to keep with the new C++ and damn it, it's so straightforward.

              #pragma once
              #include <librealsense/rs.hpp>

              class RealSenseStream
              {
              public:
              explicit RealSenseStream(rs::device* device)
              {
              this->device = device;
              }
              ~RealSenseStream()
              {
              }

              RealSenseStream &WithDepth(rs::preset preset)
              {
              device->enable_stream(rs::stream::depth, preset);
              return *this;
              }

              RealSenseStream &WithColor(rs::preset preset)
              {
              device->enable_stream(rs::stream::color, preset);
              return *this;
              }

              private:
              rs::device* device;
              };

              This space for rent

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

              All of the input and output operators in old, old C++ offered fluent interfaces. cin >> x >> y; cout << setw(10) << x << setw(12) << y << endl; Ignoring references, you can always just

              return this;

              at the end of a function which requires code like:

              variable->f1(args1)->f2(args2)->f3(args3);

              P 1 Reply Last reply
              0
              • E englebart

                All of the input and output operators in old, old C++ offered fluent interfaces. cin >> x >> y; cout << setw(10) << x << setw(12) << y << endl; Ignoring references, you can always just

                return this;

                at the end of a function which requires code like:

                variable->f1(args1)->f2(args2)->f3(args3);

                P Offline
                P Offline
                Pete OHanlon
                wrote on last edited by
                #19

                I'm happy enough with what I've got now.

                This space for rent

                1 Reply Last reply
                0
                • P Pete OHanlon

                  It's a vastly different language to the one I knew. As I have the advantage of writing from scratch, I have the advantage of not having to deal with legacy and cruft. It's a liberating experience.

                  This space for rent

                  A Offline
                  A Offline
                  Anna Jayne Metcalfe
                  wrote on last edited by
                  #20

                  It certainly is. :) Thought of coming along to the ACCU Conference? There's a strong C++ track (and sometimes even a C++ Pub Quiz with free beer...) there.

                  Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                  P 1 Reply Last reply
                  0
                  • A Anna Jayne Metcalfe

                    It certainly is. :) Thought of coming along to the ACCU Conference? There's a strong C++ track (and sometimes even a C++ Pub Quiz with free beer...) there.

                    Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                    P Offline
                    P Offline
                    Pete OHanlon
                    wrote on last edited by
                    #21

                    It depends how serious I get with this drone software. The more I'm playing around with this, the more I love working with drones and I can see me going further with it.

                    This space for rent

                    A 1 Reply Last reply
                    0
                    • P Pete OHanlon

                      It depends how serious I get with this drone software. The more I'm playing around with this, the more I love working with drones and I can see me going further with it.

                      This space for rent

                      A Offline
                      A Offline
                      Anna Jayne Metcalfe
                      wrote on last edited by
                      #22

                      Sounds cool. Have fun!

                      Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                      P 1 Reply Last reply
                      0
                      • A Anna Jayne Metcalfe

                        Sounds cool. Have fun!

                        Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                        P Offline
                        P Offline
                        Pete OHanlon
                        wrote on last edited by
                        #23

                        I'll be writing this up and posting video footage so you will be able to take a look at least at some of the code. It's really cool stuff.

                        This space for rent

                        A 1 Reply Last reply
                        0
                        • P Pete OHanlon

                          I'll be writing this up and posting video footage so you will be able to take a look at least at some of the code. It's really cool stuff.

                          This space for rent

                          A Offline
                          A Offline
                          Anna Jayne Metcalfe
                          wrote on last edited by
                          #24

                          Look forward to it :)

                          Anna (@annajayne) Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"

                          1 Reply Last reply
                          0
                          • P Pete OHanlon

                            So, as some of the longer term viewers may know, I used to be a C++ developer; way back in the mists of time. I loved C++ and then the new girl came to town and seduced me with her wiles. No longer would I put up with manual memory management, iterating over for statements when I could use the seductive foreach. Well, I have recently started getting quite heavily back into C++ using the newer additions to the language such as auto and for (auto index : my_vector) as a foreach. The features that are available now are great and C++ really has matured. So much so that I'm using it to write some drone software. I'm a big fan of fluent interfaces so I thought I'd play around and see how they work in C++ to see if I still want to keep with the new C++ and damn it, it's so straightforward.

                            #pragma once
                            #include <librealsense/rs.hpp>

                            class RealSenseStream
                            {
                            public:
                            explicit RealSenseStream(rs::device* device)
                            {
                            this->device = device;
                            }
                            ~RealSenseStream()
                            {
                            }

                            RealSenseStream &WithDepth(rs::preset preset)
                            {
                            device->enable_stream(rs::stream::depth, preset);
                            return *this;
                            }

                            RealSenseStream &WithColor(rs::preset preset)
                            {
                            device->enable_stream(rs::stream::color, preset);
                            return *this;
                            }

                            private:
                            rs::device* device;
                            };

                            This space for rent

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

                            C++ and MFC; I did everything I could to avoid that sack of shite: Basic Assembler PC COBOL Pascal C Access dBase Paradox VB Clipper FoxPro Visual FoxPro Delphi C# Windows Forms WPF ...

                            P 1 Reply Last reply
                            0
                            • P Pete OHanlon

                              So, as some of the longer term viewers may know, I used to be a C++ developer; way back in the mists of time. I loved C++ and then the new girl came to town and seduced me with her wiles. No longer would I put up with manual memory management, iterating over for statements when I could use the seductive foreach. Well, I have recently started getting quite heavily back into C++ using the newer additions to the language such as auto and for (auto index : my_vector) as a foreach. The features that are available now are great and C++ really has matured. So much so that I'm using it to write some drone software. I'm a big fan of fluent interfaces so I thought I'd play around and see how they work in C++ to see if I still want to keep with the new C++ and damn it, it's so straightforward.

                              #pragma once
                              #include <librealsense/rs.hpp>

                              class RealSenseStream
                              {
                              public:
                              explicit RealSenseStream(rs::device* device)
                              {
                              this->device = device;
                              }
                              ~RealSenseStream()
                              {
                              }

                              RealSenseStream &WithDepth(rs::preset preset)
                              {
                              device->enable_stream(rs::stream::depth, preset);
                              return *this;
                              }

                              RealSenseStream &WithColor(rs::preset preset)
                              {
                              device->enable_stream(rs::stream::color, preset);
                              return *this;
                              }

                              private:
                              rs::device* device;
                              };

                              This space for rent

                              H Offline
                              H Offline
                              hooodaticus
                              wrote on last edited by
                              #26

                              You seem to be retaining the C# coding style, single-file and all :)

                              P 1 Reply Last reply
                              0
                              • H hooodaticus

                                You seem to be retaining the C# coding style, single-file and all :)

                                P Offline
                                P Offline
                                Pete OHanlon
                                wrote on last edited by
                                #27

                                I'm really not. It was just easier to post a sample like that. My real code is spread out.

                                This space for rent

                                1 Reply Last reply
                                0
                                • L Lost User

                                  C++ and MFC; I did everything I could to avoid that sack of shite: Basic Assembler PC COBOL Pascal C Access dBase Paradox VB Clipper FoxPro Visual FoxPro Delphi C# Windows Forms WPF ...

                                  P Offline
                                  P Offline
                                  Pete OHanlon
                                  wrote on last edited by
                                  #28

                                  I spent a lot of time in MFC. Then I discovered ATL and wasee hooked until I moved to .NET.

                                  This space for rent

                                  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