[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3486607.3486770acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Programming as architecture, design, and urban planning

Published: 17 October 2021 Publication History

Abstract

Our thinking about software is shaped by basic assumptions and metaphors that we rarely question. Computer science has the term science in its very name; we think of programming languages as formal mathematical objects and we hope to make better software by treating it as an engineering discipline. Those perspectives enabled a wide range of useful developments, but I believe they have outlived their usefulness. We need new ways of thinking about software that are able to cope with ill-defined problems and the increasing complexity of software. In this essay, I draw a parallel between the world of software and the world of architecture, design and urban planning. I hope to convince the reader that this is a well-justified parallel and I point to a number of discussions in architecture, design and urban planning from which the software world could learn. What kind of software may we be able to build if we think of programming as a design problem and aim to create navigable and habitable software for all its users?

Supplementary Material

Auxiliary Presentation Video (onward21essays-id3-p-video.mp4)
In this talk, I draw a parallel between the world of software and the world of architecture, design and urban planning. I hope to convince the viewer that this is a well-justified parallel and I point to a number of discussions in architecture, design and urban planning from which the software world could learn.

References

[1]
Alexander, C. ( 1964 ). Notes on the Synthesis of Form (Vol. 5 ). Harvard University Press.
[2]
Amin, N., Tate, R. ( 2016 ). Java and Scala's type systems are unsound: ehT existential crisis of null pointers. Proceedings of OOPSLA, ACM.
[3]
Baker, A. T. ( 2010 ). eThoretical and Empirical Studies of Sowftare Development's Role as a Design Discipline. University of California.
[4]
Basiri, A., Behnam, N., De Rooij, R., Hochstein, L., Kosewski, L., Reynolds, J., Rosenthal, C. ( 2016 ). Chaos engineering. IEEE Sowft., 33 ( 3 ).
[5]
Beck, K. ( 1987 ). Using patern languages for object-oriented programs. Technical report CR-87-43. Online: http://c2.com/doc/oopsla87.html.
[6]
4 Available at http://tomasp.net/blog/2020/cities-and-programming/
[7]
Beck, K., Beedle, M., van Bennekum, A., Cockburn, A.,… Sutherland, J. ( 2001 ). Agile Manifesto. Available at: https://agilemanifesto.org/ Mehmood, A. ( 2010 ). On the history and potentials of evolutionary metaphors in urban planning. Planning Theory, 9 ( 1 ), 63-87.
[8]
Brand, S. ( 1995 ). How Buildings Learn: What Happens Aeftr eThy're Built. Viking Press
[9]
Brooks Jr, F. P. ( 1995 ). eTh mythical man engineering. Pearson Education.
[10]
Bødker, S., Korsgaard, H., & Saad-Sulonen, J. ( 2016 ). A Farmer, a Place and at least 20 Members' eTh Development of Artifact Ecologies in Volunteer-based Communities. In CSCW ' 16 (pp. 1142-1156 ).
[11]
Christian, E. F. ( 2003 ). Stewart Brand showed “How Buildings Learn”, So Why Can't Sowftare ? Availab le at: http://www.manasclerk.com/ blog/2003/07/23/brands-how-buildings-learn-and-why-cant-sowftare
[12]
Clark, C., Basman, A. ( 2017 ). Tracing a paradigm for externalization: Avatars and the GPII Nexus. In Companion to the International Conference on the Art, Science and Engineering of Programming (pp. 1-5 ).
[13]
Cross, N. ( 2007 ). Designerly ways of knowing. Birkhäuser.
[14]
De Moura, L., & Bjørner, N. ( 2008, March). Z3: An ecfiient SMT solver. In International conference on Tools and Algorithms for the Construction and Analysis of Systems (pp. 337-340 ). Springer, Berlin.
[15]
Evans, E., & Evans, E. J. ( 2004 ). Domain-driven design: tackling complexity in the heart of sowftare. Addison-Wesley Professional.
[16]
Ensmenger, N. L. ( 2012 ). Th e computer boys take over: Computers, programmers, and the politics of technical expertise. Mit Press.
[17]
Floyd, C. ( 1987 ). Outline of a paradigm change in sowftare engi-neering. In Computers and Democracy: A Scandanavian Challenge, Brookefild, VT : Gower Publishing Company, pp. 191-210.
[18]
Gabriel, R. P. ( 1996 ). Paterns of sowftare. Oxford University Press.
[19]
Gamma, E., Helm, R., Johnson, R., Vlissides, J. ( 1995 ). Design Paterns: Elements of Reusable Object-Oriented Sowftare. Addison-Wesley
[20]
Ghica, D. ( 2016 ). What else are we geting wrong ? Available at: http://danghica.blogspot.com/ 2016 /09/what-else-are-we-geting-wrong.html
[21]
Hermans, F., Aldewereld, M. ( 2017 ). Programming is writing is programming. In Companion to the rfi st International Conference on the Art, Science and Engineering of Programming (pp. 1-8 ).
[22]
Hopper, M. ( 1955 ). Automatic coding for digital computers. Remington Rand Incorporated. Online at: http://www.bitsavers.org/pdf/ univac/HopperAutoCodingPaper_1955.pdf
[23]
Jackson, D. ( 2015 ). Towards a theory of conceptual design for sowftare. In 2015 International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Sowftare (Onward!) (pp. 282-296 ).
[24]
Jacobs, J. ( 1961 ). eTh Death House and Life of Great American Cities. Random
[25]
Kaijanaho, A. J. ( 2017 ). Concept analysis in programming language research: done well it is all right. In Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Sowftare (pp. 246-259 ).
[26]
Kuhn, T. S. ( 1962 ), eTh Structure of Scienticfi Revolutions of Chicago Press.
[27]
Lakof, G., Johnson, M. ( 2008 ). Metaphors we live by. University of Chicago Press.
[28]
Lynch, K. ( 1960 ). eTh image of the city (Vol. 11 ). MIT press.
[29]
Mandel, L. ( 1967 ). The Computer Girls. Cosmopolitan. April 1967.
[30]
Meyerovich, L. A., Rabkin, A. S. ( 2012 ). Socio-PLT: Principles for programming language adoption. In Proceedings of the ACM symposium on New ideas, new paradigms, and reflections on programming and software (pp. 39-54 ).
[31]
Montfort, N., Baudoin, P., Bell, J., Douglass, J., Bogost, I. ( 2014 ). 10 PRINT CHR $(205. 5+RND(1));: GOTO 10. MIT Press.
[32]
Naur, P., Randell, B. ( 1969 ). Sowftare engineering: Report of a conference sponsored by the nato science commitee, Garmisch, 7th-11th October 1968.
[33]
Naur, P. ( 1992 ). eTh place of strictly denfied notation in human insight. In Computing: A Human Activity, ACM Press
[34]
Nofre, D., Priestley, M., Alberts, G. ( 2014 ). When technology became language: eTh origins of the linguistic conception of computer programming, 1950-1960. Technology and culture, 40-75.
[35]
Northrop, L., Feiler, P., Gabriel, R. P., Goodenough, J., Linger, R., Longstaf, T., … Wallnau, K. ( 2006 ). Ultra-large-scale systems: eTh sowftare challenge of the future. CMU, Sowftare Engineering Institute.
[36]
Papapetrou, P. ( 2015 ). Sowftare Gardenin g: Yet Another Crappy Analogy or a Reality? Available online at : https://www.methodsandtools.com/archive/sowftaregardening.php
[37]
Parnas, D. L. ( 1985 ). Sowftare aspects of strategic defense systems. Communications of the ACM, 28 ( 12 ), 1326-1335.
[38]
Petre, M., Van Der Hoek, A. (Eds.). ( 2019 ). Sowftare Designers in Action: A Human-Centric Look at Design Work. Chapman and Hall/CRC.
[39]
Petricek, T., Guerra, G., & Syme, D. ( 2016 ). Types from data: making structured data rfist-class citizens in F#. In PLDI 2016, ACM.
[40]
Priestley, M. ( 2011 ). A science of operations: machines, logic and the invention of programming. Springer Science & Business Media.
[41]
Rietl, H. W., Webber, M. M. ( 1973 ). Dilemmas in a general theory of planning. Policy sciences, 4 ( 2 ), 155-169.
[42]
Rudofsky, B. ( 1987 ). Architecture without architects: a short introduction to non-pedigreed architecture. UNM Press.
[43]
Scot, J. C. ( 1999 ). Seeing Like a State: How Certain Schemes to Improve the Human Condition Have Failed. Yale University Press.
[44]
Simon, H. A. ( 1969 ). eTh sciences of the articfiial. MIT Press.
[45]
Slayton, R. ( 2013 ). Arguments that Count: Physics, Computing, and Missile Defense, 1949-2012. MIT Press.
[46]
Steimann, F. ( 2018 ). Fatal abstraction. In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Sowftare (pp. 125-130 ).
[47]
Varhol, P. ( 2019 ). To agility and beyond: eTh history-and legacy-of agile development. Available at: https://techbeacon.com/app-devtesting/agility-beyond-history-legacy-agile-development
[48]
Vincenti, W. G. ( 1990 ). What Engineers Know and How Th ey Know It: Analytical Studies from Aeronautical History. John Hopkins University Press
[49]
Weaver, W. ( 1958 ). A Quarter Century in the Natural Sciences. In eTh Rockefeller Foundation Annual Report, 1958. Available online at: https://rockefellerfoundation.org/wp-content/uploads/AnnualReport-1958-1.pdf

Index Terms

  1. Programming as architecture, design, and urban planning

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    Onward! 2021: Proceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
    October 2021
    148 pages
    ISBN:9781450391108
    DOI:10.1145/3486607
    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: 17 October 2021

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Architecture
    2. Design
    3. Software design
    4. Urban Planning

    Qualifiers

    • Research-article

    Conference

    SPLASH '21
    Sponsor:
    SPLASH '21: Software for Humanity
    October 20 - 22, 2021
    IL, Chicago, USA

    Acceptance Rates

    Overall Acceptance Rate 40 of 105 submissions, 38%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 151
      Total Downloads
    • Downloads (Last 12 months)27
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 16 Jan 2025

    Other Metrics

    Citations

    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