The Start of Another Week
Apr 12, 2010 · 2 minute readIt’s late Sunday night which means this week has already started. But I’m not too worried because so far I’m off to a pretty good start, work-wise. I’m really glad I took the time today to be as productive as possible; I know that this will make getting through the workload this week much easier. The more I read CS, the more interested I become in it.
I got through 100+ pages of the Bryant book (this one), which I’m
pretty proud of, because that stuff is hard. It took me a while to really
understand what was going on and I can’t say I understand it all, but I
get the overarching concepts pretty well. It’s pretty incredible how much
a computer does even when interpreting a simple input from the user or even just
a routine OS exception that a program throws. Reading about all the different
ways a computer maximizes its output while minimizing its time taken, the key
optimizations necessary to let programs run at acceptable speeds; I can’t
help but wonder how these ideas ever first occurred to someone decades ago. Just
to understand what they’re saying, after several levels of
simplification, is a challenge for me. I’ve wondered for a really long
time how the lowest-level interactions between hardware and software are dealt
with. We’ve cringed over how messy such simple C programs that involved
calls to malloc()
and free()
, whereas even these are very high level
compared to how things are actually done. Of course, reading about Knuth’s
contributions to the development of efficient malloc()
implementations (of
first-fit as compared to best-fit) have only served to increase my admiration of
him. It’s magic, what these guys do.