Announcement

Collapse
No announcement yet.

Cairo Proposed To Become Part Of ISO C++

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

  • #76
    Originally posted by erendorn View Post
    I agree that I do not see exactly how it is supposed to be implemented, although it seems there are "optional" parts of the standards.
    But then I never wrote graphical interfaces (except some QML, or graphical based stuff), so I have no idea of the use cases.
    It would be interesting to know who needs that and for what.
    i can give you a usecase from my study times:
    the reason #1 why most of the students used java was because of easy access to a simple and portable gui and canvas drawing. if c++ would have some basic ui and drawing abilities most of them wouldn't had used java at that time. adding addition external libs just for that use case is highly unpractical.

    but there are also many other usecases.

    i would very appriciacte some basic gui/drawing abilities. the standard libs already have basic methods for more or less all other human/mashine interfaces but nothing for the graphical and one of the most important ones.

    Comment


    • #77
      Originally posted by gigaplex View Post
      I can show you some headless acceleration hardware.
      http://en.wikipedia.org/wiki/Nvidia_Tesla
      And now show me the mass of webservers actually using that hardware. It is as simple as this: There is a use for unaccelerated graphics functions and therefore it is plain wrong to assume that people that produce libraries for this use are fools.

      Comment


      • #78
        Originally posted by erendorn
        What I would like to see in C++, are modules!
        Indeed! Modules are by far the biggest gap between a modern programming language and C++. They should have been added 15 years ago, but better late than never.

        Originally posted by a user View Post
        i can give you a usecase from my study times:
        the reason #1 why most of the students used java was because of easy access to a simple and portable gui and canvas drawing. if c++ would have some basic ui and drawing abilities most of them wouldn't had used java at that time. adding addition external libs just for that use case is highly unpractical.
        So you would like to see std::ui because java.awt is nice for beginners. Right.

        Not only is this a terrible reason, java.awt is also the perfect example why adding a UI library to the standard library sucks. It's slow, it's ugly and it produces terrible UIs that no user would ever want to touch with a ten foot pole.

        There is a reason why everyone hates Java UIs, and java.awt is a big part of that reason.

        i would very appriciacte some basic gui/drawing abilities. the standard libs already have basic methods for more or less all other human/mashine interfaces but nothing for the graphical and one of the most important ones.
        Human-machine interfaces like mice, keyboards, touchscreens, microphones, cameras? C++ offers nothing of the sort, you must be looking at a different language entirely.

        Comment


        • #79
          Originally posted by erendorn View Post
          I agree that I do not see exactly how it is supposed to be implemented, although it seems there are "optional" parts of the standards.
          But then I never wrote graphical interfaces (except some QML, or graphical based stuff), so I have no idea of the use cases.
          It would be interesting to know who needs that and for what.
          Cairo is perfect for generating vector graphic file output. I use it for plotting graphs of simulation data to PDF files. I can use the very same plotting function for bringing the stuff to the screen, e.g. using SDL (via image surfaces) or GTK+ (using native, accelerated calls, e.g. OpenGL). But, as I understand it, a GUI toolkit is beyond the scope of this proposal.

          Comment


          • #80
            Originally posted by a user View Post
            stuff
            Originally posted by oleid View Post
            stuff
            thanks

            Comment


            • #81
              Originally posted by BlackStar View Post
              So you would like to see std::ui because java.awt is nice for beginners. Right.
              wrong. i wonder if this twisted logic is intensional or or just lack of comprehension abilities? beside the fact that i never ever claimed that awt is easy the point only that it had some basic gui and drawing features. for the time being even turbo pascal had it.
              Not only is this a terrible reason,
              don't put reasons in my mouth i never said. if you fail reading than don't comment!
              java.awt is also the perfect example why adding a UI library to the standard library sucks. It's slow, it's ugly and it produces terrible UIs that no user would ever want to touch with a ten foot pole.

              There is a reason why everyone hates Java UIs, and java.awt is a big part of that reason.
              totally off topic and you missed the point by miles!
              Human-machine interfaces like mice, keyboards, touchscreens, microphones, cameras? C++ offers nothing of the sort, you must be looking at a different language entirely.
              at the time keyboards where more or less the only one and yes it HAS methods for keaboard interactions within the std-libs, though not for mice. the rest are peripharels. i am not talking about that.
              i admit i expressed my self wrong here. i meant the default minimal human interfaces which once where keyboard and a text based console.
              though now it is still keyboard (even if it is by virtualization of other ones), a mouse and a GRAPHICAL based console.

              we can twist the words around for ever. the point is, there is a need for minimal gui and drawing features for quickly coding some graphical output/gui.
              and it is by far not uncommon for many languages to include such features in their standard libs.

              end of story.

              Comment


              • #82
                just to make that more clear (as i hope):
                we are talking about the standard libs. having only support for keyboard and text based consoles is by far out of date!
                the standard access to computer hardware is via keyboard, mice and a graphical ui (touchscreen can be easioly merged with the mice). having some basic methods to use this would not only be a nice to have.

                Comment


                • #83
                  Originally posted by a user View Post
                  wrong. i wonder if this twisted logic is intensional or or just lack of comprehension abilities? beside the fact that i never ever claimed that awt is easy the point only that it had some basic gui and drawing features. for the time being even turbo pascal had it.
                  You know what the Turbo Pascal UI and java.awt have in common? They are dead and buried.

                  I hope C++ does not go down that terrible route.

                  at the time keyboards where more or less the only one and yes it HAS methods for keaboard interactions within the std-libs, though not for mice. the rest are peripharels. i am not talking about that.
                  i admit i expressed my self wrong here. i meant the default minimal human interfaces which once where keyboard and a text based console.
                  though now it is still keyboard (even if it is by virtualization of other ones), a mouse and a GRAPHICAL based console.

                  we can twist the words around for ever. the point is, there is a need for minimal gui and drawing features for quickly coding some graphical output/gui.
                  There is. It's called SDL. No need to burden the standard library with that.

                  and it is by far not uncommon for many languages to include such features in their standard libs.
                  Many languages, like Turbo Pascal and Java. Oh, and BASIC. What is this musty smell again?

                  Comment


                  • #84
                    Originally posted by a user View Post
                    at the time keyboards where more or less the only one and yes it HAS methods for keaboard interactions within the std-libs, though not for mice. the rest are peripharels.
                    Oh, and this. No, C++ does not have keyboard interaction in the standard library. It has std::cin which is a character-based iostream connected to a keyboard.

                    There is huge difference: std::cin cannot give you the state of the F-keys, of the keypad, the control keys, the alt keys etc etc.

                    So no, saying that C++ stdlib has methods to interact with the keyboard is wrong. It has methods to read character streams, and that's it.

                    Comment


                    • #85
                      Originally posted by a user View Post
                      adding addition external libs just for that use case is highly unpractical.
                      Since when is adding an additional library to a C++ project a big deal? And "just for that use case" is a serious understatement, since you're talking about GUIs your library will need cross-platform Window and drawing capabilities - that's an enormous amount of code and functionality. Which coincidently existing (free/open source) libraries can already do.

                      Comment


                      • #86
                        Originally posted by cbamber85 View Post
                        Since when is adding an additional library to a C++ project a big deal?
                        since ever, while "big deal" is relative:
                        just to give one (of many) scenarios: during my carreer as scientist in the theoretic informatics we often had to code some things for visualization and/or performance evaluation, or just to get an idea how this works. now as we have an own sophisticated algorithm library for c++ it was wise to stick with c++.

                        now while i had qt on my machine i didn't had that on others. and some people where used to gtk, other xwidgets and yet others just used java when ever something with graphics was needed, c++ for the algo, and a java programm for visualization.
                        there is no interest in deciding for one gui lib and learning that, then failing to being able to use it / install it where it is needed. there is and was a need for ssuch a lib within the standard libs. something we all could rely to exist in the language and so no one had to ever care about available libs, installing them, do they work? tastes, etc.

                        there are plenty of usecase where you simply don't want to bother with the big overhead and complexity of a sophisticated gui lib when you justz want some basic and simple things, like a window with some controls, and a canvas to draw within.

                        the result was, that we had c++ for the algorithms, and various java coded tools for visualization of kinda log files. please udnerstand, not all people care about learning a specific gui library.

                        And "just for that use case" is a serious understatement, since you're talking about GUIs your library will need cross-platform Window and drawing capabilities - that's an enormous amount of code and functionality. Which coincidently existing (free/open source) libraries can already do.
                        they do much much more and actually i don't care about that (from the above poinrt of view). we will see if it is possible to integrate some kind of basic in c++. providing a basic library for basic window and controls management + canvas drawing under windows is not much work. most of what'S needed just need to be wrapped according to the desired interface/api for the new C++ standard.
                        i do not know what would be the best way to do this under linux though, especially considering upcoming wayland support.

                        Comment


                        • #87
                          Originally posted by BlackStar View Post
                          You know what the Turbo Pascal UI and java.awt have in common? They are dead and buried.
                          what has this to do with the topic?

                          There is. It's called SDL. No need to burden the standard library with that.
                          what burden???

                          Comment


                          • #88
                            Originally posted by BlackStar View Post
                            Oh, and this. No, C++ does not have keyboard interaction in the standard library. It has std::cin which is a character-based iostream connected to a keyboard.

                            There is huge difference: std::cin cannot give you the state of the F-keys, of the keypad, the control keys, the alt keys etc etc.

                            So no, saying that C++ stdlib has methods to interact with the keyboard is wrong. It has methods to read character streams, and that's it.
                            you seem to still miss the whole point. you CAN read keyboard input and control a programm interactivly with it. no one claimed that you have access to the whole functionality of the keyboard.

                            neither does anybody want a full blown feature reach graphics library within the standard libs. we are talking about some basic features which meets the many usecases where no one want's to take the hassle with additional complicated libraries that may deprecate, cannot be isntalled (due to administrative restrictions) or just aren't available for a given platform.

                            we are talking ab out the standard libs! they cover only BASIC features.

                            EDIT. actually it seems you do not understand the difference about basic features and sophisticated libraries like qt, sdl etc.
                            hence i do not want to discuss this with you anymore. i've said enough, if you still don't get it then we most probably will never get together here.
                            obviously there are a lot of people sharing my opinion here, especially some who are responsible for the future developement of c++, thats's why they actually are considering such a step.
                            Last edited by a user; 01-07-2014, 12:47 PM.

                            Comment


                            • #89
                              Originally posted by zester View Post
                              Maybe I didn't understand your statement
                              may be, or may be you are just dumb. standard describes what effect calling api functions should have, but not how it is implemented.

                              Comment


                              • #90
                                Originally posted by Vim_User View Post
                                For sure, show me hardware acceleration on an Amazon EC2 system or a rack full of blades without video hardware or an IBM Power server or ...
                                http://aws.amazon.com/gpu/
                                for everything else just use google ffs

                                Comment

                                Working...
                                X