Conversation

David Chisnall (*Now with 50% more sarcasm!*)

Dear journalists writing about AI being the end of programming as a profession:

Programming has a long history of embracing tools that make things more productive. The manual for the STANTEC ZEBRA explains that a limitation of 150 instructions is not a practical problem because no one could possibly write a working program that complex. Today, we routinely write programs several three orders of magnitude more complex than that in an afternoon. Higher-level languages have increased programmer productivity by literal orders of magnitude. Things like integrated debugging environments, reliable autocompletion, higher-level type systems, and so on have all been embraced because they let you solve the problems faster.

Note that they don’t all let you write more code quickly. Most of the improvements in productivity have had the opposite impact. They don’t let you write code faster, they let you write less code to do the same things. This started with libraries of reusable code and simple abstractions like functions and has grown over time. I can write a simple dynamic web page in a couple of lines of PHP, where doing the same thing in the assembly languages that the ZEBRA folks were talking about would require me to write thousands of lines. The PHP version would be more portable and also vastly easier to adapt to changing requirements.

At the same time, there are far more problems that need programs to solve them than there are people who can write programs. If programmer productivity doubled tomorrow, there would not be enough programmers. If people who can’t program were all suddenly able to program at the level of a first-year undergraduate tomorrow, there would still not be enough programmers. And that’s why our industry puts so much effort into end-user programming languages. That’s why the most successful programming language, with over a billion users, is Microsoft Excel.

With all that in mind, don’t you think that the fact that most programmers need mandates from management to use bullshit generators to ‘help’ programming might be an indication that the hype isn’t all it claims to be?

3
6
1

@david_chisnall Do you have this Zebra ? Il could find only part II on archive.org. Btw archive.org also has the flyer which has this statement I like :

1
0
0

@ftregan That’s the one. The Swansea History of Computing Collection has the documentation (though not the computer: it was the first computer in Wales, used to plan and then run payroll for the Port Talbot steelworks). The 150 instruction limitation was specific to Simple Code.

0
0
0

@david_chisnall Hear hear! I think your statement about MS Excel is spot on, used to look with much dédain at it (being a software dev myself) but actually people being able to use it for simple and sometimes not so simple automation tasks is pure empowerment, so I'm turning around on that one

1
0
0

@jlapoutre @david_chisnall I'm usually not a fan of Excel, but we had a very complicated desk booking system after COVID. Got replaced with an online spreadsheet (I can't remember now whether it was Excel or Google Sheets), and suddenly it was a lot more useful: you could see at a glance where everyone was sitting, book a desk next to your teammates, book desks in advance, book desks for multiple days/weeks in advance, see stats on how full the office was etc. all missing from the "official" booking application. The spreadsheet had no protection against someone booking multiple desks the same day and minimal protection against someone else deleting your booking, but in practice those are not needed if you trust everyone to use the system honestly (there is a history that logs which user did what in case someone deleted the whole table by accident...)

0
0
0
@david_chisnall an enlightening exercise is to ask an AI to quantify, using evidence, how AI can help programmers, and what investment is required.
0
0
0