What can software learn from Christopher Alexander? Many programmers know that theidea of design patterns comes from architecture, but Christopher Alexander's writing has much morefor us than just the Gang of Four design patterns. This post is a somewhat assorted collectionof id … | Continue reading
Is it really possible to eliminate programming load? What would realprogress on making programming easier for all mean? In this article, I take a critical lookat no-code programming platforms using the technical dimensions framework and the ideaof a | Continue reading
What can we learn from an annoying pop-up ad that cannot be closed? In this post,I continue theme that I started in my interactive Commodore 64 BASIC essay, which is to lookat past programming systems and see what interesting past ideas have been lost. I look at thegrowing opaci … | Continue reading
Like software construction, architecture and urban planning often deal withcomplex systems that evolve over a long period of time. Some of the successful systems arealso quite messy despite theories telling us that such systems should not work. These are justa few of the reasons … | Continue reading
How very different the world of software is in an alternative universe which hassoftware designers rather than software engineers? In this interview, we look at a rangeof topics from software design sketching to software designer education, as well as the wayin which software de … | Continue reading
Making a concept synonymous with the operations for working with it isan idea introduced by P. W. Bridgman to think about measurements in physics. A lengthmeasured by a ruler is a different concept than a length measured by the time it takeslight to travel. However, what if we t … | Continue reading
How we interact with programming environment matters more than the language, but such interaction has never been widely studied. Inspired by the idea of 'complementary science', this essay recovers interesting ideas from how programming used to be done using Commodore 64 BASIC. R … | Continue reading
Use Fable, Elmish architecture, parser combinators and the magic of functional-first programming with F# to build a simple browser-based spreadsheet application! I have been teachingF# for 7 years now and while the libraries and examples change, the core ideas remain the same.In … | Continue reading
Rather than answering the question in the title of the essay, I will look at amuch more interesting question: what art the kinds of arguments that are employed to support aparticular choice? Following this perspective lets us learn what educators consider importantin computer sc … | Continue reading
To invent new programming tools, we need to shift our focus from programs to programming. Programs are created through a variety of interactions, but programming research often forgets about those. In this interactive essay, we represent programs as lists of interactions and we … | Continue reading
Use Fable, Elmish architecture, parser combinators and the magic of functional-first programming with F# to build a simple browser-based spreadsheet application! I have been teachingF# for 7 years now and while the libraries and examples change, the core ideas remain the same.In … | Continue reading
This paper documents the socio-technological context that shapes programming languages.To structure our discussion, we introduce the idea of a culture of programming which embodiesa particular perspective on programming. We identify four major cultures: hacker culture,engineerin … | Continue reading
This article describes type-first development (TFD). A software development methodology that is quite common among functional programmers and uses types as a simple way of communicating ideas about program design. | Continue reading
In programming research, we say a lot about programs and languages, but very littleabout the actual process of programming. One simple trick that will make programming languageresearch significantly more interesting is to think about programs not as expressions, but asa result o … | Continue reading
Our thinking is shaped by basic assumptions that we rarely question. As described by philosophers of science, research paradigms determine how scientistsapproach problems and what questions are accepted as valid scientific theories.In this article, I try to discover some of the … | Continue reading
The question whether aliens would understand lambda calculusis intriguing because it vividly formulates a fundamental question about our formal mathematicalknowledge. Are mathematical theories and results about them invented, i.e. constructed byhumans, or discovered, i.e. are th … | Continue reading