Talk:Comparison of programming languages (array)

From Wikipedia, the free encyclopedia

Contents

[edit] Vectorized Operations in Python

Are you sure that native python supports vectorized operations? I am under the impression that this requires an external set of packages such as numpy. If so, then "yes" in the vectorized column is a bit misleading and a footnote should be added explaining this. —Preceding unsigned comment added by Ty8inf (talkcontribs) 18:54, 17 January 2008 (UTC)

I did a quick test in python2.4:

 Python 2.4.4 (#2, Apr  5 2007, 20:11:18) 
 [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> x = [1,2,3]
 >>> y = [4,5,6];
 >>> x+y;
 [1, 2, 3, 4, 5, 6]

So it appears that native python does not provide such support. —Preceding unsigned comment added by Ty8inf (talkcontribs) 18:58, 17 January 2008 (UTC)

Note that there is no reason for footnote 18 - because with 3rd party extension every programming lanugage - including assember support vectorized operations - this is nothing special which need to be mentioned. Also note that I did not put down an Yes for Ada even while Ada has "Ada.Numerics.Generic_Real_Arrays" and "Ada.Numerics.Generic_Complex_Arrays" - but they are libraries and not language features. --Krischik T 08:49, 30 March 2008 (UTC)

[edit] Multi-dimensional arrays vs. Arrays of arrays

The table would benefit if there were two columns. One for support for multi-dimensional arrays and the other for support for arrays of arrays. I think it's always true that a language supporting arrays of arrays can emulate multi-dimensional arrays, so this fact should be in a paragraph and not a footnote. I also think it's always true that a language supporting arrays of arrays can have triangular arrays. That may be worth mentioning also. Unfortunately I'm not knowledgeable about all the languages in the table to make the change myself. —Egriffin (talk) 21:31, 23 January 2008 (UTC)

Indeed an extra article is needed - also mentioning which features are not supported by the emulation - two dimensional array slices come to my mind here. Mind you: most languages which don't support two dimensional arrays also don't support array slices. And this might not be a coincidence: Having one but not the other might not make much sense. Note: Triangular arrays need access types and heap memory in the middle (C/C++ users might might overlook that because C/C++ mixes the two concepts into some mushy hybrid). --Krischik T 09:10, 11 February 2008 (UTC)

[edit] Default base index in Ada

I'm not sure it's correct to say that Ada has a default base index; the base index is always specified explicitly when the array is declared. However it does appear that Ada culture is 1-origin; for instance, the dimensions of a multidimensional array are numbered from 1 in attribute invocations. ScottBurson (talk) 18:24, 27 January 2008 (UTC)

Consider the following example:
type Base_Colours is (Red, Green, Blue);
type Colour_Value is mod 256;
type RGB_Colour is array Base_Colours of Colour_Value;
The base index is not given but implicitly taken from the enumeration. Note that all Ada Compilers I know of will internally us a 0 to represent Red. The one place where Ada culture is 1-origin are Strings. But beware - in following demo World'First will be 7 not 1!
Hello_World : String := "Hello World!"
World       : String := Hello_World (7 .. 11);
Note that both examples are not theoretically border cases but quite common in Ada culture. --Krischik T 09:24, 11 February 2008 (UTC)

[edit] Vectorized Operations in PHP

I know that PHP defines array slices, but I see nothing to indicate that PHP supports the type of vectorized arithmetic operations that pertains to this article. Could someone knowledgable comment on PHP's capabilities in this area? -- Ty8inf (talk) 01:27, 29 January 2008 (UTC)