meta_pixel
Tapesearch Logo
Log in
The Science of Everything Podcast

Episode 96: How Computers Work Part VI - High Level Programming and Software

The Science of Everything Podcast

James Fodor

Social Sciences, Natural Sciences, Science

4.8819 Ratings

🗓️ 2 March 2018

⏱️ 45 minutes

🧾️ Download transcript

Summary

In the final episode of our series on computers, I give an introduction to high-level programming languages, how they relate to assembly language and machine code, and how the compiler converts high level programs into a form that can be executed by the processor. I then outline some of the key components to high-level programming, such as data structures, control structures, and algorithms, before sketching an example implementation of a simple game. I conclude with an integrative summary of computer structure from silicon up to the operating system.

Transcript

Click on a timestamp to play from that location

0:00.0

Oh my God, oh, wow, oh, oh, wow, oh, oh, man.

0:15.0

Oh, my.

0:17.0

And the world. Hello, you're listening to the Science of Everything podcast, episode 96,

0:39.6

How Computers work Work Part 6,

0:44.5

High-Level Programming and Software. I'm your host, James Fodor. So in this episode,

0:51.2

we finally come to the conclusion of our long series on how computers work. In this episode, I'm going to discuss high-level programming languages and how those differ from assembly languages and also a little bit about how compilers work.

0:58.9

I'll then introduce briefly some of the key programming concepts, including control structures, data structures, algorithms, and I'll give an example of an algorithm to just illustrate the basic idea.

1:09.7

And then I'll go through a brief example of a program

1:13.0

of how you might code a simple game in a high-level language

1:16.0

just to give you the sense of how programming works in high-level languages.

1:20.4

And to conclude the episode, then I'll go through a summary

1:23.7

and integrative account of how computers work drawing upon

1:27.3

all of the material that

1:28.8

we've discussed in these previous three episodes.

1:31.7

So, to begin, let's talk about high-level programming languages.

1:36.0

In the previous episode, I talked about assembly language, which is essentially a symbolic

1:40.2

form of machine code, which is much easier to program in allowing you to use short symbolic forms for up codes, instead of having to remember the binary sequence, and being able to use symbolic addresses instead of having to specify each address in binary, etc.

1:54.0

Assembler is much easier to program in than machine code, but even assembly is still quite tedious to programming because you still

2:01.1

have to keep track of loading individual variables into particular registers and moving them,

2:07.4

moving data from here to there, and performing very low-level operations. So it's still very

2:11.4

difficult and tedious to programming, even though it's easier than machine code. Instead, most programmers

2:16.7

these days program in one of various high-level programming languages.

...

Please login to see the full transcript.

Disclaimer: The podcast and artwork embedded on this page are from James Fodor, and are the property of its owner and not affiliated with or endorsed by Tapesearch.

Generated transcripts are the property of James Fodor and are distributed freely under the Fair Use doctrine. Transcripts generated by Tapesearch are not guaranteed to be accurate.

Copyright © Tapesearch 2026.