Announcement

Collapse
No announcement yet.

Why C++ for Unreal 4?

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

    1. Nobody is arguing with the fact that C++ is currently the most performant language for writing game-engines and game-editors - we all know that.
    2. Unity is written in C++ - both the game-engine and the game-editor - so it is not comparable to visual-studio.
    3. Unity uses an additional-layer for scripting game-logic of games made with it, just like any game-engine (except for UE4, for now...)
    4. C# is not meant to substitute C++ for writing game-engines or game-editors - not in Unity, and not anywhere (except for the arguably failed-experiment called XNA by Microsoft...)
    5. C# is used as one of the "scripting-languages" layer, for coding game-logic in Unity (instead of a visual-scripting language such as Blueprint or SnowDrop's varient).
    6. C# might not be the best option all-around for this layer (hence LUA for CryEngine and now UE4, as well as the up-coming SkookumScript for UE4)
    7. This thread is not about "which language should game-engines/editors be written in" - it is about "which language should game-logic be written-in UE4, additional to Blueprint".

    Comment


      Originally posted by EruArnold View Post
      7. This thread is not about "which language should game-engines/editors be written in" - it is about "which language should game-logic be written-in UE4, additional to Blueprint".
      Yes, you are correct.^^^

      And that's why I'm saying:
      At the moment there isn't language better suited for such task than C++ with regards to performance, productivity, portability, flexibility and expressiveness.

      Comment


        Originally posted by smallB View Post
        Yes, you are correct.^^^

        And that's why I'm saying:
        At the moment there isn't language better suited for such task than C++ with regards to performance, productivity, portability, flexibility and expressiveness.
        That are many SkookrumScript users that would beg to differ...
        There are also a few hundreds-of-thousands Unity users writing C# code, that have no complaints whatsoever about their code's performance, and are very happy with writing in a slightly-higher level of abstraction, are much more productive then they would have been with C++ (and thanks to tools like R#), are not feeling constrained by any stretch (flexibility, expressiveness, or any other...), and are targeting the largest spectrum of platforms there currently exist in any game-engine - so they will also disagree with you.
        Last edited by EruArnold; 09-07-2014, 07:32 AM.

        Comment


          Originally posted by EruArnold View Post
          That are many SkookrumScript users that would beg to differ...
          There are also a few hundreds-of-thousands Unity users writing C# code, that have no complaints whatsoever about their code's performance, and are very happy with writing in a slightly-higher level of abstraction- they will also disagree with you.
          Sure, and there are millions upon millions Java coders who think that Java is best language.

          This doesn't change the fact that by using C++ you have the most versatile, the most portable, the most expressive , the most performant and powerful tool in your hand.

          Comment


            Originally posted by smallB View Post
            Sure, and there are millions upon millions Java coders who think that Java is best language.
            There are also many Javascripts programmers... What's your point? None of them are writing game-logic code for a game-engine...
            Last edited by EruArnold; 09-07-2014, 07:44 AM.

            Comment


              Originally posted by smallB View Post
              This doesn't change the fact that by using C++ you have the most versatile, the most portable, the most expressive , the most performant and powerful tool in your hand.
              Even if that was "all entirely true for everything" (which it isn't...) - These are still not the only factors to consider, and not even the most important ones when you put it to real-world scenarios - otherwise, Unity would not have survived for the past decade or so...

              I am sorry, but your view of the world just fails to be mapped to reality...

              Comment


                Originally posted by EruArnold View Post
                There are also many Javascripts programmers... What's your point? None of are writing game-logic code for a game-engine...
                My point is that number of users DOES NOT reflect which language is best for what purpose.

                Comment


                  Originally posted by EruArnold View Post
                  Even if that was "all entirely true for everything" (which it isn't...) -
                  Yes, it is.

                  Comment


                    I dont understant the huge hate for c++ some people have. Ive used unity a bit, and i can say C++ in UE4 is easier than C# in unity. All the hot reload features make it equivalent to a scripting lenguage, and all the help you get with managed memory for UObjects and similar make the most problematic part of c++ (dealing with memory) a non-issue, as its all managed by the engine itself. The only thing you have to take care is for instant crashes when accessing a null pointer, little else.
                    UDK and UE4 programmer and Unreal engine 4 betatester. Currently working on commercial VR games for PSVR.
                    Deep knowlegde of C++ and blueprints. Open to freelance work.
                    Games released, Deathwave(Steam), VRMultigames(Steam), DWVR(Steam,Oculus,PSVR):
                    http://store.steampowered.com/app/463870
                    http://store.steampowered.com/app/500360
                    http://store.steampowered.com/app/520750

                    Comment


                      Originally posted by EruArnold View Post
                      ... writing in a slightly-higher level of abstraction, are much more productive then they would have been with C++...
                      You are WRONG.
                      C# does not provide higher level of abstraction to C++. Nor is more productive. Do your homework.

                      Comment


                        Originally posted by vblanco View Post
                        I dont understant the huge hate for c++ some people have. Ive used unity a bit, and i can say C++ in UE4 is easier than C# in unity. All the hot reload features make it equivalent to a scripting lenguage, and all the help you get with managed memory for UObjects and similar make the most problematic part of c++ (dealing with memory) a non-issue, as its all managed by the engine itself. The only thing you have to take care is for instant crashes when accessing a null pointer, little else.
                        There's no hate for C++ from my side. It's funny actually, I went from C++ defender to "hater" in this thread, or at least it may seem that way. My original point was in fact that we don't need C# in UE4 because we already have blueprints for scripting and C++ for performance-critical stuff. I was arguing that Epic should by no means waste precious dev time on such a feature. If it's a third party implementing it, there's no problem at all. Looking forward to the upcoming SkookumScript.

                        However, I have a problem when someone comes waltzing in here making silly Ferrari analogies and claiming that everything should be coded in C++, completely disregarding what's going on in the industry and completely ignoring how important iteration and productivity are these days.

                        Comment


                          Originally posted by Gigantoad View Post
                          There's no hate for C++ from my side. It's funny actually, I went from C++ defender to "hater" in this thread, or at least it may seem that way. My original point was in fact that we don't need C# in UE4 because we already have blueprints for scripting and C++ for performance-critical stuff. I was arguing that Epic should by no means waste precious dev time on such a feature. If it's a third party implementing it, there's no problem at all. Looking forward to the upcoming SkookumScript.

                          However, I have a problem when someone comes waltzing in here making silly Ferrari analogies and claiming that everything should be coded in C++, completely disregarding what's going on in the industry and completely ignoring how important iteration and productivity are these days.
                          Said fiesta driver seeing Ferrari passing by.^^^

                          C++ is as productive as C#. The thing is that you have to be fluent in it.
                          And yes, most things should be done in C++.

                          Comment


                            I've programmed for over 40 years. 35+ years in C, 25+ years in C++, and 10+ years in C#.

                            Originally posted by smallB View Post
                            You are WRONG.
                            No, he's not.

                            C# does not provide higher level of abstraction to C++.
                            LINQ, delegates/events, async/await and garbage collection are all higher levels of abstraction that do not have equivalents in C++.

                            Nor is more productive.
                            Visual Studio and C# is by far the most productive programming tools I've worked with for a statically typed language and matches integrated environments like Smalltalk for programmer productivity. I'm much slower in C++ despite have far more experience with it.

                            Do your homework.
                            I've done mine. And my experience (and that of lot's of other developers I'm spoken to over the years) says you're the one who's consistently wrong here with your dogmatic insistence on only C++.
                            Last edited by jCoder; 09-07-2014, 10:13 AM.

                            Comment


                              yes, he is. You are too by the way.
                              What do you mean delegates, events, awaits etc. don't have equivalents in C++? When did you last time refreshed your knowledge about *modern* C++?

                              And as for Visual Studio and being productive? You must be really joking, or you are really unaware of better tools.

                              Comment


                                For supposedly being so knowledgeable, I must say smallB's replies are very disappointing. A knowledgeable person wouldn't need to throw titles or insults as an argument for his/her point. In fact, that does the exact opposite. The method of argumentation resembles a fanboy war more than an actual programmer exchange, making me think he's either trolling, or has little understanding of programming.

                                Comment

                                Working...
                                X