3 ms·
Aren't most OS courses taught in C? At least two years ago when I took operating systems (in the US) we had to hack up Linux source in C. Edit: And thinking on
by santaclaus 10y ago
Aren't most OS courses taught in C? At least two years ago when I took operating systems (in the US) we had to hack up Linux source in C.
Edit: And thinking on it our computer graphics course was in C++ (yea yea C != C++).
- acomjean 10y agoMost OS are written in C. Thus to interface to get good use from the OS you use the libraries which are in C.. (To get networking, shared memory, message passing, process scheduling and all that good stuff). I wrote c wrappers for ada, and it was a pain. Much easier to use C (or C++) to get to OS functionality. As long as OS are written in C, it will be with us. Also useful for embedded. see: /usr/include
- jlarocco 10y agoThere's a huge variety in CS programs and you can't really assume anything about the languages they all use. My understanding is that accreditation for CS degree programs is based on concepts, not implementation details like programming language. My OS class (a while ago) used assembly language for a simple VM, with one or two assignments requiring us to modify the VM itself to implement new instructions required for new OS features (task switching, virtual memory, etc.).
- 0xffff2 10y agoA lot of CS programs aren't even accredited. My (highly ranked US university) doesn't have any accreditation for the CS program.
- dagw 10y agoOS (or computer graphics) courses aren't necessarily mandatory for CS degrees. In fact, if I'd put my mind to it, I'm pretty sure I could have gotten a CS degree without too much programming at all by loading up on as many math and theory courses as possible. Personally I did study C via a couple of electrical engineering courses I took.
- duaneb 10y agoAt the same time, understanding the underlying ideas of memory management, process isolation, IPC, IO/CPU sharing is really, really useful for not making silly mistakes.
- dagw 10y agoOh absolutely. My point was mainly that just having a CS degree isn't a guarantee of, well, anything really.
- fgandiya 10y agoWhile we used some C for manipulating kernel stuff, we implemented a lot of the algorithms in Python since it let us do multi threading, multi processing, signals and a couple of others and my college uses a lot of Python...A bit too much Python now that I think about it.
- pfranz 10y agoI've heard many colleges have switched to Python for Comp Sci. I've seen linear algebra and computer graphics courses done in Python, too (including writing a ray tracer). The goal is learn the concept without the language getting in the way. Performance isn't a big concern (with poor performance you can still play with sparse data structures and other optimizations). While I imagine it was good to get familiar with writing C, even assignments for operating systems classes didn't have all of the performance concerns or strict checking that production code would, right? (but C still is probably the best choice for other reasons in an OS class)
- 0xffff2 10y agoMy undergrad OS course was taught in Java shudder. It was a very theory heavy class, and the only code we actually wrote was a toy scheduling algorithm.