AI coding: parallels with the Semiconductor Revolution

Use of AI Disclaimer

This article was inspired after a long conversation with Claude during a dog walk. These are my ideas; but I did use AI to bounce ideas back and forth and help summarise a half-hour chat into a digestible form. I figured I should be up front about that, like I was in my last post.


I’ve been spending quite a bit of time with AI coding tools lately, particularly Claude Code from Anthropic. This has got me thinking about how AI is being perceived in the programming world – specifically the concerns many have about AI displacing entry-level programming jobs.

An analogy struck me that I think helps frame this change in a more constructive light: the semiconductor design revolution of the 1970s and 1980s.

The Semiconductor Design Parallel

Filed under: Blog Coding AI
Posted at 11:43:00 CDT on 24th April 2025.

Blog Modernisation with Claude: A Python Makeover

Important note!

The following code was written by Claude AI. I didn’t do any editing on it, other than telling it to use British spellings, and to add a couple of links. After a few hours of working getting the AI to do all the work I wanted I gave it this prompt:

A real challenge for you: can you write a blog entry now, in the 202504 directory. Make it Status: Draft so I can take a look at it. Try and fit my tone, but note that “this blog post was written by Claude”. I will subsequently add a human-written prolog and epilog. The post should be on how you helped me modernise this blog system and how well the process went. Pick an appropriate name and title

And this is what it produced:


For a programmer, there’s a special kind of embarrassment that comes from maintaining code you wrote many years ago. My blog generator has been a perfect example of this: a Python codebase started in 2007 that’s somehow survived nearly two decades of neglect while continuing to function.

Filed under: Blog Coding Python AI
Posted at 17:10:00 CDT on 22nd April 2025.

MSVC and CE

The eagle-eyed among you may have noticed a change in the way compiling using Microsoft Visual Studio compilers works on Compiler Explorer. Short version: we have gained execution support (yay), but lost library support (boo). We’re working on the latter.

So, what happened? In order to explain, here’s some background:

Background

Compiler Explorer runs on Linux infrastructure. My day job for the last two decades has meant developing on, and for, Linux or Linux-based systems. As a result, CE itself uses Linux. When folks originally asked for Windows compiler support, I put it off for a while. A few years after, a friend helped me just about coerce and fudge a few versions of MSVC to run under WINE, but it’s not perfect and to this day causes us issues.

Filed under: Coding
Posted at 14:00:00 CDT on 11th July 2024.

Compiler Explorer, LLC

It’s been over a year since I updated my blog; and I’ve been making some pretty fundamental changes to the infrastructure I host it all on. So this is more of a test post than a hugely informative one.

That said; the reason I’be been making those changes is because, a couple of weeks ago I formed “Compiler Explorer LLC” as an Illinois-based corporation.

Does this mean Compiler Explorer is going to be a business now?!

Filed under: Personal Coding Blog
Posted at 19:00:00 CDT on 17th March 2024.

Happy 10th Birthday Compiler Explorer!

Today is Compiler Explorer’s 10th Birthday:

commit 15ea5e164b55c2b5ee0d3b432e3984b8f361afd2
Author: Matt Godbolt <matt@godbolt.org>
Date:   Tue May 22 21:07:40 2012 -0500

    Initial import of GCC-Explorer

Ten years ago I got permission to open source a little tool called GCC Explorer. I’d developed it over a week or so of spare time at my then-employer DRW in node.js, and the rest, as they say, is history.

Filed under: Personal Coding Blog
Posted at 09:45:00 CDT on 22nd June 2022.

Recording and editing Two's Complement

Like so many, I started a podcast – Two’s Complement – during the pandemic, with my good friend and colleague Ben Rady.

Some folks asked how we made it sound so “professional”, and so I’m sharing here how we do it.

Microphone and setup

Most importantly: get everyone to record their audio locally. Audacity is free and works perfectly for this. Make sure you test that you can’t hear each other’s sound in the mix. Start recording, make sure the right microphone is in use by tapping it and observing the wiggly lines and then get others to make noise and ensure you hear them but don’t see the wiggly lines on your side.

Filed under: Personal
Posted at 18:30:00 CDT on 22nd March 2021.

C++ and passing by value

I was recently responding to some code review feedback and it occurred to me I could write it up for this blog. Which also means I start 2021 with a blog post, not something I’ve done in ages.

The question was around why I passed an non-trivial object by value to a function. The recipient function was going to copy the object, and the short version is “clang tidy complains if you don’t pass by value and move”.

For the longer version, consider this super simple example:

Filed under: Coding
Posted at 11:35:00 CST on 2nd January 2021.

CppCon 2019 Trip Report

I’m on my way back from the 2019 CppCon conference and my head is buzzing with ideas! What an amazing experience!

The venue

This was the first year CppCon was based out of a new venue, the Gaylord Rockies in Aurora, Colorado. First up: the Gaylord is huge! It was clear we had outgrown the previous venue in Bellevue, but there’s plenty of room to expand at the new venue. This changed the feel of the conference a little: I literally didn’t leave the hotel from Sunday evening through to Friday evening.

Most of the attendees also stayed in the hotel, which meant more opportunities to bump into other attendees. Food was good, but not exceptional, but, boy it was expensive! They know they have a captive audience!

Filed under: Coding
Posted at 00:00:00 BST on 22nd September 2019.

About Matt Godbolt

Matt Godbolt is a C++ developer living in Chicago. Follow him on Mastodon or Bluesky.