logoalt Hacker News

Beej's Guide to Learning Computer Science

209 pointsby amruthreddilast Sunday at 11:03 AM70 commentsview on HN

Comments

alexchantavytoday at 5:35 AM

> So, while it’s clearly possible to have a career in a lucrative field you dislike, it’s (a) going to be harder for you than for people who like it and (b) maybe you should consider a field that you do like?

> You gotta want it. Do you want it enough to go through the tremendous amount of effort it takes to learn it? Maybe you hate programming, but you want the money enough. Maybe you don’t care about the money, but you want to program every second of the day.

> Just make sure you have the drive to make it happen.

Man this is so true

show 2 replies
maciejzjtoday at 10:33 AM

On a side note, has anyone noticed the disparity of attitude and level of intensity of dialogue when it comes to AI in different HN posts?

Given that there are many threads where 80% act as if AI would cause second coming I suspected that main topic of discussion here would be "is it worth learning CS at all in 2026?". To my (pleasant) surprise the discussion here is much more "normal". Does anyone suspect that some HN posts have a lot of astroturfing from AI-adjacent organisations?

show 4 replies
matt3210today at 4:52 AM

Beej taught me networking in c in the early 00s. He will now teach my son computer science in the 20s. The circle of life.

pygartoday at 4:39 AM

Most reputable CS courses will have one or two math subjects (often called "Discrete Mathematics" or some variation).

Does anyone have any advice on tackling subjects like these for someone who hasn't done any math since high school more than a decade ago (and has forgotten it)?

show 3 replies
woiletoday at 7:06 AM

I did Beej's Guide to Network Programming and it was fantastic, I learnt a lot, and it was easy enough that I was able to do it in Rust. I'm sure this one is as good as all the others.

Point 7.5 of this guide reminds me of the Einstellung effect, I built my own "pomodoro" timer with notifications saying "go stretch" or "go drink water" (https://github.com/reciperium/temporis in case someone is interested)

show 2 replies
liendolucastoday at 11:55 AM

I have used the guide when at college and it was an extremely good read at the time. Learnt so much. I should probably buy a printed copy.

Being that said, at the moment I'm trying to implement a simple non-blocking TLS server in Python with a custom protocol (no external deps, only built-ins) and couldn't find a single guide online that treats the topic. Having read the Python documentation it appears that there are a lot of nuances and pitfalls to correctly implement it. This was my impression after reading the docs, though I could be wrong.

I haven't checked if current Beej's guide covers the topic, in case it doesn't, did anyone embarked in doing this with success?

The Python docs on the topic: https://docs.python.org/3/library/ssl.html#ssl-nonblocking

silisilitoday at 5:36 AM

I feel stupid saying this over and over each time one of his guides pop up, and I know he lurks here, but thanks Beej.

All of his material is absolutely top notch. His guide to network programming was instrumental to both my understanding and career. It often feels like thanks isn't quite enough.

show 2 replies
hahahacorntoday at 4:40 AM

I’ve had Beej’s Guide to C and Beej’s Guide to networking bookmarked for an embarrassing amount of time.

But this is the first guide that I know the material! I have “learned computer science” (somewhat). And I have to say it has propelled Beej’s other guides to the top of my reading list. The subchapters I skimmed and their content are just so relevant and I know many new and experienced devs (myself included) who would still benefit greatly from reading this. Just exceptionally well done.

show 1 reply
bencornialast Sunday at 10:09 PM

I am currently enrolled in a operating systems course where Beej's guide to network programming was invaluable. Highly recommend!

elseweathertoday at 4:29 AM

Beej's guide to network programming is an all-time classic, and I suspect this is the same (even before I've read it thoroughly).

zeeqeengtoday at 4:43 AM

I've had Beej's Guide to C, and I would say it's the best C learning material for myself ever.

Madmallardtoday at 12:56 PM

Takes drastically less effort to get good at programming than other disciplines

Want to be a professional accompanist? Good luck. You better have been taught since you were a child and quickly picked up sight-reading and were good at it for the last 20 years.

stonecharioteeryesterday at 2:20 AM

I started skimming this but it seemed to be more of a learning how to learn CS book. I'm a fan of his other works. This one, I'm not so sure the right folks are going to find it when they need it/ should use it.

Madmallardtoday at 6:29 AM

What does this matter now? It seems like economic collapse and the destruction of value coming out of programming is basically imminent

show 2 replies
imvetritoday at 4:39 AM

Thanks for this !

pmontratoday at 4:59 AM

Well done but is this a guide to Computer Science or to Software Engineering? In a Guide to CS I expected to find information theory, computability, complexity, finite state automa, language grammars etc.

Anyway, the audience is

> Undergrad students just getting into programming

so it's naturally biased toward the engineering part of the subject.

show 2 replies