Live data from Hacker News

Ask HN: Do CS students enjoy C anymore?

news.ycombinator.com

81–90 of 101 posts

Re: Ask HN: Do CS students enjoy C anymore?

#81
I'm a senior CS undergrad at UCSC.

C is used often here in upper divisions for Algorithms, Compilers, and Operating Systems at the very least. I suspect it's used anywhere that theory is deemed very important, because it forces you to understand the theory.

Personally, I don't like coding in it, though I think it's very important to learn in it - it forces you to learn how to do many things at the level of memory management. Learning how to make linked lists in C taught me a lot, for example, and ensuring that my program had no memory leaks also taught me a lot.

On the other hand, this is 2010 and there are programming languages that do memory management for you. Managing memory when you're doing relatively abstract stuff (in most cases) isn't fun OR elegant - it's just tedious. jdietrich talks about this some in another contemporary thread: http://news.ycombinator.com/item?id=1830120

Therefore, I prefer Python - I don't want to program embedded systems.

--

Right now, I'm of the opinion that I ought to be language agnostic. However, I'm also of the opinion that I should know at least two programming languages very well:

I should know one high level language to Get Stuff Done quickly without worrying about tedious stuff like memory management - in these cases, performance is a secondary concern; modern computers are very powerful, and it's much more cost effective to simply write it quickly. Compilers are much better than I am at optimization, and they can do a lot, so why not leave it to them? For this, I've selected Python; I'm working on getting familiar with its many libraries.

I should also know one low-level language for things where performance is critically important, and it's worthwhile to take the extra time to calculate things like that. For this, I'm currently using C, but I plan on switching to Lisp.

Re: Ask HN: Do CS students enjoy C anymore?

#82
Current CMU student here. All students are required to 15-123 (Introduction to C & Unix), 15-213 (Introduction to Systems) and another low level systems course of your choice (which to my knowledge almost all require C and/or x86 assembly).

Re: Ask HN: Do CS students enjoy C anymore?

#84

Many 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 just did the bomb lab. I had a blast (pun intended). We're using that textbook, and I've learned tons this semester. The buffer overflow lab was also a ton of fun. This class takes the cake for the most difficult and fun homework assignments I've ever had.

Re: Ask HN: Do CS students enjoy C anymore?

#85
post #22

Did anyone ever enjoy writing C, especially data structures? Here is what I remember from college: ./program Segmentation fault.

I had fun dealing with input management using the standard library only. Without any directions on how it worked or what to use.

This is something I've forgot in the years I've spent working since University. There is a certain joy in hacking on data structures / input management and finding the exact patterns that will handle all of the error cases you've thought of.

Anyone have any suggestions for priming myself to work on a problem without directions and finding a solution as you go along (exploratory programming)? The closest I've come lately is exploring the node.js API and working out a basic web server with auth, cookies, and some MVC structure.

Re: Ask HN: Do CS students enjoy C anymore?

#86
I'm a very recent graduate and I enjoy using C. C was used in almost every class I took in college. Normally these days I use C++ but I still tend to default to Cesque solutions. It's nice having a language that you can fit in your head all at the same time (or pretty close). If you guys are desperate to hire C programmers I can give you a small tip that pretty much any CS undergrad from UChicago should have learned to like C by graduation.

Re: Ask HN: Do CS students enjoy C anymore?

#87
At my university, C is used when applicable, like graphics or OS courses. Some courses are Java, my compilers course uses C# (you make compiler for a subset of C#, c-flat, as part of course), others use a variety of languages. A lot of guys that are into iPhone development will know C from Objective-C.

C is nice, but you feel the datedness of the standard libraries, some basic operations such as string manipulation and what not is more work and verbosity than it should be.

Re: Ask HN: Do CS students enjoy C anymore?

#88
Apparently most CS is taught in Java and Python these days, with one or two courses in algorithms or operating systems. There seems to be only a few classes where C is involved.

These are bad schools. I'm really not willing to compromise on this statement.

Is this because teachers don't like teaching in C? Or because students prefer the speed of development of a language like Python or Java? Where are the students who do like C? Where can I find those guys (and girls)?

It's because C and systems are inherently hard and cannot be made... not. When your libraries are limitless your programming exercises can be made as trivial as possible.

I also always choose C if companies let me choose my language during interviews. I can fit the entire C language and its libraries into my brain all at once with no reference manuals.

C++? I don't think I could get everything even if I had the specification and Bjarne himself standing next to me.

Re: Ask HN: Do CS students enjoy C anymore?

#89

Many 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…

At Northwestern this course is called "Introduction to Computer Systems." To this day it is the best class I've taken at Northwestern. I guess I'm glad the professor decided to take the course with him when he left CMU.

Re: Ask HN: Do CS students enjoy C anymore?

#90

Come to Virginia Tech. Our entire linux/unix user's group is C crazy, we have a resume CD, and most of us are pretty intelligent people.

When I was a CS undergrad at VT (1998-2000) all CS classes were taught in C++.

Go Hokies! I was there same time.

Anyway to echo a bunch of others' comments, EE and CompE's like C. It's great for embedded work. If you find one of us who prefer programming to building stuff, you will be very happy with our understanding of C. On top of which we tend to like to write efficient code (i.e. fast and/or low memory footprint) because we are used to having K's of memory rather than M's or G's.

Post reply on HN