Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. The Lounge
  4. "Real" code vs "Fake" code
QtWS25 Last Chance

"Real" code vs "Fake" code

Scheduled Pinned Locked Moved Unsolved The Lounge
21 Posts 6 Posters 4.5k Views
  • 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.
  • F Offline
    F Offline
    fcarney
    wrote on 29 May 2019, 20:26 last edited by
    #1

    Anybody else have a strange sense of what is "real" code vs what is "fake" code? I am not even sure how to describe the "feeling". For instance, I see C++ programming as real coding, but at the same time feel like QML is less real. When I was programming Python a lot I still felt like Python was less real than C++. Even when I did python JIT programming there was this sensation of it not being real. So I don't know if its just a sensation around the syntax or if its something else. Like compiled vs interpreted. Yet, even when I "compiled" my scripting code it felt less "real".

    Maybe if it doesn't have the potential to produce a segfault its not "real" coding? Also, I don't think I am equating "real" with some kind of machismo thing. Its different than that. Perhaps "closer to the metal" is what I am feeling.

    C++ is a perfectly valid school of magic.

    J J 2 Replies Last reply 29 May 2019, 21:52
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 29 May 2019, 20:48 last edited by
      #2

      Hi,

      Sure you can make Python segfault, the reference implementation is written in C ^^

      For QMl, I think your feeling comes from the fact that the language is JavaScript based which for a long time was only used to do funny things in website but has since evolved.

      Age of the language might also come into play when thinking about "serious" language as well as where they are used.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      F 1 Reply Last reply 29 May 2019, 20:52
      0
      • S SGaist
        29 May 2019, 20:48

        Hi,

        Sure you can make Python segfault, the reference implementation is written in C ^^

        For QMl, I think your feeling comes from the fact that the language is JavaScript based which for a long time was only used to do funny things in website but has since evolved.

        Age of the language might also come into play when thinking about "serious" language as well as where they are used.

        F Offline
        F Offline
        fcarney
        wrote on 29 May 2019, 20:52 last edited by
        #3

        @SGaist said in "Real" code vs "Fake" code:

        Sure you can make Python segfault

        The only time I could get it to segfault was when I was writing modules for Python. Generally I could only get exceptions to trigger. Those are much kinder to the operation of the program.

        C++ is a perfectly valid school of magic.

        1 Reply Last reply
        0
        • C Offline
          C Offline
          Chris Kawa
          Lifetime Qt Champion
          wrote on 29 May 2019, 21:19 last edited by
          #4

          You're not the only one that has that feeling and I think it is indeed about being close to the metal. The thing is that when you write in those fancy weby languages you think about very abstract machine. You deal with objects, properties, bindings, closures and all those things the hardware doesn't know and couldn't care less about. When you write C or the lower level aspects of C++ you are a lot closer to registers, offsets, alignments and manual memory management (no fancy pants garbage collection). When you fire up a C++ debugger you can basically dig into the raw hardware memory and registers. When you debug, say, JavaScript you're presented with some high level wrappers.
          Not to say one is better than the other in general. They are just better at what they are suited for. All software development these days is just layers upon layers upon layers - OSes, APIs, frameworks, runtimes... C++ is just lower level with all good and bad that this entails.
          Look at this from another angle - to someone who writes assembly for living something like

          template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>
          

          is just a fake gibberish nonsense having nothing to do with "real programming" :)

          1 Reply Last reply
          0
          • F Offline
            F Offline
            fcarney
            wrote on 29 May 2019, 21:26 last edited by
            #5

            @Chris-Kawa said in "Real" code vs "Fake" code:

            is just a fake gibberish nonsense having nothing to do with "real programming" :)

            I am a C++ programmer and I still say "WTF is that?" when seeing templates. Maybe that is because I have programmed microcontrollers and written assembly in the past...

            I am learning templates though. It just doesn't look like C++ to me yet.

            C++ is a perfectly valid school of magic.

            C 1 Reply Last reply 29 May 2019, 21:40
            0
            • F fcarney
              29 May 2019, 21:26

              @Chris-Kawa said in "Real" code vs "Fake" code:

              is just a fake gibberish nonsense having nothing to do with "real programming" :)

              I am a C++ programmer and I still say "WTF is that?" when seeing templates. Maybe that is because I have programmed microcontrollers and written assembly in the past...

              I am learning templates though. It just doesn't look like C++ to me yet.

              C Offline
              C Offline
              Chris Kawa
              Lifetime Qt Champion
              wrote on 29 May 2019, 21:40 last edited by
              #6

              I am learning templates though. It just doesn't look like C++ to me yet.

              While not there from the beginning, templates are part of C++ since something like mid eighties. They've been part of all the ISO standardized versions and they are at the very core of the language. Heck, entire standard library is mostly templates. At this point if you're not familiar with them you're basically using C with classes. Nothing wrong with that, but C++ has a lot more to offer (with very low to no cost mind you). Yes, they take you away from that sweet hardware metal into the compile-time land, but they also give you all sorts of benefits and if you're avoiding them on purpose you're missing out on some cool stuff IMO.

              K 1 Reply Last reply 29 May 2019, 21:54
              0
              • F fcarney
                29 May 2019, 20:26

                Anybody else have a strange sense of what is "real" code vs what is "fake" code? I am not even sure how to describe the "feeling". For instance, I see C++ programming as real coding, but at the same time feel like QML is less real. When I was programming Python a lot I still felt like Python was less real than C++. Even when I did python JIT programming there was this sensation of it not being real. So I don't know if its just a sensation around the syntax or if its something else. Like compiled vs interpreted. Yet, even when I "compiled" my scripting code it felt less "real".

                Maybe if it doesn't have the potential to produce a segfault its not "real" coding? Also, I don't think I am equating "real" with some kind of machismo thing. Its different than that. Perhaps "closer to the metal" is what I am feeling.

                J Offline
                J Offline
                JonB
                wrote on 29 May 2019, 21:52 last edited by
                #7

                @fcarney

                For instance, I see C++ programming as real coding, but at the same time feel like QML is less real. When I was programming Python a lot I still felt like Python was less real than C++. Even when I did python JIT programming there was this sensation of it not being real.

                No offence, but I think you need to speak to a shrink ;)

                1 Reply Last reply
                0
                • C Chris Kawa
                  29 May 2019, 21:40

                  I am learning templates though. It just doesn't look like C++ to me yet.

                  While not there from the beginning, templates are part of C++ since something like mid eighties. They've been part of all the ISO standardized versions and they are at the very core of the language. Heck, entire standard library is mostly templates. At this point if you're not familiar with them you're basically using C with classes. Nothing wrong with that, but C++ has a lot more to offer (with very low to no cost mind you). Yes, they take you away from that sweet hardware metal into the compile-time land, but they also give you all sorts of benefits and if you're avoiding them on purpose you're missing out on some cool stuff IMO.

                  K Offline
                  K Offline
                  kshegunov
                  Moderators
                  wrote on 29 May 2019, 21:54 last edited by kshegunov
                  #8

                  @Chris-Kawa said in "Real" code vs "Fake" code:

                  At this point if you're not familiar with them you're basically using C with classes.

                  Polymorphism is dead? I've heard that before, but there's much more nuance than the simple statement. Not that you can't do dynamic dispatch in C, but it's (more) work and is prone to some nasty mishaps.

                  Yes, they take you away from that sweet hardware metal into the compile-time land, but they also give you all sorts of benefits and if you're avoiding them on purpose you're missing out on some cool stuff IMO.

                  I'd say the opposite is also true - that is - seeking to templatize everything you see. They have merit as much as a hammer in a toolbox - no intrinsic value, but as a part of your general range of tools. Purposely substituting a hammer for a screwdriver and vice versa isn't a productive way of approaching things.

                  Read and abide by the Qt Code of Conduct

                  C 1 Reply Last reply 29 May 2019, 22:14
                  0
                  • F Offline
                    F Offline
                    fcarney
                    wrote on 29 May 2019, 21:54 last edited by
                    #9

                    @Chris-Kawa said in "Real" code vs "Fake" code:

                    missing out on some cool stuff

                    I agree. My first C++ compiler was Turbo C++ 2.0. Not sure what version of C++ it was based upon. It was definitely before templates, or at least I didn't know about them. That was in the mid nineties. That is why I am learning them.

                    It is interesting though, that quite a few programmers have worked on the codebases at work. Yet, I don't think I have found any code outside the Qt libs, that have templates in them. I have written some simple code using templates to reduce code duplication. No idea what the other programmers I work with will make of that. I rarely use macros either.

                    C++ is a perfectly valid school of magic.

                    K 1 Reply Last reply 29 May 2019, 22:14
                    0
                    • K kshegunov
                      29 May 2019, 21:54

                      @Chris-Kawa said in "Real" code vs "Fake" code:

                      At this point if you're not familiar with them you're basically using C with classes.

                      Polymorphism is dead? I've heard that before, but there's much more nuance than the simple statement. Not that you can't do dynamic dispatch in C, but it's (more) work and is prone to some nasty mishaps.

                      Yes, they take you away from that sweet hardware metal into the compile-time land, but they also give you all sorts of benefits and if you're avoiding them on purpose you're missing out on some cool stuff IMO.

                      I'd say the opposite is also true - that is - seeking to templatize everything you see. They have merit as much as a hammer in a toolbox - no intrinsic value, but as a part of your general range of tools. Purposely substituting a hammer for a screwdriver and vice versa isn't a productive way of approaching things.

                      C Offline
                      C Offline
                      Chris Kawa
                      Lifetime Qt Champion
                      wrote on 29 May 2019, 22:14 last edited by
                      #10

                      @kshegunov said:

                      Polymorphism is dead?

                      Obviously not ;) Sure, there's more to C++ over C than templates, but I'm writing a forum post not a book :)

                      They have merit as much as a hammer in a toolbox (...) Purposely substituting a hammer for a screwdriver and vice versa isn't a productive way of approaching things.

                      I 100% agree and was not suggesting anything like that. Just pointing out that they elegantly solve some specific problems that would be ugly or cumbersome otherwise and it's good to have that hammer in your toolbox for cases where you need to hit a nail.

                      @fcarney said:

                      Yet, I don't think I have found any code outside the Qt libs, that have templates in them

                      Wow, really? Not even a string or a vector? So you're still exclusively using raw arrays and char* ? That's brutal :)
                      I don't think programming microcontrollers inherently requires you to drop to the lower level C++. Sure you can kill performance or skyrocket memory footprint easily if you don't have a head on your neck, but that happens only if you blindly use high level features without knowing how they work.
                      I mean you can program stuff like Commodore64 in C++17 these days and it produces pretty sweet assembly so there's no real excuse not to.

                      K F 2 Replies Last reply 29 May 2019, 22:16
                      1
                      • F fcarney
                        29 May 2019, 21:54

                        @Chris-Kawa said in "Real" code vs "Fake" code:

                        missing out on some cool stuff

                        I agree. My first C++ compiler was Turbo C++ 2.0. Not sure what version of C++ it was based upon. It was definitely before templates, or at least I didn't know about them. That was in the mid nineties. That is why I am learning them.

                        It is interesting though, that quite a few programmers have worked on the codebases at work. Yet, I don't think I have found any code outside the Qt libs, that have templates in them. I have written some simple code using templates to reduce code duplication. No idea what the other programmers I work with will make of that. I rarely use macros either.

                        K Offline
                        K Offline
                        kshegunov
                        Moderators
                        wrote on 29 May 2019, 22:14 last edited by
                        #11

                        @fcarney said in "Real" code vs "Fake" code:

                        Not sure what version of C++ it was based upon.

                        No such a thing existed before c++98, so - the original version.

                        Read and abide by the Qt Code of Conduct

                        1 Reply Last reply
                        0
                        • C Chris Kawa
                          29 May 2019, 22:14

                          @kshegunov said:

                          Polymorphism is dead?

                          Obviously not ;) Sure, there's more to C++ over C than templates, but I'm writing a forum post not a book :)

                          They have merit as much as a hammer in a toolbox (...) Purposely substituting a hammer for a screwdriver and vice versa isn't a productive way of approaching things.

                          I 100% agree and was not suggesting anything like that. Just pointing out that they elegantly solve some specific problems that would be ugly or cumbersome otherwise and it's good to have that hammer in your toolbox for cases where you need to hit a nail.

                          @fcarney said:

                          Yet, I don't think I have found any code outside the Qt libs, that have templates in them

                          Wow, really? Not even a string or a vector? So you're still exclusively using raw arrays and char* ? That's brutal :)
                          I don't think programming microcontrollers inherently requires you to drop to the lower level C++. Sure you can kill performance or skyrocket memory footprint easily if you don't have a head on your neck, but that happens only if you blindly use high level features without knowing how they work.
                          I mean you can program stuff like Commodore64 in C++17 these days and it produces pretty sweet assembly so there's no real excuse not to.

                          K Offline
                          K Offline
                          kshegunov
                          Moderators
                          wrote on 29 May 2019, 22:16 last edited by
                          #12

                          @Chris-Kawa said in "Real" code vs "Fake" code:

                          I 100% agree and was not suggesting anything like that.

                          "A scientist's aim in a discussion with his colleagues is not to persuade, but to clarify." ;)

                          Read and abide by the Qt Code of Conduct

                          1 Reply Last reply
                          2
                          • C Chris Kawa
                            29 May 2019, 22:14

                            @kshegunov said:

                            Polymorphism is dead?

                            Obviously not ;) Sure, there's more to C++ over C than templates, but I'm writing a forum post not a book :)

                            They have merit as much as a hammer in a toolbox (...) Purposely substituting a hammer for a screwdriver and vice versa isn't a productive way of approaching things.

                            I 100% agree and was not suggesting anything like that. Just pointing out that they elegantly solve some specific problems that would be ugly or cumbersome otherwise and it's good to have that hammer in your toolbox for cases where you need to hit a nail.

                            @fcarney said:

                            Yet, I don't think I have found any code outside the Qt libs, that have templates in them

                            Wow, really? Not even a string or a vector? So you're still exclusively using raw arrays and char* ? That's brutal :)
                            I don't think programming microcontrollers inherently requires you to drop to the lower level C++. Sure you can kill performance or skyrocket memory footprint easily if you don't have a head on your neck, but that happens only if you blindly use high level features without knowing how they work.
                            I mean you can program stuff like Commodore64 in C++17 these days and it produces pretty sweet assembly so there's no real excuse not to.

                            F Offline
                            F Offline
                            fcarney
                            wrote on 29 May 2019, 22:20 last edited by
                            #13

                            @Chris-Kawa said in "Real" code vs "Fake" code:

                            Not even a string or a vector

                            Doh! Okay, I use those all the time. I was thinking of someone writing their own template. We use templates all the time, but we haven't written very many of them.

                            C++ is a perfectly valid school of magic.

                            K 1 Reply Last reply 29 May 2019, 22:28
                            2
                            • F fcarney
                              29 May 2019, 22:20

                              @Chris-Kawa said in "Real" code vs "Fake" code:

                              Not even a string or a vector

                              Doh! Okay, I use those all the time. I was thinking of someone writing their own template. We use templates all the time, but we haven't written very many of them.

                              K Offline
                              K Offline
                              kshegunov
                              Moderators
                              wrote on 29 May 2019, 22:28 last edited by kshegunov
                              #14

                              @fcarney said in "Real" code vs "Fake" code:

                              We use templates all the time, but we haven't written very many of them.

                              Just wrote one today. A simple one, admittedly, but they're useful in the right places. Here's the "glory":

                              template <typename T>
                              typename std::enable_if<std::is_floating_point<T>::value, bool>::type equal(const T & lhs, const T & rhs)
                              {
                                  return std::abs(lhs - rhs) <= std::numeric_limits<T>::epsilon() * std::min(std::abs(lhs), std::abs(rhs));
                              }
                              

                              I still cringe at the thought of the verbose semi-magic that is meta-programming, and we certainly need a better way.

                              Read and abide by the Qt Code of Conduct

                              C 1 Reply Last reply 29 May 2019, 22:37
                              1
                              • K kshegunov
                                29 May 2019, 22:28

                                @fcarney said in "Real" code vs "Fake" code:

                                We use templates all the time, but we haven't written very many of them.

                                Just wrote one today. A simple one, admittedly, but they're useful in the right places. Here's the "glory":

                                template <typename T>
                                typename std::enable_if<std::is_floating_point<T>::value, bool>::type equal(const T & lhs, const T & rhs)
                                {
                                    return std::abs(lhs - rhs) <= std::numeric_limits<T>::epsilon() * std::min(std::abs(lhs), std::abs(rhs));
                                }
                                

                                I still cringe at the thought of the verbose semi-magic that is meta-programming, and we certainly need a better way.

                                C Offline
                                C Offline
                                Chris Kawa
                                Lifetime Qt Champion
                                wrote on 29 May 2019, 22:37 last edited by
                                #15

                                @fcarney said:

                                We use templates all the time, but we haven't written very many of them.

                                I think that's actually pretty normal and a good model. They are pretty useful for stable and tested library code intended to be reused, but they do make code harder to read and debug so, like I mentioned, I don't suggest to use them everywhere because you can. Just when it makes sense.

                                @kshegunov said:

                                "A scientist's aim in a discussion with his colleagues is not to persuade, but to clarify." ;)

                                Narrator: A scientist walks into a bar...
                                Scientist: Weeeell, not so much a bar as a low class drinking establishment and it wasn't really a walk, more of an accidental sway

                                and we certainly need a better way.

                                Rejoice, concepts are on their way ;)

                                1 Reply Last reply
                                2
                                • F fcarney
                                  29 May 2019, 20:26

                                  Anybody else have a strange sense of what is "real" code vs what is "fake" code? I am not even sure how to describe the "feeling". For instance, I see C++ programming as real coding, but at the same time feel like QML is less real. When I was programming Python a lot I still felt like Python was less real than C++. Even when I did python JIT programming there was this sensation of it not being real. So I don't know if its just a sensation around the syntax or if its something else. Like compiled vs interpreted. Yet, even when I "compiled" my scripting code it felt less "real".

                                  Maybe if it doesn't have the potential to produce a segfault its not "real" coding? Also, I don't think I am equating "real" with some kind of machismo thing. Its different than that. Perhaps "closer to the metal" is what I am feeling.

                                  J Offline
                                  J Offline
                                  JKSH
                                  Moderators
                                  wrote on 30 May 2019, 00:33 last edited by JKSH
                                  #16

                                  @fcarney said in "Real" code vs "Fake" code:

                                  Maybe if it doesn't have the potential to produce a segfault its not "real" coding? Also, I don't think I am equating "real" with some kind of machismo thing. Its different than that. Perhaps "closer to the metal" is what I am feeling.

                                  I believe the terms you're after are not "real"/"fake", but "low-level"/"high-level".

                                  The way I see it, "real" code is anything you write that makes a machine do something you want. So, high-level Python and QML can be just as "real" as low-level C++ and Assembly.

                                  Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                  1 Reply Last reply
                                  2
                                  • F Offline
                                    F Offline
                                    fcarney
                                    wrote on 30 May 2019, 15:45 last edited by
                                    #17

                                    @JKSH said in "Real" code vs "Fake" code:

                                    I believe the terms you're after are not "real"/"fake", but "low-level"/"high-level".

                                    I think that may be more accurate. When I first started programming Python it felt like playing with Legos. While programming in C++ felt like using wrenches, hacksaws, and welders. I remember also feeling like I had all the power I needed with Python as I could always "write a module in C" if I needed to.

                                    C++ is a perfectly valid school of magic.

                                    J 1 Reply Last reply 1 Jun 2019, 22:19
                                    0
                                    • F fcarney
                                      30 May 2019, 15:45

                                      @JKSH said in "Real" code vs "Fake" code:

                                      I believe the terms you're after are not "real"/"fake", but "low-level"/"high-level".

                                      I think that may be more accurate. When I first started programming Python it felt like playing with Legos. While programming in C++ felt like using wrenches, hacksaws, and welders. I remember also feeling like I had all the power I needed with Python as I could always "write a module in C" if I needed to.

                                      J Offline
                                      J Offline
                                      JKSH
                                      Moderators
                                      wrote on 1 Jun 2019, 22:19 last edited by
                                      #18

                                      @fcarney said in "Real" code vs "Fake" code:

                                      I think that may be more accurate. When I first started programming Python it felt like playing with Legos. While programming in C++ felt like using wrenches, hacksaws, and welders. I remember also feeling like I had all the power I needed with Python as I could always "write a module in C" if I needed to.

                                      The appeal of high-level languages: It has built-in protections to stop us from shooting ourselves in the foot.

                                      The appeal of low-level languages: It allows us to shoot through the gap between our toes to achieve our goal the way we want.

                                      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                      K 1 Reply Last reply 2 Jun 2019, 07:40
                                      3
                                      • J JKSH
                                        1 Jun 2019, 22:19

                                        @fcarney said in "Real" code vs "Fake" code:

                                        I think that may be more accurate. When I first started programming Python it felt like playing with Legos. While programming in C++ felt like using wrenches, hacksaws, and welders. I remember also feeling like I had all the power I needed with Python as I could always "write a module in C" if I needed to.

                                        The appeal of high-level languages: It has built-in protections to stop us from shooting ourselves in the foot.

                                        The appeal of low-level languages: It allows us to shoot through the gap between our toes to achieve our goal the way we want.

                                        K Offline
                                        K Offline
                                        kshegunov
                                        Moderators
                                        wrote on 2 Jun 2019, 07:40 last edited by kshegunov 6 Feb 2019, 07:40
                                        #19

                                        @JKSH said in "Real" code vs "Fake" code:

                                        The appeal of high-level languages: It has built-in protections to stop us from shooting ourselves in the foot.
                                        The appeal of low-level languages: It allows us to shoot through the gap between our toes to achieve our goal the way we want.

                                        Somewhat correct. Even with low level languages we are quite protected most of the time (e.g. ASLR).
                                        In fact one should realize that the software we write is an onion (cf. swiss cheese model) - there are layers on top of layers on top of layers. Peeling them off may lead to tears too.

                                        Basically you have the hardware, on top of which you have the firmware (microcode for CPUs and such), on top of which you have the BIOS (which may include the firmware or at least the tools to manipulate it), on top of which you have the drivers and the OS, on top of which you have services (or daemons), and in parallel, on top of the OS you have low-level libraries (e.g. .libgl), on top of which you have other libraries (like Qt), on top of which you possibly have even higher level libraries (think your own), on top of which you have applications, on top of which you have (business, manufacturing etc.) processes, which is the ultimate goal. So if any of those layers rots, pretty soon the whole thing starts to smell. On the other hand the abstractions prevent you from just breaking the whole system because you made a mistake, which you inevitably are going to make.

                                        The big difference between a high-level and low-level language is not so much whether you can write high or low level software, as much as how much does the language expose from the underlying architecture. That is to say - if a language allows you to peel off some of them onion layers to get to the lower levels. Note that there's no language that allows you full control all the way; you can't use C/C++ (or assembly for that matter) to manipulate the way the prefetcher in the CPU works - your control stops at the binary.
                                        In contrast, JS, as an example, ain't caring for no stinking memory addressing, it hides that in a VM. C (and C++) on the other hand expose it and actually make you deal with that. This is both a blessing and a curse, because in the lower-level language you actually have to deal with some implementation details that aren't necessarily relevant to the task at hand - the high-level languages abstract that away for you. And vice versa - when you actually need to dig in, then the higher level languages are of no use, just because you're behind that impenetrable wall which hides all the assumedly irrelevant details.
                                        It's always a trade-off.

                                        And to conclude that somewhat longish missive:
                                        The appeal of Qt (and by extension C++), for me personally, is that I can if needed really strip away all the crap in between me and the CPU if I need the performance, but it also allows me to be somewhat oblivious about the irrelevant details 95% of the time.

                                        Read and abide by the Qt Code of Conduct

                                        1 Reply Last reply
                                        5
                                        • F Offline
                                          F Offline
                                          fcarney
                                          wrote on 3 Jun 2019, 15:43 last edited by
                                          #20

                                          There was one moment when programming Python that I had wished I had a "real" programming language. It was the moment I discovered the GIL, and the repercussions to threaded programming. It was such a jarring limitation in my mind that a "real" language wouldn't have. However, this is a different definition of "real" in this case. As in "toy" vs "tool". I do reach for Python for quite a few tasks, but not for any application that needs serious threading. Yes, there is the multiprocessing library, but if I need work arounds or need to write a module I might as well start with C++.

                                          C++ is a perfectly valid school of magic.

                                          J 1 Reply Last reply 8 Jun 2019, 02:58
                                          0

                                          1/21

                                          29 May 2019, 20:26

                                          • Login

                                          • Login or register to search.
                                          1 out of 21
                                          • First post
                                            1/21
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved