Announcement

Collapse
No announcement yet.

Mono Developers Regret Doing Moonlight In C++

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

  • #51
    So (Miguel) he's blaming Object Orientated Programming...OOP. Maybe Linus will get involved in this discussion as it wasn't too long ago he had a change of mind regarding C vs C++, with the later being accepted. What's the complaint? Too much stack pushing in C++ generated code.

    Comment


    • #52
      Originally posted by lano1106 View Post
      Generally, the open-source project code quality is surprisingly very good but as soon as you go in a closed shop, all bets are on regarding the crappiness of the code. From my experience, the bigger the shop is, the crappier the code becomes.
      I suspect that's mostly because in the open-source world, most people are volunteers, with nobody to tell them what they should be working on. Spending time on code quality becomes a higher priority when you don't have a boss demanding you look at the next feature request (which in fairness, you *are* getting paid for).


      Originally posted by lano1106 View Post
      My favorite example. IBM source version control client ClearCase is 1GB big!
      Yeah, Clearcase is crap. It does have some strong features - mostly around the concept of an activity - that are a big positive from the release management perspective, but it's an absolute heap of crap for the developers.

      Comment


      • #53
        Originally posted by a user View Post
        how exactly is this (true) statement contradicting your quote? the relation between C and C++ regarding code quality is independent to the issue you describe.
        it was in response to what has been said that having classes was better because it was helping to understand the design in bad code. My experience is that if the code is really ugly, the huge pile of classes does not help to understand quite the opposite. It will obfuscate it. Think spagethi code Object-oritented.

        There is no contradiction to what I have said previously. There is absolutly nothing that C++ can do against bad coding. C++ is a superset of C, if used correctly, it can remove the need to write a lot of boilerplate code which IMHO is good as the only 100% bug free code is the one that you do not write.

        Comment


        • #54
          Originally posted by pepper_chico View Post
          Actually, as he says, it's not quite powerful/cross-platform/performant as expected, but the most common element of it is dynamic_cast, and if you ever used it, you had used RTTI.
          Actually, I haven't used dynamic_cast, and anyway, I meant I haven't used RAAI, not RTTI.

          Originally posted by lano1106 View Post
          trust me. This is not true. Sometimes, the apparent purpose of the huge pile of senseless classes seem to be to make the reader insane and confused. Generally, the open-source project code quality is surprisingly very good but as soon as you go in a closed shop, all bets are on regarding the crappiness of the code. From my experience, the bigger the shop is, the crappier the code becomes. My favorite example. IBM source version control client ClearCase is 1GB big! The situation is so bad that they even have to resort to subliminal messages by drawing in blue pale the words 'Speed' and 'effeciency' in the client white background.
          Luckily, I stated my experience is not that much. Never worked in closed source, for example, as I'm a hobbyist, not a pro. But thanks for the correction, it's always good to know a bit more.

          Comment


          • #55
            Originally posted by TemplarGR View Post
            C++ in general sucks. Only "IT guys" who never touch code tend to think otherwise.

            It is not that it doesn't have its uses. It does. But more often than not, people overestimate its performance and underestimate its problems...
            Tell that to anyone who need performance, and they'll laugh at you. Propose any mature alternative. Languages like Rust which can be such alternative are young and only now emerging.

            Comment


            • #56
              With a few exceptions, every major AAA game engine in the last 20+ years has been written in C++ (the holdouts are all in C). Case closed?

              C# works very well at the indie/hobby/low-budget level and I would not steer a anyone away from using it for their first games. C# is also the de facto implementation language for almost all content tools and out-of-engine code in the games industry written in the last decade or so.

              Rust some other similar language will maybe supplant C++ someday. Not until they start producing professional-grade tools, though. The C++ tools aren't even all that great; surpassing them is a low bar to aim for, but not a single "C++ killer" language has even _tried_ to reach for that bar yet.

              None of this has _any_ bearing on what the right choice for Moonlight would be for Miguel's team. Team experience and familiarity is a hugely important part of language choice. If you are a grand master of A and only mediocre with B, you should for any professional endeavor stick with A unless you have very good reason not to.

              Comment


              • #57
                Guys, stop fighting over nothing...

                Every language is a tool, and every tool is fit for a job. When i said earlier that C++ sucks, i didn't mean it is useless...

                The thing is, there are certain kinds of projects and you should pick the language that fits more with them.

                So, what is C++ good for today?

                Elanthis said, and of course it is true, that major AAA game engines are all written in C++. So, we already have one use case of C++. But AAA games are only a tiny fraction of modern software...

                IMHO, C++ is still the go-to AAA game language more because of its established software ecosystem than anything else...

                Apart from gaming, what else is c++ useful for? Maybe for writting some system libraries? For Qt?

                For me the biggest problem of c++ is that since most programmers are mediocre or lazy, they abuse its features and create bad code. And maintaining said code, especially if you are not the one who originally created it, sucks...

                IMHO, managed code is the best way to write software, especially since modern hardware and jit engines combat any speed disadvantage.

                Why not use Java or .Net over C++? Even for AAA games? Faster development, less bugs. The performance intensive libs can still be in c/c++. But gaming code can be in Java and not loose 1% in performance in today multicore systems...

                Modern hardware provides us with the opportunity to start using higher level languages. Yes, C/C++ can be faster if you know what you are doing, but they need many workhours...

                Notice how, all major AAA games are released in a sad state today. Full of bugs, lacking features etc. This is because as the projects grow in complexity, c++ can't keep up. It allows disaster to occur...

                C++ is a nice tool. Assembly is a nice tool too. But you don't see many coders writting in Assembly today...

                Comment


                • #58
                  Originally posted by TemplarGR View Post
                  Why not use Java or .Net over C++? Even for AAA games? Faster development, less bugs. The performance intensive libs can still be in c/c++. But gaming code can be in Java and not loose 1% in performance in today multicore systems...
                  Exactly. I used to be a "Java hater" because I thought it was slow, bloated,... but there are amazing libs like GDX that make game programming extremely easy. The trick is to interface with the graphics subsystem using C/C++. I don't know about AAA games, but you can make pretty decent cross-platform games with Java and libs like GDX. And this is going to get better with JavaFX2. Just take a look at this demo of JavaFX running on a Raspberry Pi: http://www.youtube.com/watch?v=KyRiSkISx4g

                  Comment


                  • #59
                    Originally posted by TemplarGR View Post
                    Guys, stop fighting over nothing...
                    So, what is C++ good for today?

                    Elanthis said, and of course it is true, that major AAA game engines are all written in C++. So, we already have one use case of C++. But AAA games are only a tiny fraction of modern software...
                    I gave you another three examples across rather large fractions of use cases, namely desktop, browser and database. Head over to Ohloh and you will see C/C++ used for anything under the sun, successfully.
                    IMHO, C++ is still the go-to AAA game language more because of its established software ecosystem than anything else...
                    Comparing to managed languages, Java and .Net, I would even argue that the managed alternatives have gotten at least as much resources on the ecosystem. They have been around for quite some time you know, and have had large corporations backing them that really wanted them to replace C/C++.
                    Why not use Java or .Net over C++? Even for AAA games? Faster development, less bugs
                    Whether managed languages leads to faster development or less bugs is open for discussion. Personally, I have seen no particular advantage for managed languages on either.

                    Comment


                    • #60
                      Originally posted by wargames View Post
                      Exactly. I used to be a "Java hater" because I thought it was slow, bloated,... but there are amazing libs like GDX that make game programming extremely easy. The trick is to interface with the graphics subsystem using C/C++. I don't know about AAA games, but you can make pretty decent cross-platform games with Java and libs like GDX. And this is going to get better with JavaFX2. Just take a look at this demo of JavaFX running on a Raspberry Pi: http://www.youtube.com/watch?v=KyRiSkISx4g
                      Yes, and combining that with Aparapi to make good physics running on the gpu is great

                      Comment

                      Working...
                      X