Announcement

Collapse
No announcement yet.

Cairo Proposed To Become Part Of ISO C++

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

  • #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


            • #16
              Originally posted by LightBit View Post
              Sadly C11 threads are optional (probably Cairo will be optional too) and there are many more things in POSIX.
              I just noticed this too when digging a bit further. Damn, what a shame. This means libraries like Qt, SFML, SDL etc. which already provide thread abstractions will continue to have to be used for a long time to come.

              Comment


              • #17
                Originally posted by Ancurio View Post
                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).
                Yes, I am talking about actual drawing.

                Comment


                • #18
                  Originally posted by LightBit View Post
                  Yes, I am talking about actual drawing.
                  You can do actual drawing to a file, and for that case what Ancurio suggested is perfectly valid.

                  Comment


                  • #19
                    Originally posted by mrugiero View Post
                    You can do actual drawing to a file, and for that case what Ancurio suggested is perfectly valid.
                    File is not screen!
                    Most people don't have telepathic ability to read files from disk or memory.

                    Comment


                    • #20
                      I see this as a desperate attempt to gain public exposure and help with heavy lifting for Cairo.

                      The production of that project has steadily declined for the past year. Meanwhile, a project that uses Cairo [amidst countless], Poppler, is blooming with activity.

                      How about Poppler, Inkscape and a few others pitch in and bring Cairo up to meet it's lofty aims, sans illogical adoption into the ISO C++ Specification.
                      Last edited by Marc Driftmeyer; 01-03-2014, 11:15 AM.

                      Comment

                      Working...
                      X