







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?
Motivating Adult Learners by Introducing Programming Concepts with Scratch
Novice programmers usually fail to combine abstract concepts and knowledge into program design, even though they know the syntax and semantics of individual statement. Adult novice programmers with little computer background knowledge might face more ...

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.

Small Programming Tricks
A lot of effective engineering comes from the accumulation of small nuggets of knowledge.
Programming principles for self taught front-end developers
The majority of us are a bunch of self taught people with rather spotty knowledge and that's fine! Kilian (also self taught) is here to share some of the computer science fundamentals you probably are missing with the aim to improve your code in the long term.
Tangible Functional Programming

We should rethink how we teach people to code | deadSimpleTech
It's fair to say that the tech industry at the moment is not in a good place. Software engineers tend to be detached, demotivated and unwilling to care much about the work they're doing beyond their paycheck. Code quality is poor on the whole, made worse by the current spate of vibe coding and whatever other febrile ideas come out of Sam Altman's brain. Much of the software that we write is either useless or actively hurts people. And the talented, creative people that we most need in the industry are pushed to the margins of it.

Practical Foundations for Programming Languages
Scratch is a big deal
While none of us were paying attention, Scratch has transformed from a programming language for kids to a massive online community of self-guided, student-pr...

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