Definition
An array language is a programming language that supports the manipulation of entire arrays – or portions of arrays – as a basic unit of operation.
Discussion
Array languages provide two primary benefits: (1) They raise the level of abstraction, providing conciseness and programming convenience; (2) they provide a natural source of data parallelism, because the multiple elements of an array can typically be manipulated concurrently. Both benefits derive from the removal of control flow. For example, the following array statement assigns each element of the B array to its corresponding element in the A array:
This same expression could be expressed in a scalar language using an explicit looping construct:
The array statement is conceptually simpler because it removes the need to iterate over individual...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsBibliography
Adams JC, Brainerd WS, Martin JT, Smith BT, Wagener JL (1992) Fortran 90 handbook. McGraw-Hill, New York
Blelloch G (1996) Programming parallel algorithms. Comm ACM 39(3):85–97
Blelloch GE (1992) NESL: a nested data-parallel language. Technical Report CMUCS-92-103, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, January 1992
Chamberlain BL (2001) The design and implementation of a region-based parallel language. PhD thesis, University of Washington, Department of Computer Science and Engineering, Seattle, WA
Chamberlain BL, Callahan D, Zima HP (2007) Parallel programmability and the Chapel language. Int J High Perform Comput Appl 21(3):291–312
Ebcioglu K, Saraswat V, Sarkar V (2004) X10: programming for hierarchical parallelism and non-uniform data access. In: International Workshop on Language Runtimes, OOPSLA 2004, Vancouver, BC
Amos Gilat (2003) MATLAB: an introduction with applications, 2nd edn. Wiley, New York
Hatcher PJ, Quinn MJ (1991) Data-parallel programming on MIMD computers. MIT Press, Cambridge, MA
Hilfinger PN, Colella P (1988) FIDIL: a language for scientific programming. Technical Report UCRL-98057, Lawrence Livermore National Laboratory, Livermore, CA, January 1988
Iverson K (1962) A programming language. Wiley, New York
Ladner RE, Fischer MJ (1980) Parallel prefix computation. JACM 27(4):831–838
Lin C, Snyder L (1993) ZPL: an array sublanguage. In: Banerjee U, Gelernter D, Nicolau A, Padua D (eds) Languages and compilers for parallel computing. Springer-Verlag, New York, pp 96–114
Rose JR, Steele Jr GL (1987) \({\textrm{ C}}^{{_\ast}}\): an extended C language for data parallel programming. In: 2nd International Conference on Supercomputing, Santa Clara, CA, March 1987
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Lin, C. (2011). Array Languages. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_25
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_25
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering