Question 'bout future features

BlitzMax Forums/BlitzMax Programming/Question 'bout future features

Mauft(Posted 2010) [#1]
While I was working with Actionscript 3 I learned to use some functionality which is not present in Blitzmax (and more), and here I am asking if there is actually any hope that any or all of these will happen to be implemented in BlitzMax (starting from, in my opinion, the most important ones):


1. Not sure how it is named, but if I recall correctly in C++ you can create your own custom classes' behavior when adding occurs (so if I have class Player what happens if I try to add to instance of this class number 3, like in:
Local p:Player = new Player() + 10;
). I realize that with strong type checking of SuperStrict it could just be converted on compilation time to compiler-generated functions.

2. Interfaces, anyone?

3. Public, Private and Protected access modifiers for Type functions, methods and fields.

4. Getters and Setters - whilst I know we can as easily do something like:
 Method GetDistance:Int() 
and then call
 Local vodkaDelay:int = VodkaBottle.GetDistance() 
I personally would prefer to have something along these lines:
Type Vodka
 Field _distance:Int = 10000;
  Method Get distance:Int()
  return distance;
 EndMethod
 Method Set distance(value:Int)
  _distance = value;
 EndMethod
EndType

Local VodkaBottle:Vodka = new Vodka;

Local vodkaDelay:int = VodkaBottle.distance;
VodkaBottle.distance = vodkaDelay - 1;

(Please, don't question sanity of this example) which greatly adds to the clarity and readability of the code (This, or I am just too used to the AS syntax)


Is there any future for any of these? And are there any particular reasons for why any of these wasn't yet implemented?

And please forgive me if any of these actually exists, I haven't used Blitzmax for a long time and haven't noticed any of these in the changelog.


N(Posted 2010) [#2]
Are you expecting more than speculation in terms of answers?


Mauft(Posted 2010) [#3]
Yes, I am silently hoping that some people here, who actively follow the community, might know the answers to question above.


matibee(Posted 2010) [#4]
I can't imagine the language is going to be developed to that extent any time soon. We all know (or hope) what development is currently happening (see the "Lots of platforms" thread over in the general discussion forum) and by the time that happens we'll still be a long way from seeing things like operator overloading and complete public/private/protected ability.

Unless the "Lots of platforms" opens up a wider audience (ie sells a lot more copies) who also continue to petition for these things it's very unlikely to ever happen imo given the effort involved.


Brucey(Posted 2010) [#5]
2 & 3 would be nice, not so convinced about the others.


ziggy(Posted 2010) [#6]
those are called properties and I have requested them sice day 1, but I think Mark does not like them otherwise they would have been available since day 1.


markcw(Posted 2010) [#7]
I think you mean operator overloading for 1. I've seen interfaces and encapsulation requested many times but not getters/setters which is only a syntax preference.

Max already supports a basic form of encapsulation which you should check up on.

Nobody knows if any of this stuff will ever appear but there are plans for a "Max 2" so maybe.


plash(Posted 2010) [#8]
@markcw: http://blitzbasic.com/Community/posts.php?topic=70685

@Mauft: As to all the points you have made, they have all been suggested/requested at some point in the past.


ziggy(Posted 2010) [#9]
there are plans for a "Max 2"
where did you get this information? I'm very curious!!


Mauft(Posted 2010) [#10]
@Mauft: As to all the points you have made, they have all been suggested/requested at some point in the past.


I do realize that, I have been reading some old topics seeking some information on similar subjects and I thought that there might have been some official announcements about it due to community's curiosity in the matter but since I have found nothing I decided to ask.

(see the "Lots of platforms" thread over in the general discussion forum)


Thanks for info. I think this is both good and bad course of action.


Floyd(Posted 2010) [#11]
I think that started as an offhand comment from Mark Sibly about some feature, "maybe for Max 2". Some people took this to mean that Max 2 was already being planned. But I think he just meant "maybe in the distant future".


markcw(Posted 2010) [#12]
@Plash, the comment about "Max 2" was posted in Mark's worklog before he deleted it, so I consider that common knowledge.

This is all just my own speculation, but I think these features (operator overloading, interfaces, encapsulation, properties, etc.) all require a rewrite of existing code, so that's why they are on the "Max 2" list.


plash(Posted 2010) [#13]
@Plash, the comment about "Max 2" was posted in Mark's worklog before he deleted it, so I consider that common knowledge.
Ah, wasn't entirely sure where. Though, I don't remember it sounding like "Max 2 is being developed".