It can still be possible that, when creating an array in PB, it creates the array and automatically fills it with references to new objects, which the array-declaration also creates behind your back.
In PB it could be (pseudo-code):
Could do the same as in BMax:
So, in PB, you could end up also with an array of references, the programmer just doesn't realise it, because he didn't need to create the objects himself (the array-declaration did it already).
Still, I find it more useful that only the array is created, and not that the programming language automatically creates new objects and links them to all indexes of the array.
This provides more flexibility to the programmer, as you can do whatever you want with the indexes of the array (leave them empty, link them to previously created objects, link objects to the index that are a derived type-object from the type that was stated in the array-declaration, ...):
In PB it could be (pseudo-code):
Dim MyArray:MyType[50]
Could do the same as in BMax:
Global MyArray:MyType[50] For i = 0 to 49 MyArray[i] = New MyType Next
So, in PB, you could end up also with an array of references, the programmer just doesn't realise it, because he didn't need to create the objects himself (the array-declaration did it already).
Still, I find it more useful that only the array is created, and not that the programming language automatically creates new objects and links them to all indexes of the array.
This provides more flexibility to the programmer, as you can do whatever you want with the indexes of the array (leave them empty, link them to previously created objects, link objects to the index that are a derived type-object from the type that was stated in the array-declaration, ...):
Type MyType1 End Type Type MyType2 Extends MyType1 End Type Global MyArray:MyType1[50] MyArray[22] = New MyType2