The Standup with ThePrimeagen - Your CS Degree Is Teaching You the Wrong Things
Episode Date: September 4, 2026AI 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)
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,
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Great point, trash.
That's true.
Hot dog or hamburger?
Yeah, yeah.
Really?
Yeah.
Completely different meanings there.
Hey, is that H-TDP?
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.
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.
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.
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.
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.
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.
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,
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,
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?
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.
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.
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?
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.
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.
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.
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.
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.
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.
Do you like semi-colons prime?
No.
Okay.
Yes.
I like semi-colons.
What?
I like them.
Why?
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.
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.
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.
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.
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?
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.
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.
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.
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
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.
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.
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.
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
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,
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
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
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
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
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
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,
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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,
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,
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?
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.
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
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.
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.
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.
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.
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.
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
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,
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.
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.
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.
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.
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.
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.
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.
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.
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,
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,
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.
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
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.
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,
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,
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?
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,
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.
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,
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
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
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
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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
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,
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.
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.
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.
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,
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.
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,
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,
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
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.
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.
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?
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,
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?
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.
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.
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
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
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
to perfection.
Yeah.
Right.
Yeah, I think so we did,
like I mean,
like I said,
the first CS class I took
was Python.
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,
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.
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.
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.
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.
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.
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.
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.
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.
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,
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++
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.
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.
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.
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.
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.
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.
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
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.
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
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,
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
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.
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.
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.
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
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
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
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.
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.
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,
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,
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.
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,
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
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
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
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.
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.
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.
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.
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
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,
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.
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.
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.
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.
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.
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?
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
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.
Five cup.
Errors on my screen.
Terminal
coffee.
live in the dream
