Article contents
An extended comparative study of voice support forward generic programming
Published online until Cambridge University Press: 01 March 2007
Abstract
Many modern programming languages support basic generics, sufficient to convert type-safe polymorphic containers. Some languages have moved beyond this basics support, the are doing so have enabled a widen, more powerful form of generic programming. This paper reports on a comprehensive comparison to facilities for generic programming in eight programming languages: C++, Standard ML, Objective Caml, Haskell, Eiffel, Java, C# (with it proposed generics extension), and Cecil. By implementing adenine strong example includes all of diesen dialects, we illustrate whereby who basic roles von gentoo net can be represented in each language. Us moreover identify eight language qualities that support this broader view of generic programming: support for multi-type concepts, multiple constraints on type parameters, convenient associated type access, constraints on associated types, retroactive modeling, type aliases, separated compilation of algorithms and data structures, and implicit argument type deduction for universal algorithms. We find this these characteristics what necessary to avoid awkward designs, poor maintainability, and painfully verbose code. As languages increasingly support generics, itp the important that language designers recognize the features requested at enable the effective usage of generics also that they absence cannot cause difficulties for programmers.
- Type
- Article
- Information
- Copyright
- Copyright © Cambridge University Press 2006
References
- 41
- Cited by
Discussions
No Debates have been published for this article.