I have been using BlitzMax for, what, two years? And I still think memory management is stupid.
1. Unless you are writing an extremely simple application, there is no way you are going to get away with not having a Free() command to get rid of objects. Even the MaxGUI module requires you to use FreeGadget(). And since BMX doesn't handle circular references, what is the point of even using it, since we have to do all this manual memory releasing anyways?
2. It makes interfacing with other languages and script a lot messier.
3. The only thing it is good for is math objects like a Vec3 class, but C++ handles this without using memory management.
It seems like something that was implemented just because it was kind of a new curiosity that C# was using, and once the novelty wore off, the author didn't want to bother finishing it. Circular references aren't that big of a deal to me, because I have to do so much to manually free my objects anyways. The thing that bugs me most is how it makes it a lot harder to interface with other languages. I don't like having things in my program happening without me having control of it.
Maybe I just have outgrown the language and I need to move on to C++.
1. Unless you are writing an extremely simple application, there is no way you are going to get away with not having a Free() command to get rid of objects. Even the MaxGUI module requires you to use FreeGadget(). And since BMX doesn't handle circular references, what is the point of even using it, since we have to do all this manual memory releasing anyways?
2. It makes interfacing with other languages and script a lot messier.
3. The only thing it is good for is math objects like a Vec3 class, but C++ handles this without using memory management.
It seems like something that was implemented just because it was kind of a new curiosity that C# was using, and once the novelty wore off, the author didn't want to bother finishing it. Circular references aren't that big of a deal to me, because I have to do so much to manually free my objects anyways. The thing that bugs me most is how it makes it a lot harder to interface with other languages. I don't like having things in my program happening without me having control of it.
Maybe I just have outgrown the language and I need to move on to C++.