







What's wrong with linear, static programming mediums and how might we improve them?
Learnable Programming
Here's a trick question: How do we get people to understand programming?
Drinking from the Firehose: Learning Computer Graphics Techniques and Programming
Graphics researchers waiting in the water fountain line at SIGGRAPH Yellowstone. Computer graphics as a field is broad, deep, complex, and intimidating. More than half a century of rapid progress driven by academic research and industry practices underly it. Parts delve pretty far into physics, math, signal processing, systems programming (and more). And performance is always at a premium—so simple, straightforward techniques are often not possible, and high-level programming abstractions not usable.

Teach Yourself Programming in Ten Years
The conclusion is that either people are in a big rush to learn about programming, or that programming is somehow fabulously easier to learn than anything else. Felleisen et al. give a nod to this trend in their book How to Design Programs, when they say "Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies." The Abtruse Goose comic also had their take.
How To Think Like A Programmer
Addressing Accessibility Barriers in Programming for People with Visual Impairments: A Literature Review
Accessibility issues with programming languages and programming environments pose a major barrier for students with visual impairments to participate in computing related courses as well as threatens the productivity of professional programmers with visual impairments. To remedy this, the past two decades have witnessed an increase in accessibility research designed to investigate and address the challenges faced by people with visual impairments while programming or learning how to program. We conducted a literature review of accessibility research in this domain. The aim was to identify, aggregate, and highlight known accessibility barriers to programming faced by professional programmers and students with visual impairments learning how to code as well as to identify all solutions that have been proposed to address these barriers. We selected and analyzed 70 papers reporting on accessibility of programming and programming environments for people with visual impairments. Numerous barriers to programming by people with visual impairments have been identified in the literature. Some of these barriers are understudied and present opportunities for future work. A lot of studies have also proposed tools and new accessible programming languages to address the accessibility issues of current programming languages and programming environments.

Something Pretty Right: A History of Visual Basic | Retool
How Visual Basic became the world’s most dominant programming environment, its sudden fall from grace, and why its influence is still shaping the future of software development.

Tangible Functional Programming

Practical Foundations for Programming Languages
Its Time for a New Programming Language
Today, when compared to any other point in programming history, we find ourselves spoiled for choice when it comes to programming…

X : Do you think AI / vibe coding is not worthwhile? Me : Are you kidding? I was talking about conversational programming (what you call vibe coding) back in 2018. Of course, I think it's important.… | Simon Wardley | 44 comments
X : Do you think AI / vibe coding is not worthwhile? Me : Are you kidding? I was talking about conversational programming (what you call vibe coding) back in 2018. Of course, I think it's important. I think the approach we're using currently is flawed. X : Why? Me : Well, I could go on about the basics such as the medium is wrong (needs to be more image / whiteboard based rather than text) or how we're getting wrapped up in deterministic outputs (text based code) rather than realising the end outputs will eventually be non-deterministic models or we're still learning practices in this space especially with agents and how we rushing ahead into failure creating trust issues. There's a lot of messy stuff happening. But my real interest is with turning software engineering into an engineering discipline. X : Isn't it? Me : If I look at a map of decision making then testing (specifically TDD) is an engineering topic (see figure 1) but the development part is firmly a craft (see figure 2). If we want to make development an engineering subject then we need to learn from testing i.e. we should be building context specific tools (think a test suite) from lots of micro tools (think tests). See figure 3. X : And AI can help? Me : Oh, yes. In two parts - the construction of micro tools which helps us improve our ttA (time to answer) and in the construction of new hypothesis which helps us improve our ttQ (time to question). See figure 4. X : And is that happening? Me : Very slowly. Remember you have a multi billion dollar tool industry that doesn't want you creating tools and hence they're trying to flog you old tools with a skim of AI. X : But we need people selling pickaxes. Me : Sure. But they've been telling us that their pickaxes work everywhere ... making soup, you need a pickaxe with added AI. X : But coding is coding. Me : An electronic healthcare system is not the same as an online gambling site. The contexts are completely different. It's why the test suites are different and a test is nothing more than a micro tool. Why don't we compose our tool for that context out of micro tools ... just like testing? X : Because it's hard? Me: Pickaxe salespeople must love you. That's their marketing literature. Reminds me of the early days of Test Driven Development (TDD) where most people thought it was mad to build a test suite out of thousands of small tests. | 44 comments on LinkedIn
Substrates conference series - Substrates 2026
An increasing number of researchers see their work as interactive authoring tools or software substrates for interactive computational media. By talking about “authoring tools”, we remove the divide between programmers and users; “software substrates” let us look beyond conventional programming languages and systems; and “interactive computational media” promises a more malleable and adaptable notion of tools for thought we are striving for. This workshop aims to bring together a wide range of perspectives on these matters.
Accessibility of low-code approaches: A systematic literature review
Context: Model-driven approaches are increasingly used in different domains, such as education, finance and app development, in order to involve non-developers in the software development process. Such tools are hugely dependent on visual elements and thus might not be accessible for users with specific challenges, e.g., visual impairments. Objectives: To locate and analyse existing literature on the accessibility of low-code approaches, their strengths and weaknesses and key directions for future research. Methods: We carried out a systematic literature review and searched through five leading databases for primary studies. We used both quantitative and qualitative methods for data synthesis. Results: After reviewing and filtering 918 located studies, and conducting both backward and forward snowballing, we identified 38 primary studies that were included in our analysis. We found most papers focusing on accessibility of visual languages and block-based programming. Conclusion: Limited work has been done on improving low code programming environment accessibility. The findings of this systematic literature review will assist researchers and developers in understanding the accessibility issues in low-code approaches and what has been done so far to develop accessible approaches.
Elements of Programming
After ten years in print, our publisher decided against further printings and reverted the rights to us. Elements of Programming is now available in two forms: a free PDF and a no-markup paperback.
Reflections on a decade of coding
I've been programming professionally for about 12 years. Here are some of the things I worked on in the last 2 years.
Old and new apps, via modern coding agents
I have been interested in machine-assisted ways to do and teach mathematics from as far back as 1999, when I started coding several applets in Java 1.0, both for my complex analysis and linear alge…
