5 ms·
Thanks, I wrote this! It was a bit of a different time, when docbook was the way to publish, when Itanium was the 64-bit architecture, things like go and rust
by delsarto 10y ago
Thanks, I wrote this!
It was a bit of a different time, when docbook was the way to publish, when Itanium was the 64-bit architecture, things like go and rust didn't exist and we used bitkeeper. But most of it is still relevant, and despite acquiring 2 kids since I started still have some ideas.
Yes yes, it's not Alan Turing-esque computer science. I have taught algorithms and data structures courses as well as operating systems courses to "computer science" students and this is more the second obviously. You gotta know both!
All I can say is that being a professional now for some time, anyone who knows this stuff is welcome in my team, no matter if we're bit banging hardware or writing JavaScript. When you have some concept of what's happing underneath, you write better code and, more importantly, are a better debugger.
I'm mostly cloud-y devops-y these days ... But when your CI triggers a kernel panic or a crash in some low level libray, it's nice to be able to go digging and send a patch upstream to fix it :)
- ivoras 10y agoJust as idle inquiry about the "CS" term, do you think the name "Computer science" would still apply (and did it always apply) to things such as CPU and OS architectures, the toolchain, etc - basically the subject of your e-book? I am under the impression that there's a distinction between "Computer Science", which is algorithm and data structure design and analysis, and "Computer Engineering" which is basically everything else, from the hardware level up. Or is this mostly a European distinction? Because my friends who do "real CS" at various universities generally avoid anything which has to do with hardware and practical operating systems, and are basically mathematicians working on problems relatable to computers - their language of choice is TeX, not C. More like Turing instead of Torvalds.
- 60654 10y agoI'm not the OP, but have spent more than my share in CS departments in the US. :) I think it's more of a EU/US distinction. In the US, CS departments typically include both the theory (of computation, algorithms, data structures, complexity, etc) as well as a healthy dose of applied CS, which then divides up into: systems (operating systems, networking, etc), applications (scientific computing, AI, etc), interfaces (graphics, HCI, etc) and a number of other ones depending on the department. This topic definitely fits into intro-level material in a systems division of a CS department in the US. In comparison, US "computer engineering" tends to include much more emphasis on the hardware (including CPU design, circuits design, etc) and overlaps with CS in low-level aspects of systems. How about it?
- zodiac 10y agoNot the OP, but from skimming the ToC, about 90% of the topics covered are taught in undegrad courses required for graduation for my CS degree. > Because my friends who do "real CS" at various universities generally avoid anything which has to do with hardware and practical operating systems, and are basically mathematicians working on problems relatable to computers Are they in grad school / doing research? Maybe they're just specializing in those areas (I think it's called theoretical CS).
- continuational 10y agoIn Denmark, or at least on University of Copenhagen, it's a mixture. Many courses introduce the math and the programming paradigm together, and have exercises in both. I think that works out well, as it you can see how to apply the theory in practice as you learn it.
- MartijnHoutman 10y agoI studied CS at Utrecht University in the Netherlands, and there the 'C' stood for 'computational' or 'computing' science, which always made sense to me. I still know very little about how a computer works on a hardware/low level, but I do know about how the calculations are being done from a higher level.
- kj01a 10y agoI've been looking for something like this for awhile now. I'm a very 'bottom-up' learner. Thank you.
- jdhendrickson 10y agoIt's not often you brush up against someone whose work you read and enjoyed. Thanks for what you wrote. It helped me become a better programmer.