Hacker News new | past | comments | ask | show | jobs | submit login

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++).




There'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.).


A lot of CS programs aren't even accredited. My (highly ranked US university) doesn't have any accreditation for the CS program.


Most 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


OS (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.


At 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.


Oh absolutely. My point was mainly that just having a CS degree isn't a guarantee of, well, anything really.


I'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)


While 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.


My 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: