Special Feature: Epigrams on programming

  title={Special Feature: Epigrams on programming},
  author={Alan J. Perlis},
  journal={ACM SIGPLAN Notices},
  • A. Perlis
  • Published 1 September 1982
  • Art
  • ACM SIGPLAN Notices
The phenomena surrounding computers are diverse and yield a surprisingly rich base for launching metaphors at individual and group activities. Conversely, classical human endeavors provide an inexhaustible source of metaphor for those of us who are in labor within computation. Such relationships between society and device are not new, but the incredible growth of the computer's influence (both real and implied) lends this symbiotic dependency a vitality like a gangly youth growing out of his… 
No Grammar to Rule Them All: A Survey of JSON-style DSLs for Visualization
This work surveys and analyzes the design and implementation of 57 JSON-style DSLs for visualization and identifies tensions throughout these areas, such as between formal and colloquial specifications, among types of users, and within the composition of languages.
A Survey of the Proof-Theoretic Foundations of Logic Programming
  • Dale Miller
  • Computer Science
    Theory and Practice of Logic Programming
  • 2021
This article will survey the use of structural proof theory as an alternative foundation for logic programming, and finds that recent results provide a high-level means for presenting the differences between forward- chaining and backward-chaining style inferences.
Small-step pipelines reduce the complexity of XSLT/XPath programs
Preliminary quantitative results show that writing data-curation and data-analysis XSLT/XPath programs as small-step pipelines leads to a significant reduction of the peak McCabe cyclo-matic complexity.
Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code’s Purpose
It is shown that learning with purpose-first programming is motivating for conversational programmers because it engenders a feeling of success and aligns with these learners’ goals.
"I'm Not a Computer": How Identity Informs Value and Expectancy During a Programming Activity
It is found that some struggling novice programmers described code tracing as not only cognitively complex, but also in opposition to their self-beliefs, and mapped these learners’ self-narratives onto the Eccles Expectancy-Value Model of Achievement Choice to understand how identity relates to the choice to not trace code.
Purpose-first Programming: A Programming Learning Approach for Learners who Care Most About What Code Achieves
This work proposes the creation of scaffolding that allows end-user programmers and conversational programmers to interact with code in an authentic way, highlighting code's purpose while providing support that avoids the need for low-level tracing knowledge.
Understanding Biological Evolution Through Computational Thinking
This work presents a learning progression, which outlines biological evolution learning coupled with computational thinking, and recommends integrating computational thinking into evolution teaching to overcome misconceptions, reinforce the nature of science, and allow student embodiment.
A history of Clojure
  • R. Hickey
  • Computer Science
    Proc. ACM Program. Lang.
  • 2020
The motivation behind the initial development of Clojure and the rationale for various design decisions and language constructs are recounted, and its evolution subsequent to release and adoption is covered.
The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry
This work performs the first comprehensive design analysis of dozens of notebook systems and formulation of a design space that succinctly captures variations in system features is formulated.
  • Valuing and Investing in Equities
  • 2020


Programming is an unnatural act
  • Programming is an unnatural act
The last epigram? Neither eat nor drink them, snuff epigrams
  • The last epigram? Neither eat nor drink them, snuff epigrams