I don't use C++ and I never have.
Java sucks. It is slow and crappy. I have never used a Java app which was not slow, and which did not crash half the time.
If your ideal language is Java, it must only be because it is cross platform capable. And because you are certifiably insane.
If you want to have a string that can be modified insitu, you have to use StringBuffers in Java, so create yourself something similar or ask mark, but don't trash Strings and their functionality just because you lack some knowledge of how "modern" programming languages work and must work.
Must work? Why don't you explain why they must work this way. What is so dangerous and evil about allowing me to specify String[3] = "b" rather than doing all this crap?
I've been coding in Max for a good five months now and have nearly written a complete game in it. I'm pretty familiar with the OOP features of it by now, AT LEAST THOSE WHICH ARE DOCUMENTED, and I am well aware of the problems and omissions which cause issues like being unable to allow users to make objects that are extensions of my sprite type.
Frankly I'm offended that you think my way of coding is somehow outdated (it serves me quite well thank you very much) and that OOP is perfect in every way.
As for your stone age way with the pointers, that is unacceptable because then I'm mixing and matching code which is automatically managed with code I have to manually free, and that is just a recipe for disaster.
Of course my code already IS a recipe for disaster, because surprise surprise your wonderful Max OOP isn't so perfect after all and almost every type I've made in my game has had to have a Free() function to remove sprites from their internal list, or remove the animation types from their internal list, or remove the collision objects from their internal list, etc, etc etc. And don't even get me started on managing all the list pointers which I have to make sure get cleared so I don't have cyclic references there either.
If rather than insulting my style of code, and shoving in my face how wonderful OOP is and how wrong I am for wanting to do this, you would just tell me that A) You can't do that, and B) WHY you can't do it* then that would be most appreciated. But I don't appreciate being talked down to because I choose to use different methods than you.
(* Saying they must work that way is not an explanation of why they work that way. I was able to accept that 2D arrays aren't realy contiguous bits of memory because Mark explained why. I'm not going to simply accept strings hav to be this way without a good reason. Also I learn nothing about OOP by simply accepting that something has to be some way without knowing why it has to be that way.)
Java sucks. It is slow and crappy. I have never used a Java app which was not slow, and which did not crash half the time.
If your ideal language is Java, it must only be because it is cross platform capable. And because you are certifiably insane.
If you want to have a string that can be modified insitu, you have to use StringBuffers in Java, so create yourself something similar or ask mark, but don't trash Strings and their functionality just because you lack some knowledge of how "modern" programming languages work and must work.
Must work? Why don't you explain why they must work this way. What is so dangerous and evil about allowing me to specify String[3] = "b" rather than doing all this crap?
Function StrReplaceIndex(SourceStr:String Var, replaceString:String, Index:Int) SourceStr = SourceStr[..Index] + replaceString + SourceStr[Index+1..] End Function
I've been coding in Max for a good five months now and have nearly written a complete game in it. I'm pretty familiar with the OOP features of it by now, AT LEAST THOSE WHICH ARE DOCUMENTED, and I am well aware of the problems and omissions which cause issues like being unable to allow users to make objects that are extensions of my sprite type.
Frankly I'm offended that you think my way of coding is somehow outdated (it serves me quite well thank you very much) and that OOP is perfect in every way.
As for your stone age way with the pointers, that is unacceptable because then I'm mixing and matching code which is automatically managed with code I have to manually free, and that is just a recipe for disaster.
Of course my code already IS a recipe for disaster, because surprise surprise your wonderful Max OOP isn't so perfect after all and almost every type I've made in my game has had to have a Free() function to remove sprites from their internal list, or remove the animation types from their internal list, or remove the collision objects from their internal list, etc, etc etc. And don't even get me started on managing all the list pointers which I have to make sure get cleared so I don't have cyclic references there either.
If rather than insulting my style of code, and shoving in my face how wonderful OOP is and how wrong I am for wanting to do this, you would just tell me that A) You can't do that, and B) WHY you can't do it* then that would be most appreciated. But I don't appreciate being talked down to because I choose to use different methods than you.
(* Saying they must work that way is not an explanation of why they work that way. I was able to accept that 2D arrays aren't realy contiguous bits of memory because Mark explained why. I'm not going to simply accept strings hav to be this way without a good reason. Also I learn nothing about OOP by simply accepting that something has to be some way without knowing why it has to be that way.)