Episode 147: Gabriella Gonzalez discusses the intersection of algebra and programming
Elucidations15 Heinä 2023

Episode 147: Gabriella Gonzalez discusses the intersection of algebra and programming

In this episode, Matt talks to Gabriella Gonzalez about how basic concepts from the branch of math known as abstract algebra can help us simplify our

computer programs and organize our thoughts.


Algebra. That thing they make us do in school. What was that again? Oh yeah, that’s right; it’s where you get to manipulate equations containing variables. Like, if I have an equation that looks like this:


2⋅x = 16


Then I can divide both sides by two and get a new version where x stands alone, i.e. solve for x:


(2⋅x) / 2 = 16 / 2

x = 8


If you took algebra in school, you might remember learning a bunch of tricks for pushing parts of equations around to get one of the variables to appear only on one side and thus solve for it. Being able to solve for variables in equations proves useful for lots of things: like, if you can translate a word problem into one of those equations, finding the answer is often as simple as tinkering with the equation in some obvious way.


Abstract algebra is somewhat similar in that it also involves manipulating equations containing variables, except the twist is that now you aren’t necessarily manipulating numbers anymore. The variables can stand for something else, and there are more general versions of plus-like, times-like, etc. operations that you can do on these other things. You might be wondering: what on earth could a variable in an equation stand for other than a number? Well, in this episode, Gabriella Gonzalez gives a bunch of examples. You can have equations for cooking recipes, for computer programs, for transactions performed on databases, and for regular expressions. (A regular expression is a special type of computer program for identifying strings that fit a particular pattern and pulling information out of them.)


Gonzalez then goes on to argue that the point of all this is to avoid re-inventing the wheel. Often, when you write a computer program to add some numbers, though this isn’t necessariy obvious at the time of writing, you aren’t actually drawing meaningfully on the fact that they’re numbers. If that’s the case, then what you can often do is make your code that adds things abstract so you only have to write your program once, but then you can re-use it on all these different other kinds of entities other than numbers.


The overall payoff of all that, according to this month’s distinguished guest, is that by following algebra-driven design, you can keep your code simple and easy to understand, while still having it do fancy things. This is particularly important today, when our software just seems to keep getting fancier and fancier, but the usual ways of accomplishing that goal make it unreliable and well nigh impossible to keep up to date.


Join us as Gabriella Gonzalez gives us the tour through various algebraic systems that occur all over the place in computer science, philosophy, and linguistics!


Matt Teichman



Hosted on Acast. See acast.com/privacy for more information.

Jaksot(153)

Episode 129: Nethanel Lipshitz discusses discrimination

Episode 129: Nethanel Lipshitz discusses discrimination

This month, Ben Andrew and I are joined by Nethanel Lipshitz (Tel Aviv University, Bar-Ilan University) to talk about discrimination.If someone treats me unequally--that is, if they give other people ...

27 Syys 202051min

Episode 128: Melissa Fusco discusses free choice permission

Episode 128: Melissa Fusco discusses free choice permission

One of the foundational ideas behind philosophical logic is that when you say something, that has further implications beyond the single thing you said. Like, if I think ‘every single frog is green’ a...

16 Elo 202041min

Episode 127 - Nic Koziolek discusses self-knowledge

Episode 127 - Nic Koziolek discusses self-knowledge

In this episode, Nic Koziolek (Washington University in St. Louis) returns to talk to me and Nora Bradford about self-consciousness.Self-consciousness, as philosophers use the term, is a word for when...

15 Heinä 202040min

Episode 126 - Listener Q&A with Agnes Callard and Ben Callard

Episode 126 - Listener Q&A with Agnes Callard and Ben Callard

Three philosophers. Eight head-scratchers. 50 minutes. In this episode, Agnes Callard, Ben Callard and I respond to the world's most awesome listener-recorded questions.A lot of people have the impres...

11 Kesä 202047min

Episode 125: James Koppel discusses counterfactual inference and automated explanation

Episode 125: James Koppel discusses counterfactual inference and automated explanation

Episode link here.In this episode, James Koppel (MIT, James Koppel Coaching) joins me and Dominick Reo to talk about how we can write software to help identify the causes of disasters.These days, ther...

17 Huhti 202038min

Elucidations Episode 124: Graham Priest discusses Buddhist political philosophy

Elucidations Episode 124: Graham Priest discusses Buddhist political philosophy

Episode link here:https://elucidations.now.sh/posts/episode-124/In this episode, Graham Priest returns to discuss Buddhist political philosophy with me and Henry Curtis. (Last month, we talked with hi...

21 Maalis 202040min

Episode 123: Graham Priest discusses Buddhist metaphysics

Episode 123: Graham Priest discusses Buddhist metaphysics

In this episode, Matt Teichman and Henry Curtis talk to Graham Priest (CUNY Graduate Center) about the philosophical foundations of Buddhism.Buddhism isn't just a religion--it's an entire family of ph...

15 Helmi 202048min

Episode 122: Frithjof Bergmann and David Helmbold discuss new work, new culture

Episode 122: Frithjof Bergmann and David Helmbold discuss new work, new culture

In this episode, Frithjof Bergmann and David Helmbold make the case for a different approach to working in the modern world. A lot of us experience our day to day work as a 'mild disease'--not terribl...

17 Tammi 202039min

Suosittua kategoriassa Yhteiskunta

olipa-kerran-otsikko
siita-on-vaikea-puhua
kaksi-aitia
gogin-ja-janin-maailmanhistoria
i-dont-like-mondays
poks
antin-palautepalvelu
kolme-kaannekohtaa
sita
mamma-mia
aikalisa
yopuolen-tarinoita-2
lahko
rss-murhan-anatomia
loukussa
rss-palmujen-varjoissa
rss-nikotellen
meidan-pitais-puhua
terapeuttiville-qa
mystista