Announcement

Collapse
No announcement yet.

GTK Scene Kit Merged For GTK4

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

  • #11
    Originally posted by ebassi View Post

    Then we'd have to write a C layer so that language bindings could be written on top of it. We'd also need to rewrite hundreds of thousands of lines of code just to use a worse language that just happens to have some OO syntactic language on top of all the pitfalls of C.
    Clearly you should rewrite it in Rust :-P

    Comment


    • #12
      Originally posted by ebassi View Post
      Then we'd have to write a C layer so that language bindings could be written on top of it. We'd also need to rewrite hundreds of thousands of lines of code just to use a worse language that just happens to have some OO syntactic language on top of all the pitfalls of C.
      mic drop

      Honestly I do wonder why people keep telling eachother that C++ is a good thing. OO is an especially bad idea for a scenegraph where you want to be able to prepare the scene in a few linear passes over memory instead of some smattering of reads and writes calling into 1000 giant basic blocks.

      Comment


      • #13
        Originally posted by uid313 View Post
        Maybe should rewrite in C++ instead of C to take advantage of OO?
        It's already using OO. You don't need C++ for OO.

        Not only that, it's OO implementation, based on gobject, is self-documenting and allows it to be consumed by any gobject client library, and those are available in all popular languages. So, no need to create separate GTK bindings for each language. Of course, there is a C++ client, too.

        Not only that, but you have Vala, a language similar to C#, that is designed around gobject. Behind the scenes it generates C code, and so has all the advantages of a fully compatibly ABI. Write your libraries in Vala, and they can be consumed by any gobject client naturally.

        GTK's solution to OO has been criticized as clunky compared to C++, but I think over the years the gobject platform has become something extremely powerful. Sticking to C was the best decision.

        Comment


        • #14
          Originally posted by emblemparade View Post

          It's already using OO. You don't need C++ for OO.


          GTK's solution to OO has been criticized as clunky compared to C++, but I think over the years the gobject platform has become something extremely powerful. Sticking to C was the best decision.
          Indeed. My question is: "Do any of the Comp Sci geniuses bad-mouthing GTK for not being GTKmm actually code GTK anything themselves?"

          Don't knock it if haven't tried it. It's been a few years, but before switching to Qt, I found GTK's C++ bindings very clean, useful, and generally a pleasure to code with. Do
          $> dnf info gtkmm*
          on a Fedora near you.

          Comment


          • #15
            Originally posted by rastersoft View Post

            Just rename all functions to GtkWindowFramebutton style :P
            Right, because C++ and all it's ilk adds so much value as a `better C'. You know, like Multiple Inheritance and other crap that reminded me how much I despise Java and C++ and its language semantics which got praise, yet ObjC/Cocoa was panned: until everyone started mimicking NeXT/Apple's MVC model within C++.

            I had high hopes for Swift, but it's readability as a self-documenting source makes C++ look like a dream by comparison.

            People complain about C being arcane to read.

            Get the latest news and helpful tips on the Swift programming language from the engineers who created it.


            Seriously, all these languages are becoming more and more illegible to the layman's eye. Hell, let's go all hog in with Assembly.

            The irony for myself who loves Pure and Applied Mathematics as a Mechanical Engineer is that Programming will never be the Art of Mathematics until it can agree upon a formal language notation that is universal in all implementations. That will never happen.

            Comment


            • #16
              Originally posted by microcode View Post

              mic drop

              Honestly I do wonder why people keep telling eachother that C++ is a good thing. OO is an especially bad idea for a scenegraph where you want to be able to prepare the scene in a few linear passes over memory instead of some smattering of reads and writes calling into 1000 giant basic blocks.
              It's the reason why ObjC was always favored at NeXT. Write all the low level in C and just expose the interaces in ObjC.

              Comment


              • #17
                Originally posted by tessio View Post
                Now get rid of Cairo, gtk!
                What does this have to do with Cairo?
                You still need something to draw all those pretty curves and boxes.

                Comment


                • #18
                  Originally posted by rastersoft View Post

                  Just rename all functions to GtkWindowFramebutton style :P
                  But namespaces are really nice. Then you can type Gtk<dot> and find everything in that namespace, then Gtk.Window<dot> and find everything under that namespace.

                  Comment


                  • #19
                    Originally posted by uid313 View Post

                    But namespaces are really nice. Then you can type Gtk<dot> and find everything in that namespace, then Gtk.Window<dot> and find everything under that namespace.
                    You are talking about reasonable competent auto complete. That doesn't require C++.

                    Comment


                    • #20
                      Originally posted by uid313 View Post

                      But namespaces are really nice. Then you can type Gtk<dot> and find everything in that namespace, then Gtk.Window<dot> and find everything under that namespace.
                      Use Vala or Python with Gtk.

                      Comment

                      Working...
                      X