Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3359591.3359738acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Learning to listen for design

Published: 23 October 2019 Publication History

Abstract

In his essay, Designed as Designer, Richard Gabriel suggests that artifacts are agents of their own design. Building on Gabriel’s position, this essay makes three observations (1) Code “speaks” to the programmer through code smells, and it talks about the shape it wants to take by signalling design principle violations. By “listening” to code, even a novice programmer can let the code itself signal its own emergent natural structure. (2) Seasoned programmers listen for code smells, but they hear in the language of design principles (3) Design patterns are emergent structures that naturally arise from designers listening to what the code is signaling and then responding to these signals through refactoring transformations. Rather than seeing design patterns as an educational destination, we see them as a vehicle for teaching the skill of listening. By showing novices the stories of listening to code and unfolding design patterns (starting from code smells, through refactorings, to arrive at principled structure), we can open up the possibility of listening for emergent design.

References

[1]
Christopher Alexander. 2002. The Nature of Order, Volume 2. Routledge.
[2]
Kent Beck and Cynthia Andres. 2004. Extreme Programming Explained: Embrace Change (2nd Edition) . Addison-Wesley Professional.
[3]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2001. How to Design Programs: An Introduction to Programming and Computing . MIT Press.
[4]
Martin Fowler. 1999. "Refactoring - Improving the Design of Existing Code" . Addison-Wesley. http://martinfowler.com/books/refactoring. html
[5]
Richard P. Gabriel. 2008. Designed as designer. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, (OOPSLA) . 617–632.
[6]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-oriented Software . AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA.
[7]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspectoriented programming. In ECOOP’97 — Object-Oriented Programming, Mehmet Akşit and Satoshi Matsuoka (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 220–242.
[8]
Robert C Martin. 2000. Design principles and design patterns. Object Mentor 1, 34 (2000), 597.
[9]
Harold Ossher and Peri Tarr. 2001. Using Multidimensional Separation of Concerns to (Re)Shape Evolving Software. Commun. ACM 44, 10 (Oct. 2001), 43–50.

Cited By

View all
  • (2021)Angelic and demonic visitation: school memoriesProceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3486607.3486773(145-148)Online publication date: 20-Oct-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Onward! 2019: Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
October 2019
197 pages
ISBN:9781450369954
DOI:10.1145/3359591
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 the author(s) 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: 23 October 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Design
  2. Education
  3. Patterns

Qualifiers

  • Research-article

Conference

SPLASH '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 27 of 62 submissions, 44%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Angelic and demonic visitation: school memoriesProceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3486607.3486773(145-148)Online publication date: 20-Oct-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media