wish list of BlitzMax new features

Miscellaneous Forums/General Discussion/wish list of BlitzMax new features

I started this topic with the aim of some features that can improve BlitzMax language hoping mark will implement it to the core language.
Post your ideas

PS please don't make this topic a max3D topic

my list:

1) Parametric new(): yes you can use a function but i think it isn't too difficult to make the new parametric

2) overloading: i'd like to have methods with the same name but different parameters

3) reflection also for functions in type (if already exsist sorry for the mistake)

An "auto-dispel wish-list thread" button.

Seriously, how many times do we have to go over this?

i'm new here. My aim was to find some improvement to the language to make it better (reading some posts in general discussion seems there are bad perspective toward bmax).

This thread would be propositive and not to make pressure on mark or to write useless wishes.

I wanted to find with the other users those features that don't make bmax the great language it can be and suggesti it to mark.

If moderators or users think this is pointless or already done a lot of time, you can delete or lock this post.

I'm sorry if i spammed in forum and for my (bad) english.

Unfortunately these questions/comments are very frequent, just see these two threads

http://www.blitzbasic.com/Community/posts.php?topic=78064
http://www.blitzbasic.com/Community/posts.php?topic=78193

And adding another one could be considered 'irritating'...:D

And adding another one could be considered 'irritating'...:D

As degac says, the reaction is because this has been discussed very extensively in the past two weeks, check out the other threads linked and consider a forum search before posting.

i've already read those threads.
i thought this one could be different in some ways.
i'm sorry.

Overloading will never happen.
Thats C trash, no other language allows you to have 2 different incaranations of the same function with different parameters. Thats just plain breaking modern OO paradigms. Different parameters -> different functions -> different names.
And with autocompletition there definitely isn't the least bit of an intelligent reason to have it.

Agree on the parametric New() thought or a documentation on the new typename(parameters) functionality that some BM modules use

java have overloading...

Java is based on C and C++.

I don't really like Method Overloading, it's confusing. I like Operator Overloading though.

5 button mouse :)

reading some posts in general discussion seems there are bad perspective toward bmax

Which posts are you referring to and what do you mean by 'bad perspective'?

i hope to have misundertood. i refer for example to the thread linked by degac

http://www.blitzbasic.com/Community/posts.php?topic=78064
http://www.blitzbasic.com/Community/posts.php?topic=78193

it's seems sometime like bmax is a dead language or that will not be any official support for it... but i don't think so and i wanted to be propositive.

I understood that i mistake creating this thread.... :(

Thats C trash, no other language allows you to have 2 different incaranations of the same function with different parameters.


Except maybe pascal.

it's seems sometime like bmax is a dead language or that will not be any official support for it...
Quote from the forum rules (which I may have completely invented):

1. Ignore all rumours.

2. If you find yourself listening to rumours, refer to rule 1.


But to be serious, people have been saying Blitzbasic/Blitz3D/BlitzMax etc have been "dead in the water" for as long as I can remember, and I've been here eight years. Do the maths.

Except maybe pascal.
And Python. And pretty much every other language I can think of at the moment, that isn't made by BRL.

And with autocompletition there definitely isn't the least bit of an intelligent reason to have it.
1) Yes there is.
2) The BlitzMAX IDE didn't have auto completion last time I checked.

Agree on the parametric New() though
So you would say there is an intelligent reason for constructor overloading, but not for methods or operators? Please do tell, I'm dying to hear this one.

Java is based on C and C++.
No. If you want to "base" java off something, closer matches would be SmallTalk or Simula.

As I clearly said no overloading I meant it like that.
New remains new.
What would be neat would be a way to define initializers / instantiation functionality like in other languages (Eiffel is the one I know for sure that it exists) which is used as a selector.

And operator overloading will never happen. That would make the compiler much more complex than it already is and it would need extension to the parsing as well as the language syntax end.

Here an example of what I meant for example
Type TTest
 creators make, makeWithArray, makeWithParam

 method make()

 end method

 method makeWithArray( data:object[] )

 end method

 method makeWithParam( param1:int, param2:string )

 end method

end type

local t:TTest = new TTest( ["a","b","c"] )


But as mentioned, it would already be great if BRL / Mark documented the so far undocumented feature he used to accomplish EXACTLY that!
If you check the BRL modules, you will find different cases where there is new Typename( param ) and to my knowledge BRL never even lost a rumored word on how this works and why.


If you check the BRL modules, you will find different cases where there is new Typename( param )


Please can you tell me where I need to look for? I'm very curious about it, but scanning all the modules for searching something is not the best way to spend time....

me too...i would find such a function very useful for debug, but you don't even seem to be able to get at it through reflection...

Why not ask for something thats truly useful and needed, like
a direct C struct interface. Importing C files seems like a great feature until you realize that its half baked and makes you want to pull your hair out if you not a C guru.

Aside from filling in the missing FreeJoy routines, there aren't any features I want added - everything I want is there, and perhaps the only extra thing that could be added is native multiple mouse support.

Packaging. (ie, better help, ide, debugger etc.) other than that im good.

Overloading, while i can see the advantages it would probably be too confusing for most.

Why not ask for something thats truly useful and needed, like
a direct C struct interface
Yeah, GW. This one is truly a killer, IMO. Mark said he was thinking about it, but that was a year or two back. I'm surprised he didn't implement it, even if purely for his own ease of use.