Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/325694.325731acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

A debate on language and tool support for design patterns

Published: 05 January 2000 Publication History

Abstract

Design patterns have earned a place in the developer's arsenal of tools and techniques for software development. They have proved so useful, in fact, that some have called for their promotion to programming language features. In turn this has rekindled the age-old debate over the mechanism that belong in programming languages versus those that are better served by tools. The debate comes full circle when one contemplates code generation and methodological tool support for patterns. The authors compare and contrast programming languages, tools, and patterns to assess their relative merits and to clarify their roles in the development process.

References

[1]
Alexandrescu, A. Creating Generic Components Using Standard C++. Addison-Wesley, Reading, MA. To appear.]]
[2]
Baumgartner, G., et al. On the Interaction of Object-Oriented Design Patterns and Programming Languages. Technical report CSD-TR-96-020, Dept. of Computer Sciences, Purdue University, February 1996.]]
[3]
Bosch, J. Design Patterns and Frameworks: On the Issue of Language Support. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]]
[4]
Bosch, j. Design Patterns as Language Constructs. To appear, Journal of Object-Oriented Programming. Available at http ://www.i de.hk-r, se/--b o sch/articl e s. html.]]
[5]
Budinsky, F., et al. Automatic Code Generation from Design Patterns. IBM Systems Journal, Vol. 35, No. 2 (1996), pp. 151-171.]]
[6]
Chambers, C. Object-Oriented Multi-Methods in Cecil. European Conference on Object-Oriented Programming (ECOOP '92), June/July 1992.]]
[7]
Chambers, C. Predicate Classes. European Conference on Object-Oriented Programming (ECOOP '93), July 1993.]]
[8]
Chambers, C. The Cecil Language: Specification and Rationale, Version 2.1. Technical report #93--03-05 (revised), Department of Computer Science and Engineering, University of Washington, March 1997. Available at http://www ~cs.washin~on.edu/research/projects/cecil/www/Papers/cecil -spec.htmt.]]
[9]
Coplien, J., et al., eds. Pattern Languages of Program Design. Addison-Wesley, Reading, MA, 1995.]]
[10]
Chiba, S. A Metaobject Protocol for C++. A CM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA "95), October 1995. Available at http://www.hlla, i s. tsukuba, ac. ilg/'-chiba/op enc++.html.]]
[11]
Ducasse, S. Message Passing Abstractions as Elementary Bricks for Design Pattern Implementation. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]]
[12]
Ernst, M.D., et al. Predicate Dispatching: A Unified Theory of Dispatch. European Conference on Object-Oriented Programming (ECOOP '98), July 1998.]]
[13]
Gamma, E., et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.]]
[14]
Gil, j., et al. Design Patterns vs. Language Design. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]]
[15]
Harrison, N., et al., eds. Pattern Languages of Program Design 4. Addison-Wesley, Reading, MA, 2000.]]
[16]
Harrison, W., et al. Attaching Instance Variables to Method Realizations Instead of Classes. International Conference on Computer Languages, April 1992.]]
[17]
Harrison, W., et al. Subject-Oriented Programming~A Critique of Pure Objects. ACM Conference on Object- Oriented Programming Systems, Languages, and Applications (OOPSLA "93), September 1993.]]
[18]
Martin, R., et al., eds. Pattern Languages of Program Design 3. Addison-Wesley, Reading, MA, 1998.]]
[19]
Millstein, T., et al. Modular Statically Typed Multi methods . European Conference on Object-Oriented Programming (ECOOP '99), June 1999.]]
[20]
Norvig, P. Design Patterns in Dynamic Programming. Presentation at Object WorId, 1996. Available at http://www .norvig.com/design-patterns/.]]
[21]
Schmidt, D., et al. Double-Checked Locking. In Pattern Languages of Program Design 3, Addison-Wesley, Reading, MA, 1998.]]
[22]
Seiter, L.M. Evolution of Object Behavior using Context Relations. 1EEE Transactions on Software Engineering, January 1998. An earlier version with the same name appeared in the A CM Symposium on the Foundations of Software Engineering (FSE '96), October 1996.]]
[23]
Shalit, A. The Dylan Reference Manual. Addison-Wesley, Reading, MA, 1996.]]
[24]
Simonyi, C. The Future is Intentional. IEEE Computer, May 1999. More information available at h~_://www.research. microsoft.corn/ip/.]]
[25]
Ungar, D., et al. Self: The Power of Simplicity. ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '87), October 1987.]]
[26]
Vlissides, J. Pattern Hatching: Design Patterns Applied. Addison-Wesley, Reading, MA, 1998.]]
[27]
Vlissides, J. Visitor in Frameworks. C++ Report, Vol. 10, No. 10 (1999), pp. 40--46.]]

Cited By

View all
  • (2016)Java Extensions for Design Pattern InstantiationProceedings of the 15th International Conference on Software Reuse: Bridging with Social-Awareness - Volume 967910.1007/978-3-319-35122-3_19(284-299)Online publication date: 5-Jun-2016
  • (2015)HCI Pattern Capture and Dissemination: Practices, Lifecycle, and ToolsPatterns of HCI Design and HCI Design of Patterns10.1007/978-3-319-15687-3_10(219-242)Online publication date: 29-May-2015
  • (2014)Using dynamic mixins to implement design patternsProceedings of the 19th European Conference on Pattern Languages of Programs10.1145/2721956.2721991(1-19)Online publication date: 9-Jul-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '00: Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2000
402 pages
ISBN:1581131259
DOI:10.1145/325694
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 January 2000

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design patterns
  2. programming lnguages
  3. software development
  4. tools

Qualifiers

  • Article

Conference

POPL00

Acceptance Rates

POPL '00 Paper Acceptance Rate 30 of 151 submissions, 20%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)5
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Java Extensions for Design Pattern InstantiationProceedings of the 15th International Conference on Software Reuse: Bridging with Social-Awareness - Volume 967910.1007/978-3-319-35122-3_19(284-299)Online publication date: 5-Jun-2016
  • (2015)HCI Pattern Capture and Dissemination: Practices, Lifecycle, and ToolsPatterns of HCI Design and HCI Design of Patterns10.1007/978-3-319-15687-3_10(219-242)Online publication date: 29-May-2015
  • (2014)Using dynamic mixins to implement design patternsProceedings of the 19th European Conference on Pattern Languages of Programs10.1145/2721956.2721991(1-19)Online publication date: 9-Jul-2014
  • (2014)Reactive Imperative Programming with Dataflow ConstraintsACM Transactions on Programming Languages and Systems10.1145/262320037:1(1-53)Online publication date: 17-Nov-2014
  • (2011)Assessing 3D Virtual World Learning Environments with the CIMPLe SystemInstructional Design10.4018/978-1-60960-503-2.ch719(1817-1839)Online publication date: 2011
  • (2011)Using Design Patterns to Support E-Learning DesignInstructional Design10.4018/978-1-60960-503-2.ch111(114-134)Online publication date: 2011
  • (2011)Reactive imperative programming with dataflow constraintsACM SIGPLAN Notices10.1145/2076021.204810046:10(407-426)Online publication date: 22-Oct-2011
  • (2011)Reactive imperative programming with dataflow constraintsProceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications10.1145/2048066.2048100(407-426)Online publication date: 22-Oct-2011
  • (2011)Modularity for the changing meaning of changingProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960313(301-312)Online publication date: 21-Mar-2011
  • (2010)Pattern Languages in HCI: A Critical ReviewHuman–Computer Interaction10.1207/s15327051hci2101_321:1(49-102)Online publication date: 8-Jun-2010
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media