The Standup with ThePrimeagen - Your CS Degree Is Teaching You the Wrong Things

Episode Date: September 4, 2026

AI is changing how we write software, but what does that mean for programming languages and computer science education? The crew debates Python vs. C, whether language aesthetics still matter, what CS... degrees should actually teach, and whether low-level knowledge will become even more valuable in the age of AI.

Transcript
Discussion (0)
Starting point is 00:00:00 There's a thing that happens that's happening around here. I don't know if you guys have seen this, but like anywhere that has, anywhere like a food truck or like in a food court or a place that has picture menus. The food is AI generated now. And it's like not, it's, it's weird because it doesn't look, it doesn't look convincing. Like they didn't use, I think we have like, I don't know what the state of the art is. but we have AIs currently, I know we do have AIs that can generate convincing pictures of food that wouldn't look like AI art,
Starting point is 00:00:38 but they're not using that frontier models. They're not using, I don't know what they're using, but they're using something that I know what it is. Okay, what is it? No, no, it's just that they're literally, I'm pretty sure.
Starting point is 00:00:50 It's not that they're constructing individual pieces of the photos through like a good image and model. They're going to chat, GPT, free. because they don't know that there's a difference. And they paste in their entire menu for the page. And they say, make a menu page for this. And it's like, cool, you have pancakes. Here's pancakes with blueberries.
Starting point is 00:01:13 The real world uses AI completely differently. So it's going to be, it's like free tier pancakes is what you got. This is the free tier. Literally. Yeah, yeah, yeah, yeah, yeah. Yeah. Anyway, sorry. Speaking of food, check this out, guys.
Starting point is 00:01:29 So Big Z hooked me up with these crispy cream. Yes. Pokemon donut holes. Hold on. We're not done yet. Wait, wait. I'm pretty sure she's trying to give me the beat is. All together.
Starting point is 00:01:40 You said crispy cream, Pokemon donut holes. Yep, exactly. Are you going to save those? Are you going to put those on your shelf and kind of keep them as souvenirs, you know? He's going to eat them all before his kids get a chance. I don't think that's a use case for these ones.
Starting point is 00:01:53 I'm going to share these with my kids and we're going to destroy these. I'll try them on while we're doing our things. Immediately after we got off. a podcast, I'm going to get donuts. Crack open a poker ball? Like, is it stuffed? Do you think it's stuffed? We can send you something for next one.
Starting point is 00:02:05 Just crack it up and take a couple bites out of it. Let's see. What is it like? Give us a little pokey rating here. So vanilla icing. Can't tell what the sprinkles are. Chocolate strip in the middle is a good little touch. You give it an 8 out of 10.
Starting point is 00:02:23 Nice. Eight out of 10. Yes. There you go. Thank you, Bigsy. Oh, shut out. Shout out Randy at Krispy Cream. That made it happen because apparently it was a whole deal trying to get me with it.
Starting point is 00:02:34 Thank you, Randy. Thank you, Randy. Thank you. Hey, leave a comment, everyone, saying thanks, Randy. Randy from Krisp. Mm-hmm. Well, that's actually really good. All right.
Starting point is 00:02:47 We're ordering some for everybody next week. I would like to say that normally what I end up doing, just generally speaking on the stand-up, I like to jump into my main scene. And we usually, you know, grab something off the old con bond board, right? and we kind of talk about it. But I feel like that's not really, you know, the future. And so instead, I think what I should do is open cursor agent and go like this.
Starting point is 00:03:15 Hey, could you check linear and see if the standup has any blockers and list them out for me? There we go. Because I feel like that's kind of what the future is. You know what I mean? Like, do you really want to go and like type in a whole web? address, like think about how long that could take. Especially when there's native apps for linear that are really good, hashtag ad, but that is what I use.
Starting point is 00:03:42 And it's really good. Like, really good. Imagine having to like easily navigate and open up a page and read it right away when your model could do it for you. By my eye's dead. UI is dead. You eye is dead. Like, I'm not even kidding, dude.
Starting point is 00:03:56 You eye's dying, man. I'm telling you. Dude, UI died about 15 years ago when West Designers took over. And there's like no scroll bars and no visible, like you, the screen is just a big white page and no one has any idea what they can click on. I like when it hijacks my scroll. Somewhere that you're supposed to know is it are the do the three lines mean I can drag this item? Sometimes do the three lines mean it's a menu sometimes? Oh, it's almost a hamburger.
Starting point is 00:04:22 It's a hamburger. Yeah, we call that a hamburger menu. It doesn't look like a hamburger. I know it's called a hamburger menu. But then, but if you turn it on its side, it's a grab bar. It's a thing that you can move up and down. That it's not a hamburger menu anymore. 90-degree rotation, no longer hamburger.
Starting point is 00:04:35 Great point, trash. That's true. Hot dog or hamburger? Yeah, yeah. Really? Yeah. Completely different meanings there. Hey, is that H-TDP?
Starting point is 00:04:44 Get that out of here. That's not how we order coffee. We order coffee via SSH terminal. Dot shop. Yeah, you want a real experience? You want real coffee. You want awesome subscriptions so you never have to remember again.
Starting point is 00:04:56 Oh, you want exclusive blends with exclusive coffee and exclusive content. Then check out Kron. You don't know what SSA. is? Well, maybe the coffee's not for you. Terminal coffee in hand. I like how you took linear, which is like, I thought the whole point of linear was that it was supposed to be like faster than Jira or something like this.
Starting point is 00:05:23 And then you, you strapped. Or so, like, you strapped a huge, like, a delay on it. Yeah. Yeah, that was the joke, Casey. Thanks for saying the joke out loud, which is that I use the world's most. inefficient way to look at a list. Okay, there we go. Okay, thanks.
Starting point is 00:05:42 How much did it cost you? How much did that cost? Well, I'm using Grock 465 fast, and that was only like 40,000. 465 from his inventing model days. I was like, oh, 465? Yeah, it's a midpoint. Actually, TJC, TJ is not a part of it. It's like secret beta test where we get like half weight of four seven.
Starting point is 00:05:59 That's not how decimals work. 465 would be 65. Got them. It's true, but it sounds cooler when you say six five. but also the name is a botches, Hi, Fast. That's insane. How for the classic blunder of Semver? It really is.
Starting point is 00:06:16 All right, well, anyways, I don't really care, so let's just go on here. I want to talk about something. This is like a little bit of a blocker, okay? So, hey, everybody, welcome to the stand of today. We have quite the show with you. We have one incredible blocker by one incredible programmer.
Starting point is 00:06:32 And then second, we have Casey deeply regretting his life decisions. and then third, we have the main course. Python, is it not good for education? Is Python not good for anything? Is C really how you actually understand computers? Or is that all a farce? Anyways, but before we get to that,
Starting point is 00:06:52 we need to do a little bit of a blocker, okay? I saw this tweet earlier, and I don't know how I feel about it. I like Zach, Zach Overflow, cool, you know, handle. He says, basically anyone who says they dislike a programming language for the aesthetic syntax reasons, e.g. Russ. needs to just update their taste in languages. Is this true? Should you just always accept a language as its looks,
Starting point is 00:07:15 or is the aesthetics of it important? Now, I'm going to throw something out there. I like how Lua looks. Wow. Okay. I thought you're going to keep going there. I thought you were going to put good. Yeah, was that going to get dirty?
Starting point is 00:07:29 Like, it sounded like you were going somewhere with that. It's like, I like how Lua. Let me tell you about Lua. I got some things to say. I will tell you about Lua. I like when we use words to end things. Okay? I like end to say, hey, this is the end.
Starting point is 00:07:43 If end. I don't like squirly braces, you know? Like, I don't think squirly braces are nearly as beautiful as nice key words. Okay. I like, I prefer keywords as openers and closers. How do you feel about the old school, we use the word written backwards to end the thing that it started with, Prime? Oh, yeah, you're talking about the old case ESAC thing. I am.
Starting point is 00:08:07 Yeah, I know about that, ESAC. Or if, if, and FI. I don't know if you've ever seen that one. These are, these were common. These were, these are a thing. Vinscript, in fact, even has that one, if I'm not mistaken. No, Vim has if and then end if. No, no, the old, the old one, isn't it FI?
Starting point is 00:08:23 No. I hate that. If, then end if. Trust me. I know BASH does this. Tens or hundreds of thousands of lines of VINFI is cursed. Okay. By hands.
Starting point is 00:08:32 Okay. I don't like that one. I'd rather see the word end. Okay. But I will take a backward spelling if I must need to. If I must. Okay. I would take that.
Starting point is 00:08:40 I preferred over squirrelies. And here's my reason why. I hate that if statements can and cannot have squirleys on them. Okay. I just want a defined syntax at all points and I just want an expectation that's always met. Well, that's a different complaint. I will give Odin a pass because Odin does have a do statement. So it does if do and then it's allowed to be on one line.
Starting point is 00:09:01 So I like that. I'll give that. But I think aesthetics are important. I don't know. I think there's something that I know we're leaving the day and age of caring about these things. And most people will just not even know what programming looks like in probably the next five years. But I think there is something about the beauty of a language, okay? I think there's something about it.
Starting point is 00:09:19 Can we go back though quickly? Because if statements requiring you could have a language where you have to have end as the delimiter, but then still have single line ifs without an end. And that would like, that's the, so your complaint is more about. With an end on it. You have to have an end. I like, I just, but there's no reason that, like, C has to allow you to have an if statement that doesn't have curly braces afterwards. It's just that C chose that as an option.
Starting point is 00:09:45 Yeah, and I think that's even worse. Okay. I was trying to figure out. In fact, it prevents it from being an LL1 parser, right? Wasn't that one of the design goals of the very first version of Java, and then they fumbled a bag because they were like, well, we need to have if statements without squarely braces, and then the dangling else problem, and then everything got awful. This all Lippters are born from this conversation. True. Okay.
Starting point is 00:10:06 Do you like semi-colons prime? No. Okay. Yes. I like semi-colons. What? I like them. Why?
Starting point is 00:10:15 It just makes it more obvious when an expression ends and where you expect it. You get better error messages from them. You don't have semicolins and you have a trailing plus. It's unclear where you expect the error to actually show up in general. I think it's easier to write parsers. and language tooling that says, like, let X equals Y plus one. If you just do let X equals Y plus and then there's a semicolon at the end of the line, then you can know something that it's missing.
Starting point is 00:10:45 That's like an obviously stupid example. But like terminators tend to help you get like air messages to the spot. Like this is one of O Camel's failings in my mind is that if you don't have, O Camel doesn't have terminators for a bunch of stuff. So you end up sometimes getting air messages that are like 100 lines of from the actual problem because you're like missing an in like way before. Oh, okay, let's slow down here a second. Yeah.
Starting point is 00:11:11 Now, did I just hear you say that O Camel has a problem? Yes. I know you didn't say that because I'm pretty sure that O Camel is a perfect language that doesn't have any problems, Teage. So maybe you can rephrase that. No, that's, I think I could say that now because I started making my own language. language. So now, you know, it was like, okay, and what was the best girl at my high school, right? But now we're at college. Okay. Casey. Okay. Okay. Okay. Okay. Okay. Okay. Okay.
Starting point is 00:11:42 Okay. TJ, did you marry your high school sweetheart. Isn't that phrase just completely nonsense to you? She was still the best. That's what I'm saying. For me, it's true, but not for everybody. That's good. Chats never dated anybody, so they don't understand. They're still just admiring from afar. Like, are they going to SF hot or not, whatever it's called? SF hot list. They just made that. They just made that Casey. I know you didn't see it.
Starting point is 00:12:08 They made a hot list for SF and so far I think there's like four people on the list. I can't believe all that. erodically. For the city. San Francisco is finally found the end of innovation, which is they now just go who's hot here?
Starting point is 00:12:22 Because I need someone else to tell me? Like what is that he? They got baited to move there and now they're just trying to find a mate now. I'm confused. I hope you like talking about AI and series A funding rounds. All right.
Starting point is 00:12:38 Well, that was awesome. I actually, I was just actually curious if someone actually had a real take on, on, if aesthetics is important at all to syntax, but it seems like nobody thinks that. So we're just going to move on.
Starting point is 00:12:49 We didn't even give us a chance to actually talk about it. I was trying to understand your point. Yeah. Well, my actual opinion is, is like you kind of hinted toward this earlier was in the age of AI, I feel like it's slowly just, It just doesn't matter as much anymore.
Starting point is 00:13:05 Obviously, like for this group and, like, other hardcore engineers, like that really, like, to dive into that stuff, I think it still matters. But I think for, like, the general public, I don't think it's going to be a thing. And I made a tweet, like, not too long ago where, like, DX doesn't matter because as long as my agent can work with it fine, like, have that. And I feel it's an interesting time. It's kind of depressing to be honest. One small thing, which is that how I design my CLI ARGs now no longer favors humans using
Starting point is 00:13:30 it. right, I realize that like, okay, agents are super good at like just making a cajillion arguments. You can make, you know, you can, you design your interface as a touch differently because you're just going, okay, an agent's going to use this thing. And so it is, it is different. Like I would never ask a human to do the thing that I was doing, but I'm like, agent though, agent loves this. It's going to do so good. I was going to say, though, I kind of feel the opposite trash because since agents are going to write it and they're trained, this is like my actual opinion. and I'm not just drolling.
Starting point is 00:14:02 That because we train agents on, like, human corpus, right? Like, we've trained it on all of the history of humanity. I think things that work better for people and communicate better people to people, agents will be able to do better. As since they're, like, human approximator functions, as Prime said in a recent video, which I like, it's like what they're trying to be, that it's successful or not. So I think like if in a language can express things like efficiently and effectively and elegantly clearly, ages will do better with that thing. So whether that means the aesthetics of like where curly braces go, I don't really think that part matters so much.
Starting point is 00:14:42 I think the tweet was inspired by some people complaining about like rust having a lot of colones and like brackets and stuff. But I think that that's actually like good aesthetics because it communicates a lot of information to me like clearly and concisely in the same. way. Like there's a lot told every time someone does a screenshot of rust with like 30 different things going on. It's like yeah, it's from some crazy standard library function that someone spent a lot of time to make sure works for like every single person in the world in like a million different situations. Like most of the time you don't have to do that. I think oh, Campbell beats rust on that point. So there you go. Casey, you just have to let me make it go back. But I'm saying like I think that it will still matter even when agents are writing it because tokens will still cost money.
Starting point is 00:15:27 and things matter. Like, it's still, it's, in the end, it's not that everything's free. Like, we still have, like, supply and demand and, like, things going on. And it matters if my DX
Starting point is 00:15:37 takes 100 times as long because someone chose to write this in, like, the world's lowest language or whatever, instead of making it fast, and the agent can complete in half the time, those things will still matter, I think, at least. One would also assume that, uh,
Starting point is 00:15:50 to the earlier point you were making where it was like, okay, I've got this language. And if I accidentally omit one symbol from it, the error message is from like, you know, 130 lines down, I feel like you don't really want your agent to have to consume those extra 130 lines to get the error. And then it has to then spend reasoning time
Starting point is 00:16:12 to like go figure out where the error was and then it has to go back and patch. It's like, if it could have just been like, here is literally where the error is, then that would be a trivial update that costs basically nothing, like no electricity at all. So it does, it also kind of seems like you do, care how well because you know there's there's just this as long as you're still running these
Starting point is 00:16:33 kinds of agent cycles on things it seems like you but you would care how how efficiently the language can can find problems plus that's also true without without agent right if you have to read a like if you read a c plus plus template error that sometimes span for for an actual hour of reading it's like i don't i don't even know what's happening here i'm assuming that it i'm assuming that it would be translated similarly where it's like, yeah, you're just, yes, you don't have to do that now, but you're going to pay more money or more server time or whatever it is to have this done for you than if the language just didn't have that problem or whatever the AI is outputting was designed intelligently so that it minimizes the amount of work that the reasoning layer
Starting point is 00:17:16 has to do to put the thing in order, whatever that thing is, right? So there you go, Prong. Is that what you were looking for? Boom, head shot. Yeah, something. Something for me, guys. Okay, so let's go on to the main course because I saw this little spat happen on the old internet, as they say, about a Google researcher, Lori Wired, for those that are unfamiliar with her game, she is a very incredible YouTuber, effectively says that CS degrees are kind of fumbling the bag
Starting point is 00:17:45 because they're starting students on Python as opposed to C or C++. And thus, it's driving more and more people going in to learn about computer science further and further away from the, computer and this is really kind of doing them dirty if we will say it is not allowing students to excel the best or come out of college really knowing how computers work instead they know how say python works which is a further abstraction up the tree and then this ignited an entire series of arguments of people saying like most c and c pp coders don't even know a lambda calculus or
Starting point is 00:18:20 formal languages are the bedrock of computer science good point and people started arguing over what the heck is computer science. Do we even, does anybody even know what a true computer scientist is? There is no true computer scientists that walked this earth. Ryan Fleury, of course,
Starting point is 00:18:35 was making fun of some things. There was someone that said something, kind of making fun of the whole computer science and C being a better abstraction saying C's not actually representing what's happening on a computer. And then, of course, Casey, you also had a beautiful tweet.
Starting point is 00:18:47 Vaxry was just like, I don't even know, Vaxry seems like he's like, I'm not even sure what CS is, but I think it's pretty much math, proof in formal logic. And so none of this makes any sense. So C really doesn't help it all.
Starting point is 00:18:59 And so it just kind of turned into everybody arguing about things. So I figured we could break this entire thing up into three steps. The first one has to be, what is the chief goal of a CS degree? Like what actually is the person walking out? Is it to become a good programmer? Is it for you to be able to just do the pigeonhole theorem just at any moment on the whiteboard? Or is it for you to practically understand how a computer operates? And I think those are three very different, you know, positions.
Starting point is 00:19:29 And so I feel like Casey, you were the most excited and also got like a ragingly or a decently tech viral tweet. Therefore, you are required to answer this first. Well, I would like to point out that my tweet, the incredible content of my tweet. Legendary tweet, honestly. Legendary tweet. Casonryor. filled with wisdom was, and I quote, 100% yes, thanks Lori Wired. Wow.
Starting point is 00:20:00 Casey? That was it. That was all I said. Very exciting. So he's getting Twitter, everybody. Casey's getting Twitter. I kind of knew everything you were going to say because I actually listened to your podcast on Pragmatic Engineer.
Starting point is 00:20:13 I think that's the little bit. And then I saw this clip and I was like, oh, this is like exactly where you're basically talking about that whole episode. Okay. Yes. I mean, yeah. effectively. So I was just trying to say what this actually surprised me quite a bit the reaction
Starting point is 00:20:29 to this. I mean, I guess I shouldn't be at this point, but I kind of was because at least when I, when I saw that, because the reason I saw it was because that I'm not sure MTS something, the original post, I'm unfamiliar with, MTS. Yeah, monitoring the situation. I'm unfamiliar with that source. I would never have seen, I would have not even have known that this occurred. except that it was in the trending, like it was in the Twitter trending things. And it said like, it didn't say Lori Wired.
Starting point is 00:20:59 It said like Google researcher, you know, says Python. And it's like, oh, that's interesting. So I clicked on it. And I saw that the MDSM, I don't know what this says. I'm like, oh, it's Lori Wired. Like, okay, I know who that is.
Starting point is 00:21:11 I listen to the clip. You're not supposed to do that, Casey. Just as a quick heads up. Good point. Don't do that next time. Don't do that. Just just comment. You just comment.
Starting point is 00:21:21 fast as possible. Thank you. By the way, Casey, if you look right here, I'm actually still getting it as trending. Google Researcher Questions, Python, Shifts, and CS programs. And so, so, so I listened, and I thought that that Laurie Wired's, like, what she says is actually very diplomatic. Like, she did not phrase it in an incendiary way. She basically described quite literally, like, what the issues are, why she was concerned about it, and if you listened to it with any degree of like understanding, you, you would understand that she, she never even says, like, Python is bad. She said, she even says, like, Python and Java are, are, I think she even says they're great things, like, you know, she doesn't have a problem with them. She's just saying
Starting point is 00:22:06 that you kind of need to know this other stuff. Like, we need to be able to teach people about memory management. And it's, and she says, like, it's easier to do that if you already know something like C or C plus plus because it's easier to extend downward. Like, she made the entire, yeah, exactly. Yes, it is that. What you're describing to the team. It's a classic, an all-timer, really, an all-timer tweet. It really is an all-timer. Cooley-Bravo, yes.
Starting point is 00:22:29 Thank you, Cooley-Bravo, yeah. So I thought it was presented very diplomatically, and so I didn't know there was, I didn't even know people were complaining about it yet. So when I said 100% yes, thanks, Lori Wired, I was saying that because I was like, I was saying, like, thank you for putting this so diplomatically, and I think correctly and great, yes, thank you. Like, so I didn't think I needed to like have a tweet that was explaining anything about it because it's so well explained already in the original source material. But somehow, right, this seemed really, I guess in the same way that like whenever there's a national tragedy, the first thing anyone does is figure out how they can talk about the thing they care about as being now very important because of this tragedy.
Starting point is 00:23:17 even if it's like the most tenuous connection you could possibly imagine it feels a little bit like that it's like a very reasonable statement was said by someone in a high profile context and so now everyone's thing whatever it is they're like swerving it around to be that thing for some reason so that's kind of my feeling about b2 bs sass on lincoln that's every time there's exactly yeah it's like actually uh computer science is about this and here is my whole thing about what I want to talk about all the time. It's like, okay, like, you know. So that's, I just, that's what I would say first about it. I mean, there's a ton of things we can talk about. We just want to point out, that's what it felt like to me. It felt like, it felt like this was actually a pretty hard, like, if you went and actually listened to this, I think it's actually a bit difficult to come away with like,
Starting point is 00:24:10 without at least appreciating what was said and being like, yes, that, that, there is a problem there. like she didn't say the entire problem with computer science or all computer science is. Like none of that was said. So she's just saying, I think we have a problem. And I think she's right. So, and I think it's hard to argue that she's right because we definitely have an understanding gap there. And especially in the age of AI, when you can now sort of program in English, I fail to see how like, you know,
Starting point is 00:24:38 focusing a lot more on high level languages makes all that much sense because if you really want to be high level, just use English now. Like it doesn't seem, so I don't know. So anyway, go ahead with whatever other things. That would just be my framing, since you asked. So I kind of wish that maybe there exists schools where this is the case. But like, I wish we just had basically two separate degrees. We had basically like applied CS and theoretical CS, which is like what math has basically, right?
Starting point is 00:25:09 Like if you go to a math, you can, or it's like you have a math major and then you focus. on whether it's applied or pure. I think pure is the word. Pure math or applied math. They don't like it when you call it theoretical. They're like, it's real to me. Okay.
Starting point is 00:25:27 Except if it's complex numbers. That's the dumbest thing that's been said. Then it's imaginary. All right? So the, because I feel like there's a really good case to be made for we need a lot of people to like do
Starting point is 00:25:41 things on computers. to solve people's problems. Right? It's like, hey, we have to write some software, figure out how to, like, use Excel better or something at a company. Like, that would be scripting Excel should be a whole course at college.
Starting point is 00:25:55 There you go. Boom. Hot take of the day. If you disagree, you've never worked at a real company. So there you go. Also, it should be like a seven-year degree because it's pretty freaking touchy.
Starting point is 00:26:07 And there's a lot of buggy. There's a lot of buggy Excel spreadsheets out there. Capstone, roller coaster tycoon inside of X's like, Until you can do something like that, you're not really an Excel. Yes. Well, you have to go compete in those Excel Olympics things they have. Yes. They have.
Starting point is 00:26:23 DJ unironically, like, he's material. I almost audition for that, Casey. For what? Like the Excel Olympics. I thought you, okay, I was on that sentence, I was hanging on. You were like, I almost, I thought you were going to say one. And it was like, auditioned. I almost thought about maybe going on the thing.
Starting point is 00:26:44 There was a time in my life where I was doing so much Excel that I was like, I watched some videos. I thought, I think I got this. For work? You're going to work? Yeah, yeah, yeah, yeah. Just a random job that I had in college. We just did a lot of Excel and then I liked it. But that wasn't my main point.
Starting point is 00:27:00 It was a pretty big accelerationist in college. Yeah, X, X, an effective Excel. Can we give a shout out to Krasam here for their. awesome like macro video that he does on Excel. We'll link that we'll link that in the description because it's a deep cut and it's a very, I think it is the second video Krasam ever uploaded to YouTube
Starting point is 00:27:26 if I recall. That is a really good one. But my main point that I was trying to make before I got distracted on Excel, a passion. By the way, can we just one more time? Of course. You are your cousin, your Uncle Rico. You know, I actually,
Starting point is 00:27:41 they put me in coach. I could have put that spreadsheet in the bag Okay, we would have won states that year. All right. Prime, just because you watched Napoleon Dynamite this week, some of us haven't watched it in a while and still can pull that out. I cannot pull those references. Oh, that's from Rick.
Starting point is 00:27:57 Oh, okay, got it. Yeah. Honestly, if his boss would have put him in fourth quarter, they would have won states. That's true. Give me your sheets. You know what I mean? All right.
Starting point is 00:28:06 Sorry. Keep going. Keep going. Applied CS, I think, should be an, like, that actually makes sense. And the whole goal is we're just only going to teach you what we think is the most likely stuff for you to get hired at someplace that does engineering things right after school. Right. It's like we focus on internships.
Starting point is 00:28:26 We just like try like cool. You want to do front end? Cool. We're finding out how to how you can learn like next J.S. We're doing it really fast or something. I don't know. Is that just a boot camp at this point? Yeah, I was going to make that argument.
Starting point is 00:28:37 Sure. Four years. Why not? You need like. Because. Okay. Are we, we're making. the case that six-week boot camps really prepare people for their jobs.
Starting point is 00:28:48 That's not. No, but I don't, I don't know if four years would also prepare you properly for the anyways. Okay, sorry. I'm saying, there should still be like in a, even in an applied mathematics, you still take some theoretical math courses. It's not like you own. I'm just saying your like elective section, I think would be more focused on the things that people are literally hiring for right now.
Starting point is 00:29:09 Hey, cool. This is, we are partnered with a bunch of companies. We do this. Like there's engineering degrees where you go and you get, you have to do internships for like either like the whole time or the last two years or whatever. They're required. They partner with local engineering companies to do this, whatever. Right. Like in my mind, that makes sense as a pathway and is a viable complaint of what, you know, see or a viable like place that CS degree should be for.
Starting point is 00:29:36 But also, you know, I think it's also good that we have people studying the theory of CS and figuring out. new stuff and trying to understand data structures better. And maybe they're the ones who figure out how to make map produce 5% more efficient and get to delete 10 data centers off of the years. I don't know. That seems great. You know what I mean? There's like, or they're discovering new theories of, of CS and stuff like that.
Starting point is 00:29:58 But those don't seem like strike me as like crazy overlapped in like a four-year degree program. You may end up into some different places, but both of them should still start. Actually, okay, well, actually, I'm interested in this take, Casey. I think it's kind of nice to have a high-level language as your very first CS course. So you can see things show up on the computer and get people excited. Then I think right after that, you should have to do C. So like whether it's Python or Java or something else, like my first course was Python,
Starting point is 00:30:29 and it made me fall in love with programming. So I'm interested to hear whatever else thinks about that. So that's well like a University of Maryland's COPSI program does. They do Java as like the 100 courses and they go to like OCam or Ross or C after the fact. But I wanted to, you mentioned the boot camp stuff, and I think this is literally the exact same argument before, like, the college people,
Starting point is 00:30:48 because bootcams were like, oh, you're learning React, but you don't even know JavaScript kind of thing, right? Because React is like that's like... I hate that so much. It's literally the exact same thing happening. I agree that that's bad. And this... But you should never utter that phrase.
Starting point is 00:31:00 If you find yourself saying that phrase, you should go, okay, I'm going to be quiet. Just don't say it. That's it. This is literally, like, what this whole thing is remind me of is that that whole kind of debacle that happened. But like to Casey pointed out, is like, why would, why should we learn high level languages
Starting point is 00:31:15 if you can just code in English now with agents? And like, I think to me that hits me really hard. It's like, I almost want to say for people in college, you should just focus on like the low, super low level stuff because that's what's going to actually make you stand out in my opinion. It's like if I learn Python, sure, I could go type some Python, make a prompt to make a Python program or something.
Starting point is 00:31:35 But when things go wrong, that's when like people that understand at a low level how to optimize, right? Like performance, all that stuff is like such a niche category. And that's like, if I go to any company, there's only like a handful of people that actually do like performance stuff. Like so like prime, right? NRDP, your team, your past team and all your adjacent teams,
Starting point is 00:31:55 you were like the performance people, but there was like you were just a small little group out of a huge engineering firm, right? And I feel like if you could just focus on that stuff, it's going to be so much easier, not so much easier, but I feel like you have a better shot of just standing out like in the I don't know. What do you think, Rob? So that's the problem is that I still feel like this argument over, we're still kind of struggling with what is the purpose of CS,
Starting point is 00:32:22 even with these arguments, which is even with applied, well, is it really important to learn a low-level language? And does low-level language really make you understand what you're actually interacting with beyond just simply like, say, memory layout? I assume that using C, you actually see, oh, it is just a bunch of ones and zeros. and a struct is just like, oh, okay, it's 24 bytes. Like, I can see, I can see the memories, you know, like, it feels better. But does it actually, is it, like, does that teach you how a computer works?
Starting point is 00:32:51 And I know the internet was so ready to misunderstand Lori on this one, but there is a bit of truth in it, meaning that however a computer work, which please do not ask me, ask Casey, I know there's a lot of indirection with memory and there's virtual stuff and crap gets paged in. and what I actually write versus what actually happens is, is magic to me at least. And so it just seems like maybe, you know, even though C is closer to what potentially is happening,
Starting point is 00:33:17 it's not really what is happening. And so it can kind of give me like a false sense that I understand. But I guess the thing that's good about is that you do understand, but at the end, does that make you more practical? In 99.9% of all situations for programming in today's world, I don't know if that actually, or let's just say 80% of all situations, that doesn't necessarily make you more practical or useful as somebody at a job.
Starting point is 00:33:39 Because often debugging is not what's wrong with the structure layout. It's more like we have 19 services because we went to a conference in microservices is still the greatest thing in the universe. And now we have to debug a problem of requests getting like fanned out. And now we're making 400 internal requests for one single user request. Stop burning down our computers. And that has nothing to do with performance. That just has everything to do with bad decision making,
Starting point is 00:34:01 which I don't know if low level or high level helps you in any of those situations. And so I'm not sure if this is a good argument. And then as far as universities go, for me, universities, universities at least at one point, used to be where rich people learn how to go to leisure well. You know, you didn't come out of a university thinking, I'm going to now be super practical at my job. And computer science always understood that. That's why if you go get a mech E degree or a civi degree today, you come out and you
Starting point is 00:34:25 can do finite element analysis and fluid dynamics. And then you go to a job and you never do those things again. You're never on the ground being like, bro, hold on. and let me just whip out this double integral for a quick second. I see some Green's theorem over here in my electronics. Like, no one's doing that. And so it's like, so much of it's done, you know, for you via the computer. At least that's what all my CIVI and MECI and my EE friends do
Starting point is 00:34:49 is that they have a lot of that all happen automatically for them. And so it's like CS or CSEE, C-E, C-E-M-E, all were there to teach you the theoretics and then it's up for you to become morphed into a job-ready person. And so I'm not sure if university really, does it really matter that university does or doesn't. I think the problem is that computer science is the only one that there's such a battle over
Starting point is 00:35:15 what is important in computer science. Is it the theory or is it the practicality? No, I'm saying from a university perspective because university. Every, every, every single, every math department has this all the time. Every math department has been doing this for way longer than computer science has even been a thing. They've been arguing about this.
Starting point is 00:35:33 Yeah, but but the problem is is that computer science They make all their money off of grants for the theoretics But then they're supposed to get all the students ready For all the practical Like it's a really bizarre thing Because they're kind of expected that all students Who leave a CS program
Starting point is 00:35:47 Are practically good Like that's kind of the expectation which I'm I'm thinking it's like a broken expectation problem As opposed to anything else Like I don't huh I don't think the practical part is true I think well I think people expect them To be able to like assimilate and learn
Starting point is 00:36:03 how to become useful on a job after they graduate. And that's sometimes not necessarily true. So like in my experience, when we hire like new grads, we already have the understanding that they're going to be literally worthless for like the first year. Really? But what's their interview? I mean, it's obviously like the data structure.
Starting point is 00:36:19 A whole bunch of Netflix new grad interviews. You know what I asked him? How to do an async request Q and typescript. Okay? Well, this is, that doesn't sound like theoretical CS at all. I was expecting practicality from day one. Okay.
Starting point is 00:36:31 I did like 100 interviews, buddy. Yeah, well, this is, this is like way before. This is like 2010-ish or whatever. When we were just asking just pure compsize data structure algorithm questions, nothing really practical because we know they necessarily don't have, they don't necessarily have the experience. You can look at, they like one internship. To be honest, most internships kind of suck from being honest. So it's like I don't really pay much attention to it.
Starting point is 00:36:56 But we know that they do have like the theory and the foundational skills. But then their first years where they actually pick up all the practical stuff. Like, how do you communicate with people? How do you, like, how do you actually transfer your skills to the real working place? We kind of help them transition there. And then, like, at some point, they can then start leaning in on, like, their foundational theory that they learned in school. So that's kind of how we approached it.
Starting point is 00:37:18 But this was, like, 10 years ago. So I don't know what it's like now, to be honest. But I mean, one of the problems here is there's just so many things wrapped up in this discussion that I'm not sure, like, you could talk about any of them for quite some time. So I think the biggest thing I would point out is, just that I think that when you're talking about what you should learn in a college setting, or more specifically what you should learn in any kind of educational setting that is supposed to be more serious and less immediate.
Starting point is 00:37:51 So for example, if I just want to learn Python, I mean, I don't know about you guys. Maybe this is atypical, but I don't think it is. Like, I'd never programmed Python before, and I wanted to do a little bit of, of that for some stuff I was doing on the substack, it took like five minutes. Like the amount of time it takes for me to learn to program Python was zero time, right? Right.
Starting point is 00:38:14 So the idea that like we need to think very hard about what language you're learning, to me seems just kind of ridiculous because if you're a decent programmer, then if someone asks you to program in a new language, it's like I have never found that to be a relevant question. It just isn't. And maybe there are certain idiomatic things that I'm going to have to, like, go read about because they wouldn't occur to me because I haven't been programming this language for 30 years or whatever it is.
Starting point is 00:38:42 So, like, maybe I will want to go, like, to a good reference of some people who, you know, that I would respect and say, okay, so what are some idiomatic things that you tend to do in Python? Like, all right, I see, thank you. And that's it. So to me, when we're talking about what is supposed to be there for even a practical education, not even. in the theoretical part. It's what are the things that remain true? Meaning, if I learned them
Starting point is 00:39:07 30 years ago, I didn't relearn them today. There is a very big, I think, misconception promulgated by this C is not a low-level language statement, which I think is false and not interesting, but that's kind of irrelevant to the argument,
Starting point is 00:39:27 that somehow the things that you would learn in a course that was about low-level programming do not remain true because hardware has changed. And that is just completely false. Like, it's literally completely false.
Starting point is 00:39:45 The exact same things you had to consider in 1968 and 1972 and 1977 and 1987 and 1987 and 2012 and 2006 are exactly the same. The only difference is the diagram you are reading about how these things are interconnected on the particular thing you have will be slightly different. That's the difference, right? But name a thing, whatever you want, SIMD, caches, loop caching, virtual memory, whatever it is, it was there.
Starting point is 00:40:21 It was there since like at least 1970, but usually a little earlier than that. And so if you went and learned about how computers work, meaning you were like, here is a survey of how they work. Generally speaking, this is what the architectures look like. Here's the different kinds of components we have. That literally has changed almost not at all, you know. It's like 50 or 60 years. The thing that changed the most is really like that everyone has the best of everything now in their desktop chip.
Starting point is 00:40:53 Like all the things that you would have been like, oh, I had to have. a CDC 6,000 or a system, you know, 360, 991 to get those things like a loop cache. And now they're just on my PC by default that I have in my home or my smartphone or whatever, right? That's the big difference. But that's really it. They're all the same concepts. And so the reason that I think, just to tie it back to Lori, Lori Wired's, like, original things she said,
Starting point is 00:41:23 the thing she said is the important thing. It's that if you teach a course in something like C, I would say Rust is probably equivalent here, although I'm not really a Rust programmer, but you know, you pick a language like one of those languages. The important part is that it's very easy for someone to say, and here's how we would access this part of the CPU.
Starting point is 00:41:47 Here's how we would do a thing that was cash-aware. Here's how we would multi-thread this. Here's how we would do an atomic, right? because you're not forced to use some high level, like, co-routine implementation thing. That's the only way you do that in a language, right? In some higher level language, that's great. In C, yeah, the vanilla language C doesn't have these things in it,
Starting point is 00:42:10 but that's not the point. The point is that if you already kind of know roughly how to learn something like C or Rust, you can then just right there without teaching the student anything new go, now we are going to go use this crazy instruction on your CPU by using an intrinsic to go do this thing that looks at a SIMD vector and takes the mask register and packs the ones that are zeros into like, and you can understand it with knowing nothing more than just the C.U. already learned and the little bit that they're trying to teach you now. And so at least what I got out of her statement, and I thought she said it pretty clearly,
Starting point is 00:42:47 she even used the word like extending down to memory management or things like that. The thing about C is it's very easy to extend down to whatever I need to teach you. It's not that the language itself has baked in the concept of vector processing. But I don't want it to because if it did, I couldn't teach you it as easily, right? Because you don't have to learn how it actually works if the language is auto-vectorizing. If I teach you how to write shaders, you will never know about how, things like vectorization work because it's already baked into the threading model, the like S-I-M-T model of programming, right? So to me, like, I think she was absolutely correct. I think the
Starting point is 00:43:30 perspective that she placed it in was absolutely correct. And I think that's the critical piece that has to be understood, right? And if you do learn those things, I think they're useful for decades. Whereas if you just learn how to program Python and the libraries that come with Python now, I honestly don't think 30 years from now anyone's going to care what those things were. That was one thing I really like. So I technically have like more of a computer engineer. It's electrical and computer engineering degree.
Starting point is 00:44:01 It's like I have a CS minor. And it was fun because we just learned a bunch of stuff like about computers and like physically how they worked. And it was always very helpful to me because I was like, oh, you can look at the coding. You're like, well, that's going to be slow. Yeah. Because there's no way to make the computer do that in any way that's not slow.
Starting point is 00:44:19 You can just look at it. That's not going to be good, which has served me well for a long time, which I like. And it didn't matter what language we did it in. Honestly, that was a load-bearing description you just gave right there. Genuinely, that was well-formed. That was well-formed. In my honest opinion, that was good. Yeah, and it also means that you can do it in other languages, right?
Starting point is 00:44:44 It doesn't have to be C. It just has to be a language with that easy downward extension, which is it's very cumbersome to do that in Python. Even in Java, it's cumbersome to do it. It doesn't mean can't, right? It's not trying to, you know, people get hung up on can you or can't you do this thing in a language. It's just how simple is it to just extend downwards into something I'm trying to teach you, right? And we could just teach it all in assembly language,
Starting point is 00:45:09 but I think at this point that just being able to read assembly language is enough. I don't know that we need to spend time to teach people to really write significantly sized programs in a semi-language. So learning C and how to read the asthma that comes out of it seems like a very, or like I said, a rust or something like that that has this capability, I think is a good idea. And I think Lori was correct. Well, that was my next topic was what makes C better? And Casey, I believe that you absolutely nailed that one. So that one's done. And so the real question is, is Python a mistake?
Starting point is 00:45:42 Or should that be, is Python itself the mistake? Or is it the fact that there is not a heavy emphasis on C? And I think you've kind of also answered that, which is that it's the exact same thing as like, I mean, it's kind of like a boot camp in some sense. You go to learn React. It's like it's not a very extensible skill, unless if you go and you practice it a whole bunch.
Starting point is 00:46:01 So you're not learning like how to make a great UI. You're learning how to use React to make a UI. Or Cobol might be the historical analogy. It's like, it's not a bad idea to learn it at the time. It's just probably not that relevant 30 years from now, right? But it doesn't mean you shouldn't maybe start, like I think to Teague's point, start with it because it's like, hey, this is what people are using today. You'll see a lot of it.
Starting point is 00:46:25 It's easy for you to get some stuff up on the screen that you'll be excited about, right? That all makes sense to me. So I don't think Python is a mistake. It's the lack of some other thing that's the mistake if it's happening. Which I don't know, by the way, because I don't know. Like Lori was talking about this move away from it I don't know anything about that So I'm not saying that's happening
Starting point is 00:46:45 I'm just saying assuming that is happening I agree with her that that's a problem I will say about the Cobol thing though The use of Cobol cripples the mind Its teaching should therefore be regarded As a criminal offense Edgar Dykstra QED So just in case you're wondering
Starting point is 00:47:00 You can't do that one I think you could find that from Dykstra About just about anything you wanted Everything is just actually crippling the mind Yes he also said APL is for people who want to go play play around. APL is a mistake carried through
Starting point is 00:47:14 to perfection. Yeah. Right. Yeah, I think so we did, like I mean, like I said, the first CS class I took was Python.
Starting point is 00:47:23 And that's like, before I took that class, I literally thought learning programming languages was like learning Spanish or like learning a foreign language. Like the way everybody talked about it like in my life,
Starting point is 00:47:35 right? Because I, like, nobody in my life is technical. My dad's an accountant and I always told him, dad, I like math, but I'm not going to do your math when I grow up. That's boring. Right.
Starting point is 00:47:46 And so, like, I literally thought programming languages were cool. I have to go memorize like a bunch of random grammar things. And like there's like a million new vocab words and there's like 35,000 exceptions to everything. And you can't do well on the test unless you study extensively vocab. And I didn't want to do that. I hated that. So when, but I had to take a CS class as part of my. like liberal arts thing because I was doing mechanical engineering.
Starting point is 00:48:12 So one of our like gen ed class we had to take with the CS one. And I took Python. I was like, holy cow, programming is just like logic and like pattern recognition and like trying to communicate with the computer. This is so much fun. And then from that class, the next class we took was data structures and it was in C or C++. I think it was in like C++. We pretty much only used C features.
Starting point is 00:48:33 You know what I mean? Like that kind of thing. And that was for me, I thought that was a really effective way of getting people in to a track for CS where you can see things like up here on the screen quickly. You can interact with stuff. You can like, you know, draw a turtle that moves around on the screen and like connects dots. You're like, I just told it to turn left and a turn left. That's so cool.
Starting point is 00:48:52 Like I think JavaScript is fine for some of this too. Whoa, whoa, whoa, whoa, whoa, tige. A lot of people are thinking you're talking about an actual turtle now. You're going to have to logo pill them. It's the, sorry, it's just literally a dot. It's a turtle's library in Python. So it's, it's not as exciting as you might think. It's just dots.
Starting point is 00:49:08 Logo pilled. Yeah, sorry. Yeah, well, Trash, that's because you're obviously not a real engineer. You don't know a Python Turtle library. It's true. You know what? I did C++ in college and it almost made me quit coding. I hated it so much.
Starting point is 00:49:24 At the very beginning or in the middle, Trash? I think it was like a 300 course. I did VB before that. I did VB and then we went to C++. And I was like, yeah, where are these Tildays doing here? That was weird, dude. Do you think like the part where maybe like I wouldn't, like I'm not sure about what the, in the original context of the discussion, the plus plus part of C++ is a problem. And so like, you know, the, I think if you were teaching people C++, like the actual C++, the way that it is now intended to be programmed.
Starting point is 00:50:01 I do think that would be a similarly transient thing to teach people much like Python, like not something anyone. will care about in 30 years. I know everyone's going to hate me for saying that. But like, so, you know, I don't know about that part. And maybe, maybe Lori Wired was actually implying that teaching C++, the plus plus part part was important. And I don't know. I would part ways there, but, you know, I don't know.
Starting point is 00:50:24 It doesn't seem like her, her to suggest that. But yeah, right. It wasn't the important part of what she, the point she was making, though. Yeah, yeah. Anyway. So I think to, to your point, Casey, like, as much as, especially like, you know, or let's say before maybe senior year, like my senior year,
Starting point is 00:50:40 we did a lot of like very pragmatic stuff where we like built projects together and like had to figure out how to collaborate. Like so we ended up using Git and figuring this out and much of other stuff, which is very helpful before going into the workplace. Like let's say years one through three or something. Spending a bunch of time teaching you all about the tilties where they go in C++
Starting point is 00:51:00 plus will make programming not fun. It will not be fun for people. And I think it is actively like not helpful. You don't get a reusable skill on the other side and you hate it. At least you're going to teach them a not reusable skill. Make them excited about something in programming. Like, cool, here's how to make a website. And it wasn't fun.
Starting point is 00:51:18 But at least you can like submit a forum when you're done or something. I don't know. So I do have to admit something, which is that see at MSU, Montana State University, not Michigan. Okay. Yeah. Well, I don't like Michigan State either. So that's fine. I know.
Starting point is 00:51:35 I spit on that thing. I spit on that thing. How many like CEOs of HTMLX right now are hanging on every word you're about to say? Oh, yes. They will. The state of Montana. I have been to his office. I actually know where it's at.
Starting point is 00:51:50 I know I know all about the EPS. Represent the engineering physical science buildings in which also has the computer science librarian. All right. Anyways, I digressed a little bit. But during my time when I started in 2005, Java was the thing they taught. And I, man, I hate to admit this. I was a stellar student. The programming language concepts, I had such a high grade.
Starting point is 00:52:18 They had to throw up mine and then curved to the next one. I got like 170% multiple times on many tests. Okay, I was very, very good at it. Wait, whoa, whoa, 170%. Oh, after the curve. After the, after being thrown off and the new curve shift. me up so far. Damn, son.
Starting point is 00:52:33 I was very, very good at these things. Computer engineering actually going through and doing like addition from a CPU's perspective on integers by hand. I didn't hear what trash said. I'm just kidding.
Starting point is 00:52:46 I said what happened. Oh, what happened? I'm about to tell you. That's what I'm... This is me getting to the shameful part trash. Okay, yeah, go, go. Let me tell the story in a way that is... You know, because you have to tell a story
Starting point is 00:52:57 where people are like, oh, he's just humble breaking, and then I turn it around back on them. Right. Yeah. And he's just bragging, bragging. Yeah. Yes. I only had one class on C and it was kind of like a brief one where it's like, hey, here's how to do a linked list and see. Here's how to do a few things. And it wasn't really like that good. It was more like on the language of C. It was a 100 level class, like just like how to dip your toes into C.
Starting point is 00:53:20 And the thing is, is that after I graduated college, I could talk about keep and stack memory and all these things. But it didn't dawn on me until like a couple years. after college that when I was programming C, that I was writing either to the stack or to the heap, because I never actually learned those things. So even though I aced every single thing
Starting point is 00:53:40 could do addition of a register by hand, I could multiplication, I used to know all that stuff, all the barrel fun stuff. I could do all the things. But I actually had no tying it together to the point where I just, I did not understand it because they never taught C,
Starting point is 00:53:55 I only knew Java. And I do think that that was a great disservice that I wasn't pushed further into that category where you take the theoretics, like actually drawing the squares and then doing these squares in language in a very practical kind of sense. And I really do, I really do feel like I greatly missed out on that because all practical assignments like doing AVL trees and everything were all done in Java. All my stuff was done in Java, except for networking, which was done in C. But again, you're just playing with like, you know, net.h. You're not actually, you're not actually
Starting point is 00:54:27 doing anything other than crafting UDP packets. So it's, it's not quite the same. same thing. And so I do feel like I was certainly robbed. And it, I actually still look back at that as like, what a waste that was. I was learning so many things that I didn't understand how good they were, but I could pass exams. Like I could 100% all of them, but I literally learned of nothing because I didn't have that like the tie, the real tie into everything. And so I look back at that as like a huge failure. And so I do actually agree that I wish more things were in a sense reaching down as you say. Like that makes perfect sense replaying it against my past. I could leak code, yeah.
Starting point is 00:55:03 Yeah, I could leak code like a boss. Like, I was that classic person that could come out and balance a tree, but I have no idea about anything else. Well, and I think that gets to, like, Lurie's like extending downward thing, which is the crucial part, right? It's like, you did learn some C, but you can't, like, they can't just say, oh, here's the C language.
Starting point is 00:55:21 Okay, now you know everything. It's like, no, it's like, the sea language is just what, what really we're saying is it's a framework that makes it easier to teach these concepts that you actually need to know. And again, it's not like you can't teach them their languages. Like, one of the things I did on my substack, right, is I'm like, hey, here's this Python program. it's extremely slow to add numbers together.
Starting point is 00:55:40 And we can show why. Well, okay, we could use Scython to compile that Python to see. You could go reach for Pi Pi or something. But you, like, those are all these steps that now you have to do instead of just, no, we can literally just write in this language without changing anything we're doing. We can just show exactly how to do the thing. from here. It's a very short step, right? And so it's really just about it's a very, it's just very convenient. It happens to hit a nice sweet spot. It's why it's been such an enduring
Starting point is 00:56:06 language. There's so many things written in it. So it's easy to go look at the examples of people doing things like operating systems in it because that's what they write operating systems and blah, blah, blah, blah, blah, right? And so, you know, those languages and the C lineage languages like now successor languages like Russ that are trying to be, you know, see and then some new things without breaking the seiness of them, right? those are they're just easier to do this education i think i think that's just the bottom line and when you if you made me teach the same thing in java it's just going to be harder for me to do that right it's not that i couldn't it's that it becomes just a lot harder to to to uh to do it
Starting point is 00:56:46 because it's the wrong base it's the wrong base layer and you know that's i don't know how to how else to underscore that point and i think that's what might be really hard to do it at all Like I'm not, you know, at least when I was in my 1.6 days, I don't know if you can really disambiguate the stack and the heap. Yeah, like, you knew up an object. I'm not sure if you really understand what's going on there. Yeah, in like Java, I don't know how hard it would be to try to teach someone about like let's, let's change the memory layout of these things, right? You know, and can I disable the garbage collector in some javas? You know, can I go in there and monkey with that stuff? I don't know. but, you know, that would be the kinds of things that I start to have to think about
Starting point is 00:57:25 if I'm going to go, you know, use something like Python or Java, like how am I going to teach those things? Whereas, and see, it's just like, it's just made, you know, the people say like, it doesn't matter anymore because we're not programming out of PDP 11, you know, A, obviously don't know anything about a PDP 11, like they've probably never even read the manual. It had virtual memory.
Starting point is 00:57:44 So I don't know what they're saying, like, in linear address face, like, no, it wasn't, right? Like, it has an address. It has a page table, address translation table. Anyway, so, like, there's weird, weird stuff like that that people think, but it's like, no, it really is.
Starting point is 00:58:00 And even if I want to teach you down to the micro-op level, it's very easy to do that and see. And it's not that easy to do it in other language for a variety of reasons. And so languages like C help. It also just kind of seems like, you know, if our goal, even if the goal isn't to get people a job from,
Starting point is 00:58:20 college or whatever, right? It's just like we want to teach them. Why would we make it harder than it needs to be? Like if it's like, cool, our goal at the end of this semester is that you understand the difference between stack and the heap and how it is managed in real programs, like how it gets used. Cool. That's one of our syllabus goals. Then why are we picking a way that makes that harder to show than it has, like, it just seems, that doesn't even make sense. You should just pick the one that's the best and like with the least number of hops and the least extra things that you need to so you can focus on them actually learning like the primary task, right? Like if we're like, cool, this semester is about memory management,
Starting point is 00:58:57 then let's like teach them that. Let's not spend a bunch of time showing them like, here's sealed classes in Java and why your homework didn't compile because we put this extra keyword here to make sure you couldn't do this and cheat and get the wrong. You know, you're like, awesome. We didn't have to do that. Right.
Starting point is 00:59:13 That's just like wasted time and effort. Well, and I guess, I mean, just to try to address people's concerns, who complain about this. I mean, like, one of the things that I saw mentioned while people were complaining about the Lori Wired interview, I don't know what that thing was, the presentation, was like,
Starting point is 00:59:34 oh, but there's no difference between the stack and the heap, right? Which is true in the sense of like, they are stored in RAM, right? And so I agree with the statement that if you're asking me about, like, is something taking up more space on the heap or the stack or something like that? Like, I mean, you know, there's ways in which that makes sense to say, and I might say it sometimes if someone asked me a question about like that where that was
Starting point is 01:00:05 the correct answer. But to say that there's no difference between the stack and the heap in terms of educating you about what's going on is ridiculous. Because literally, there are a number of things in hardware that are. about the stack. And it's not that they're storing it in some magic thing that's not RAM, right, or something like this. It's not that we're saying that. It's that there really are a bunch of things that are processor specific that have to do with dealing with the stack. And so you do need to understand that difference. So you need to be able to understand like what a push and a pop are. Like that's a thing that is specific to like what is the stack pointer? That's a thing. That's
Starting point is 01:00:49 like in hardware. What is the return address stack? That's in hardware not stored in RAM, by the way. It's in a special thing inside the core, right? And so there's a number of things like that. And if you just fundamentally have no way of understanding what those two things are, that would be really bad. And furthermore, it would be really nice if when you write something in your language, whatever the teaching language is, that it's very direct. So if I have int x and i know that the int is four bytes and that's going to translate into a push four or something like this right that's helpful right these these are help these are helpful things because there's a very short uh path to me showing you what happens versus a very complicated like very
Starting point is 01:01:34 high level language where the it's like i got to trace you through 30 steps to show you how it got to the thing right and so again i just i think people are using they're using irrelevant differences to argue that there's no value, but there, but there is value. Like, the fact that it's stored in RAM, it's not, it's not real. By the way, the stack is stored in the balls. Okay. It's not stored in RAM. That's ridiculous.
Starting point is 01:02:01 Yeah. Yeah. It's in the, it's a secondi stack. Classic stack. Yeah. DJ is not happy. I was really trying to find a way to make a joke about how nobody goes to stack overflow anymore.
Starting point is 01:02:14 And I was more disappointed in myself. in the inability to connect those two things together. Like we don't need the stack anywhere we have chat GPT, but it just didn't connect. So I was more disappointed with myself than you two. Yeah. Okay. Yeah.
Starting point is 01:02:32 Well, I feel like we've kind of touched all things, but trash, I kind of want to get your last thoughts here as we close this bad boy down. Can you give us your last thoughts? And I want you to close down the episode. My last thoughts is, how should I say this? I think these arguments are very tiring and meaningless in most cases. I very much don't enjoy reading them at all.
Starting point is 01:03:00 I do think it's helpful that we are bringing it to light. I do think there is some importance of telling people what they should and should learn. I think ultimately it's going to depend on the person. So even if you were to teach someone and see, it's going to be up to them if they want to take it even deeper. I don't think it's going to be up to the schools that kind of push them to want to learn these things. But in my humble opinion, I think if you want to make it in this day and age of AI, you should really try a lot harder than you're trying now because it's going to be even harder to stand out amongst the rest. So for those that are unemployed watching this, I think
Starting point is 01:03:38 yeah, keep up the good fight and try super duper hard because I can't imagine what it's like to be in your shoes right now. And with the age of AI, I know it's pretty, pretty terrifying. And I know myself, what I'm doing is I'm making sure that I'm still studying because, you know, one day I won't have the job I have now. And Lord knows what I need to know when I have to go back in the interviewing pool. I think it's going to be a completely different ballgame. So I'm actually going down the whole of just like understanding everything at a little level because I think that's the only way I'm going to stand out, to be honest. If you want me to code something, I mean, I just literally type into a text box and it will pop out. So, yeah,
Starting point is 01:04:17 those are my thoughts kind of depressing but that's kind of just how I've been feeling lately I think AI is honestly kind of depressing me if I'm being quite honest and I think the only way I can take those emotions back is to actually challenge myself outside of like the workspace and using AI and just trying to build things for me. That was kind of sad, huh? Yeah. No, dude, that was good. This was an emotional ending.
Starting point is 01:04:46 That was an emotional ending to the thing. Trash, I think we should unpack this a little bit more later, too, because I'm interested to hear more of what you're thinking. Yeah, for sure. We can. We can't. I know many other people feel the same way, so. Yep.
Starting point is 01:05:03 Would you like to also close it out, though, Trash? Thank you for watching the stand-up with the Primogen. I am Trash, featuring legendary programmer, Kisimur Toree and Teige. Right back at you, baby. Thanks. Hey, well, I put Doom inside. of a NeoVim G. Okay.
Starting point is 01:05:21 Try it. Can we stop? Can we get the G out of NeoVimGui? It just looks like text still. It just looks like. Casey, did you see? I did you see. I don't think you realize what you're saying.
Starting point is 01:05:34 Did you see me put a circle? I put a circle in it. But it's just like you're just putting somebody else drawing graphics on top of your text. It's just, it's just. Yeah, all right. Until somebody else was five, six, soul. I don't know, man. We're delusions of grandeur with the neovim people here.
Starting point is 01:05:52 Casey, what can I do to convince you it's a real gwee? I don't know. Have like a lot of images in the graphs happening like next to the code or something. Like give me something I can sink my teeth into, T. TJ, the thing that I told you you need to put into NioVim, that's what he wants to see. Yeah. The thing that you told me to put it in any of them, I wasn't listening probably. What did you tell me to put it?
Starting point is 01:06:13 Yes, you were. We laughed about it this morning. I am very offended that you've already forgot. If you're not spending a million. dollars in tokens. I don't think you're getting... Well, to impress you, Casey, I will. Spend a million dollars in tokens and get
Starting point is 01:06:25 me a NeoVimgoe that actually looks G instead of T in the front of UI. You got it. That's my assignment this week. I'll come back with something next week and I'll present it. All right. Thank you, everybody. Bye. Bye, bye. Boot up the day.
Starting point is 01:06:41 Five cup. Errors on my screen. Terminal coffee. live in the dream

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.