I'm a CS student. Do I enjoy C? Yes, I enjoy C much more than C++ or x86. But why would I use C when Python or Java will suffice for most things? Of course, I pulled out C for OS and C++ for graphics and robotics, but most of what I do does not require being this close to the hardware. I find C to be an elegant language. But we have so many other things to worry about, like the algorithms, data structures, security,…
Ask HN: Do CS students enjoy C anymore?
51–60 of 101 posts
Re: Ask HN: Do CS students enjoy C anymore?
#52Also the ECE ("Electrical and Computer Engineering") students here (and probably elsewhere) use a lot of C, so that might be something else to look into, although they're mostly familiar with embedded environments.
Maybe this goes without saying, but no one here (to my knowledge) gets very in-depth into a lot of stuff you might take for granted, for example I haven't met a single student (or many professors) who is familiar with mmap(). There are a lot of really smart students who could probably work out great with a few months of real-world experience and mentoring, but students who could sit down and work on production C code right out of graduation are probably less than 1 in 100.
Re: Ask HN: Do CS students enjoy C anymore?
#53At my univ the introductory programming course is taught using Scheme but there are plenty of course that use C, such as Algorithms and Data Structures and Operating Systems. Hell we even have a course that uses assembly (Computer Architecture). This is all on the undergrad degree.
Re: Ask HN: Do CS students enjoy C anymore?
#54Many universities now offer a course using the Computer Systems: A Programmer's Perspective book ( http://csapp.cs.cmu.edu/index.html ). This is a fantastic book, focusing on nit-picky assembly and C-level work -- all the foundational stuff for an operating systems or compilers class, even if you never go on to one. Having TA'd this class the last few years, I find most students really enjoy it. In fact, I think most…
Re: Ask HN: Do CS students enjoy C anymore?
#55Re: Ask HN: Do CS students enjoy C anymore?
#56Re: Ask HN: Do CS students enjoy C anymore?
#57Computer Engineers love C. We build embedded systems in it, write an RTOS, optimize code for cache coherency, reverse engineer binary bombs, develop for FPGAs. More C means less assembly. We love this stuff.
Re: Ask HN: Do CS students enjoy C anymore?
#58Re: Ask HN: Do CS students enjoy C anymore?
#59Many universities now offer a course using the Computer Systems: A Programmer's Perspective book ( http://csapp.cs.cmu.edu/index.html ). This is a fantastic book, focusing on nit-picky assembly and C-level work -- all the foundational stuff for an operating systems or compilers class, even if you never go on to one. Having TA'd this class the last few years, I find most students really enjoy it. In fact, I think most…
I used that book 5 years ago (2nd year system course). I love it (except the part where it teaches some weird language called HL or something...) I love the bomb lab exercise! LOVE LOVE LOVE LOVE! At my university, we split the book into two courses if I'm not mistaken. We moved away from a typical OS book (Albert S., Andy T., Stalling, type of book) to this. There are side effects though. The MOS, OS Concept, OS Con…
Re: Ask HN: Do CS students enjoy C anymore?
#60Many universities now offer a course using the Computer Systems: A Programmer's Perspective book ( http://csapp.cs.cmu.edu/index.html ). This is a fantastic book, focusing on nit-picky assembly and C-level work -- all the foundational stuff for an operating systems or compilers class, even if you never go on to one. Having TA'd this class the last few years, I find most students really enjoy it. In fact, I think most…
The bomb and buffer overflow labs are probably the most interesting to the HN community, but the shell project is what I consider the most important project in the course. (We have five projects: bomb, buffer overflow, shell, memory allocator, web server.) Our shell assignment is quite a bit different from the original in that we parse the command line for them (putting the commands and pipelines into appropriate data structures), but they have to do everything else, including pipes and I/O redirection.
Email me if anyone is interested in learning more about how we do our course.