<story><title>C for Python programmers (2011)</title><url>http://www.toves.org/books/cpy/</url></story><parent_chain><item><author>santaclaus</author><text>Aren&amp;#x27;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.&lt;p&gt;Edit: And thinking on it our computer graphics course was in C++ (yea yea C != C++).</text></item><item><author>0xffff2</author><text>I think it&amp;#x27;s largely the opposite for current students. My university&amp;#x27;s CS program is taught entirely using Python and other higher level languages. CS students here don&amp;#x27;t have to learn C at all anymore; if you want to learn C here, you have to get a Computer Engineering degree.</text></item><item><author>Declanomous</author><text>I agree. My computer science classes were taught almost entirely in C. Learning C-like languages is pretty easy, but I constantly feel like I&amp;#x27;m using Python incorrectly. I feel like I&amp;#x27;m trying to take what is elegant in C and implement it in Python, even though what is elegant in Python is very different.</text></item><item><author>jstimpfle</author><text>&amp;quot;Python for C programmers&amp;quot; would probably make much more sense (following &amp;quot;C for Assembly programmers&amp;quot;).</text></item></parent_chain><comment><author>jlarocco</author><text>There&amp;#x27;s a huge variety in CS programs and you can&amp;#x27;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.&lt;p&gt;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.).</text></comment>
<story><title>C for Python programmers (2011)</title><url>http://www.toves.org/books/cpy/</url></story><parent_chain><item><author>santaclaus</author><text>Aren&amp;#x27;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.&lt;p&gt;Edit: And thinking on it our computer graphics course was in C++ (yea yea C != C++).</text></item><item><author>0xffff2</author><text>I think it&amp;#x27;s largely the opposite for current students. My university&amp;#x27;s CS program is taught entirely using Python and other higher level languages. CS students here don&amp;#x27;t have to learn C at all anymore; if you want to learn C here, you have to get a Computer Engineering degree.</text></item><item><author>Declanomous</author><text>I agree. My computer science classes were taught almost entirely in C. Learning C-like languages is pretty easy, but I constantly feel like I&amp;#x27;m using Python incorrectly. I feel like I&amp;#x27;m trying to take what is elegant in C and implement it in Python, even though what is elegant in Python is very different.</text></item><item><author>jstimpfle</author><text>&amp;quot;Python for C programmers&amp;quot; would probably make much more sense (following &amp;quot;C for Assembly programmers&amp;quot;).</text></item></parent_chain><comment><author>acomjean</author><text>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).&lt;p&gt;I wrote c wrappers for ada, and it was a pain. Much easier to use C (or C++) to get to OS functionality.&lt;p&gt;As long as OS are written in C, it will be with us. Also useful for embedded.&lt;p&gt;see:
&amp;#x2F;usr&amp;#x2F;include</text></comment>