- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
70 lines
8.3 KiB
Plaintext
70 lines
8.3 KiB
Plaintext
Episode: 2506
|
|
Title: HPR2506: Build Your Own Lisp (A Book Review)
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr2506/hpr2506.mp3
|
|
Transcribed: 2025-10-19 04:22:31
|
|
|
|
---
|
|
|
|
This is HPR Episode 2566 entitled Bill Your Own List, a book review.
|
|
It is hosted by Brian in Ohio and in about 9 minutes long, and Karim a clean flag.
|
|
The summary is LearnC Programming while building a list.
|
|
This episode of HPR is brought to you by An Honesthost.com.
|
|
Get 15% discount on all shared hosting with the offer code HPR15.
|
|
That's HPR15.
|
|
Better web hosting that's Honest and Fair at An Honesthost.com.
|
|
Hello, Hacker Public Radio. This is Brian in Ohio again. I'm doing another podcast, and I want to first thank HPR for allowing us the opportunity to make podcasts.
|
|
Everyone listening should do one. It's not that hard.
|
|
Just go to the website. There's on the give show section, and they've given you all the directions you need to get going.
|
|
I read a book recently, and I'm going to do a book review on the book called Build Your Own List.
|
|
And despite the name of this book, it's about learning to program and see.
|
|
Now, it's not a beginner's book. It doesn't go into depth about things like looping and conditionals and the like, but it offers a plunge into pointer structures and abstractions.
|
|
It uses...
|
|
Teach is powerful C techniques while you're building a list.
|
|
And so what is Lisp? Lisp is the second oldest high-level programming language.
|
|
It was invented by John McCarthy in 1958.
|
|
And it's use of parentheses and treating data and codal-like make a list of programming language like no other.
|
|
But this episode isn't about Lisp. It's about C programming.
|
|
And Lisp, so let's talk about the book. The book was written by a gentleman named Daniel Holden. He's a PhD student in Enborough in the UK.
|
|
And I think that's where Dave Morris is from, maybe not, anyway.
|
|
The book's available in printed form or is an ebook. And also the text is available online, as well as the sources at GitHub.
|
|
I bought the Swindle version and used that and kind of relied on the website also, and I'll get into that later.
|
|
The book is broken down into 16 chapters.
|
|
The first three chapters introduce the project, get the basic tools installed, and give a brief overview of programming and C.
|
|
You do the obligatory hello world program, and you're introduced to things such as structures and pointers, which then are fleshed out later in the book.
|
|
In chapter four, you begin building a list by coding up an interactive prompt.
|
|
In chapters five through eight, you move, you start adding functionality to the interactive prompt, and are introduced into new concepts, growing your knowledge of C programming, and these concepts include things like language theory, parsing, evaluation, and error handling and recursion.
|
|
In chapter nine, that's where the first big list concept is introduced, and that's the S expression. It builds on what you've learned so far in C, and at the end of that chapter, you end up with a proper read evaluate print loop, which is the core of a list of any list.
|
|
From chapter 12, from chapter 10 through 14, you flesh out the repel, the read evaluate print loop, and you build on its functionality.
|
|
By the time you get to chapter 14, you have a fully functioning list dialect that you can use, and then in chapter 15 of the book, you actually leave C and enter the land of list, and you start adding functionality to what you've built using the actual programming language that you've constructed through the directions in this book.
|
|
Well, in chapter 16, leaves you with more ideas on how to expand your list in the future, and so each chapter has detailed instructions. It had chunks of code to look at and think about, but this really isn't a cut and paste project. The author encouraged you to take your time and input all the code, and I agree.
|
|
The end of each chapter has a full code listing, and there's also a bonus section at the end, and I particularly like those. The bonus questions can some of early sort of easy and just kind of think about things you've already read about in the chapter, but some of really, especially some of the coding challenges, really kind of push you to try things on your own.
|
|
There's no answers given. It's just projects that you can try, and it's very well done. I think it's a great addition, and really makes the book useful by challenging you and giving you confidence to program things on your own.
|
|
I really did enjoy tempting them. I didn't finish all of them, but there's a lot there, but it was fun attempting the ones that I did.
|
|
So in the end, I want to definitely thank Mr. Holden for writing this book. It's a great resource for someone wanting to move from being a newb and see programming.
|
|
It seems programming books that I've seen fall into the extremely simplistic category, or maybe not even simplistic, more like very abstract.
|
|
Maybe you'll talk about structures. You'll have a chapter on structures, but it's sort of not attached to anything and not very interesting.
|
|
Then there's other programming books out there that are very difficult to get through.
|
|
So this book hits the middle ground nicely. It breaks up the project in a nice chunks.
|
|
The pieces are understandable. The book actually, after I've read it a few times, the chapters are extended comments that you might find in a source listing, really giving you the idea of what's going on in this code and then helping to understand as you look at it.
|
|
Plus the unifying idea of having a functional piece of software at the end keeps you engaged and wanting to finish the project.
|
|
Mr. Holden's writing style is fun and the text is interspersed with humor's photos.
|
|
So what did I learn? Build your own list visit without some bumps.
|
|
The Swindle version has a couple of typos here and there's actually a little piece of code left out, but nothing terrible and having the text online help clear those things up.
|
|
The program uses edit line, the edit line library, and that isn't part of the basic install of the King of Gnu Linux distros Slackware.
|
|
It is available through SlackBills.org, but in the end I used Readline and with a little, instead of edit line and with a little searching, figured out what switches are needed to get GCC to compile the code.
|
|
And a hit for those who try, who might try this book, look into term cap and its connection to Readline.
|
|
So actually, even that little stumble I helped learn more about digging into C, which was, which was really good, and I know it wasn't anything that he planned particularly.
|
|
So there are all kinds of other learning opportunities as you go through the book. I feel better about using the only true text editor, which is Emax, of course, as well as I've gotten better navigating through GitHub pages, looking at stack overflow answers, reading man pages, and even using things like Wikipedia's places to get answers to questions.
|
|
I'm more confident at looking at other people's source code, trying to understand it, and that's something that I really, a skill that I needed sharpening.
|
|
I think that the book has all kinds of uses beyond just the bear project. It could be cool if there would be way to work on get integration, maybe in a rewrite or as an appendix to the book.
|
|
So to sum it up, I highly recommend this book if you want to get better at see programming. Even if Lisp is not something you're interested in, this book is engaging with fun.
|
|
I've spent a lot of time with it, and I'm glad I stumbled upon it. And if you want to up your C game, and are looking for a challenging project, I highly recommend the book Build Your Own List by Daniel Holden.
|
|
So thanks for listening, and this is Brian from Ohio signing up. Until next time.
|
|
You've been listening to Hacker Public Radio at HackerPublicRadio.org.
|
|
We are a community podcast network that releases shows every weekday, Monday through Friday.
|
|
Today's show, like all our shows, was contributed by an HPR listener like yourself.
|
|
If you ever thought of recording a podcast, then click on our contributing to find out how easy it really is.
|
|
Hacker Public Radio was founded by the digital dog pound and the Infonomicon Computer Club, and is part of the binary revolution at binrev.com.
|
|
If you have comments on today's show, please email the host directly, leave a comment on the website or record a follow-up episode yourself.
|
|
Unless otherwise stated, today's show is released under Creative Commons, Attribution, Share a Life, 3.0 license.
|