Announcement

Collapse
No announcement yet.

Cairo Proposed To Become Part Of ISO C++

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cairo Proposed To Become Part Of ISO C++

    Phoronix: Cairo Proposed To Become Part Of ISO C++

    The C++ standards committee is looking at adopting a Cairo C++ interface as part of a future revision to the ISO C++ standard to provide 2D drawing...

    http://www.phoronix.com/vr.php?view=MTU1OTE

  • #2
    It would be really nice to have drawing standardized. That could be a killer feature for me (I prefer C).
    I also think it was mistake not to include POSIX into ISO C.

    Comment


    • #3
      Originally posted by LightBit View Post
      I also think it was mistake not to include POSIX into ISO C.
      I think so too, but it appears that, many years later, they are finally catching up (see C11 threads).

      Comment


      • #4
        Sadly C11 threads are optional (probably Cairo will be optional too) and there are many more things in POSIX.

        Comment


        • #5
          I assume GUI will also be part of it (window creation etc.)?

          Comment


          • #6
            does it mean we will have to include more un-needed libraries?

            And what exactly does it have ANYTHING TO DO with the c++ programming language?

            Even as far as STL goes, I am not quite sure that should be there as well.

            Comment


            • #7
              Originally posted by AnonymousCoward View Post
              I assume GUI will also be part of it (window creation etc.)?
              Cairo is only 2D drawing library (not GUI).

              Comment


              • #8
                Originally posted by Illasera View Post
                does it mean we will have to include more un-needed libraries?
                That is probably implementation dependant. If it is separate library then you don't have to link it, if you don't use it. If it's built into standard C++ library, it doesn't matter anyway (won't make your program bigger).

                Originally posted by Illasera View Post
                And what exactly does it have ANYTHING TO DO with the c++ programming language?
                Well, C++ programers might want to draw something on screen. Having standard drawing is nice for portability.

                Comment


                • #9
                  Originally posted by LightBit View Post
                  Well, C++ programers might want to draw something on screen. Having standard drawing is nice for portability.
                  Here is the thing, you can say that on ANYTHING, Next thing you know, you will include "boost" as part of the standard.

                  For the reason that people may WANT something from it, Does it have anything to do with the language itself or the c++ committee? I am not sure.
                  Last edited by Illasera; 01-03-2014, 07:45 AM.

                  Comment


                  • #10
                    Originally posted by LightBit View Post
                    It would be really nice to have drawing standardized. That could be a killer feature for me (I prefer C).
                    I also think it was mistake not to include POSIX into ISO C.
                    POSIX is an operating system specification - and specifically one for Unix, hence the X in the acronym - C is a language and associated runtime, as such it shall be os agnostic...
                    if you make posix a part of the language standard you mandate for things such as (for instance) signals, or fork/exec that other perfectly working OS's dont have because they're inherent to the unix process model - or are you advocating every Os to be a clone of unix?

                    Of course to have drawing standardized seems like a nice thing , BUT wouldn't fit with the intended scope and goal of C and C++ as languages (to remain as lean as possible so as to allow for anything upper level to be built and used upon it without tying itself to anything in particular)

                    OTOH, why a somewhat "arbitrary" library like Cairo (worse, a C++ified (sic) version of it)?
                    why not, for instance, AGG (which is C++ and is in widespread use in non - unix systems too)?
                    or OpenVG, which is at least backed by an industry consortium of sorts and, unlike cairo, has hw-accelerated implementations in existence?
                    Last edited by silix; 01-03-2014, 07:47 AM.

                    Comment


                    • #11
                      Originally posted by Illasera View Post
                      does it mean we will have to include more un-needed libraries?

                      And what exactly does it have ANYTHING TO DO with the c++ programming language?

                      Even as far as STL goes, I am not quite sure that should be there as well.
                      especially given that one often writes his own container classes - or anyway uses different ones
                      if you use Qt for instance, chances are you're already using qt's own classes rather than the stl ones..

                      Comment


                      • #12
                        Originally posted by silix View Post
                        POSIX is an operating system specification - and specifically one for Unix, hence the X in the acronym - C is a language and associated runtime, as such it shall be os agnostic...
                        if you make posix a part of the language standard you mandate for things such as (for instance) signals, or fork/exec that other perfectly working OS's dont have because they're inherent to the unix process model - or are you advocating every Os to be a clone of unix?
                        Having POSIX support doesn't turn you automatically in a UNIX. Even Windows have a POSIX subsystem in some versions.

                        Of course to have drawing standardized seems like a nice thing , BUT wouldn't fit with the intended scope and goal of C and C++ as languages (to remain as lean as possible so as to allow for anything upper level to be built and used upon it without tying itself to anything in particular)
                        I don't know about C, but it's clearly not the scope and goal of C++ to remain as lean as possible. The STL is quite the opposite.

                        OTOH, why a somewhat "arbitrary" library like Cairo (worse, a C++ified (sic) version of it)?
                        why not, for instance, AGG (which is C++ and is in widespread use in non - unix systems too)?
                        or OpenVG, which is at least backed by an industry consortium of sorts and, unlike cairo, has hw-accelerated implementations in existence?
                        I don't know why one and not the other. Maybe the other ones are too complex. Anyway, I think the important bit is that there exist software implementations, as otherwise you are considering standard code something that actually expects a given set of hardware. Are there OpenVG software implementations?

                        Comment


                        • #13
                          Originally posted by silix View Post
                          POSIX is an operating system specification - and specifically one for Unix, hence the X in the acronym - C is a language and associated runtime, as such it shall be os agnostic...
                          if you make posix a part of the language standard you mandate for things such as (for instance) signals, or fork/exec that other perfectly working OS's dont have because they're inherent to the unix process model - or are you advocating every Os to be a clone of unix?
                          Yes, but most other perfectly working OSes's functions can be wrapped to POSIX.

                          Originally posted by Illasera View Post
                          Here is the thing, you can say that on ANYTHING, Next thing you know, you will include "boost" as part of the standard.

                          For the reason that people may WANT something from it, Does it have anything to do with the language itself or the c++ committee? I am not sure.
                          Originally posted by silix View Post
                          Of course to have drawing standardized seems like a nice thing , BUT wouldn't fit with the intended scope and goal of C and C++ as languages (to remain as lean as possible so as to allow for anything upper level to be built and used upon it without tying itself to anything in particular)
                          I consider 2D drawing quite low level. But if you consider C as portable ASM, than that is very high level.
                          Problem is you can't portably draw anything in C/C++, because system call is needed.
                          So in case system call is needed, it should be standardized.

                          Comment


                          • #14
                            Next thing you know, you will include "boost" as part of the standard.
                            They have, and are integrating things from boost to the C++ standard.

                            The difference is that they do it properly, making it easy to build, and keeping API+ABI compatibility, unlike the boost people who break every version.

                            Comment


                            • #15
                              Originally posted by LightBit View Post
                              Problem is you can't portably draw anything in C/C++, because system call is needed.
                              So in case system call is needed, it should be standardized.
                              Only if you're actually drawing something to a window on the screen. You can use offscreen rendertargers in memory and be completely OS agnostic (ie. pixman).

                              Comment

                              Working...
                              X