When I first learned c/c++ everything was all about OOP programming, it wasn't until later that I tried making a game using OOP, I had everything going great and then added an inherited additional behavior and suddenly I learned the hard way the flaw in OOP thinking.
c# is really the easiest, but that's because like Java, there's the code you write and then it adds piles of code to 'fill the gaps' to do the background work. The benefit of having the garbage collector do the heavy lifting, until you need a responsive app that suddenly calls the garbage collector when you don't want it and the whole program stops for a moment.
Even though there's more to worry about when handling memory, that greater level of control has value.
Yes I have run into garbage collector hiccups in Java. At the time I got around it by basically keeping a reference to the objects around when I was done with them, and then re-initialized them and re-used them as needed. So the garbage collector had nothing to do.
It was a little awkward but it worked great. I could get away with that because they were all fixed size.
I have to agree, the C# GC must be far more efficient, because with Java, especially on an android, when it hits you might lose a half-second (I know that sounds like a 'who cares', but it can cause grief)
When I first learned c/c++ everything was all about OOP programming, it wasn't until later that I tried making a game using OOP, I had everything going great and then added an inherited additional behavior and suddenly I learned the hard way the flaw in OOP thinking.
c# is really the easiest, but that's because like Java, there's the code you write and then it adds piles of code to 'fill the gaps' to do the background work. The benefit of having the garbage collector do the heavy lifting, until you need a responsive app that suddenly calls the garbage collector when you don't want it and the whole program stops for a moment.
Even though there's more to worry about when handling memory, that greater level of control has value.
Yes I have run into garbage collector hiccups in Java. At the time I got around it by basically keeping a reference to the objects around when I was done with them, and then re-initialized them and re-used them as needed. So the garbage collector had nothing to do.
It was a little awkward but it worked great. I could get away with that because they were all fixed size.
I've never yet had an issue with the GC with C#.
I have to agree, the C# GC must be far more efficient, because with Java, especially on an android, when it hits you might lose a half-second (I know that sounds like a 'who cares', but it can cause grief)