What have you got against BlitzMax?

Miscellaneous Forums/General Discussion/What have you got against BlitzMax?

Okay... so you've heard me complaining that a lot of people 'don't like Max', but I don't think they're giving valid reasons for the most part. This is the thread to raise all those issues. The idea is that we either show they're non-issues, or come up with a constructive solution if possible, which I add to the master list. Fight.....

Issues:
1. Docs still need improvement. This may be responsible for the perceived difficulty of BlitzMax?
2. 'Code to generate a type list causes bloat'. Solution: Allow an 'autolist' declaration in each type, that creates said list behind the scenes.
3. Lack of built in 3D. It's in the pipe-works. Not a lot we can do in the meantime.
4. Poor built in IDE. Inconsistent highlighting of types. <No don't spend time on this, Mark!!!> Solution: Official support for CE IDE.
5. Sort the debugger out.
6. Import does not handle cross dependencies
7. Garbage collector doesn't handle circular refs
8. Lack of render targets/drawing to hardware buffers.
9. The demo versions need updating
10. Private, protected, and public members
11. Simplify MingW install, bundle it or make instructions more obvious
12. Generic programming/templates [a 'nice to have' rather than an issue]

Non issues:
1. 'I don't like OOP'. No one's forcing you to use it. Don't be a cry baby!
2. 'It isn't cute... it isn't named Blitz3D2'..... Cut me a break!
3. It's used to write games that come in cereal boxes

BM could do with, but B3D is no better:
1. Better GUI lib, and some sort of visual GUI editor would be nice.
2. 64 bit compiler
3. Threading
4. C style structs for easy comms with external code.
5. More promotion/advertising.
6. More support from 3rd party libraries (linked with [5])
7. A better communicated 'roadmap'
8. Method callbacks
9. Built in support for dll creation
10. Ability to define exe icon
11. Unicode support for files/paths

BM superiorities:
1. Cross platform
2. Optimising compiler i.e. it's faster.
3. OOP (ish) [If, and only if, you wish to use it]
4. Multiple lists per type (this one can be a positive or a negative)
5. Garbage collection is nice (when it's not causing headaches)
6. 'Out of the box' support for including media in the binary
7. '2D in 3D' out of the box... rotatey, alpha(ey?),stretchy sprites
8. Functions can return arrays. <Dynamically allocated arrays>
9. More future proof. This is where Mark's main efforts will be directed.
10. Line splitting.
11. Option of strict compilation to check for variable declaration etc.
12. Can compile C and fasm files as part of your build.
13. Runtime reflection.
14. Ability to edit the core modules, a lot of which are in the native tongue.

Not sure/Open for discussion:
1. Audio needs work?
2. Make simple data types an object?