Live data from Hacker News

Ask HN: Do CS students enjoy C anymore?

news.ycombinator.com

1–10 of 101 posts

Ask HN: Do CS students enjoy C anymore?

#1
We hire C developers at OpenDNS. Most often, we hire them from some other company where they have been working for the better part of a decade.

They are computer scientists and they are very smart.

But we also like to hire students graduating from college. It's rare for us to find a CS graduate who knows C, let alone one who enjoys writing in C.

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.

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)?

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

#2
I enjoy it and I graduated less than a year ago, though I am an EE, not CS grad. Perhaps look at the CE/EE crowd a bit more in depth. Where I went to school (large Big-10 engineering program), we were required at least one C course, with more as electives.

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

#3
It's been a long time since it had a large role in CS curricula outside of operating systems / embedded stuff, I think. The intro classes when I was a freshman (2000) were transitioning to Java, but from Pascal, not C. The industry-focused classes (software engineering, etc.) all used C++.

I think I would personally have disliked C if college were my first introduction to it, because I associated it with curmudgeonly systems professors and a sort of harder-core-than-thou attitude. But for some odd reason I had already learned C in high school (I think I picked it randomly), and it's a perfectly enjoyable language to use, without the cultural baggage. You can even write things other than schedulers in it!

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

#4
I carry around my copy of K&R like it's my bible. Learning C really opened up programming in general for me. I love it. Here at school though, we're never required to write pure C code. We learn C++ (as it's own class! Yuck.) and use it for data structures, but other than that it's not required anywhere either. It's all Java and Python, and most people here can't be bothered to learn a new language. I've probably got more to learn about C before I'm at the level of the people you hire, but if you think you might be hiring in May, I'll be graduating soon! ;)

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

#5
I am a CS student in my last semester and in my operating systems class we have been required to do all of our assignments in C, we also are targeting minix. This has really given me a love for C and made me much more comfortable with programming in any language. C skills are a must!

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

#6
There are some people that enjoy being tied up and whipped too, and those who wear "hair-shirts" to show that they are noble for all their suffering.

More than enjoying C as a language, you should find people who can identify when it is, or is not, the correct tool for the job. If you hire people solely because they enjoy C, you may find that "when all you have is a hammer, everything looks like a nail".

Putting my money where my mouth is, I have written more C++ in the last month than during the previous decade, because I am doing a lot of node.js work. I am writing code in C++ that speeds up or makes possible the things I want to do in Node. Nothing more.

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

#7
Some Universities require more classes in C than others. You could go to the course listings of Universities you might like to recruit from and go after graduates from those programs.

With one decent CS school that I am aware of, the University of Maryland used to require (until last semester or so) all CS graduates to take two lower level classes which are taught in C (with some asm). Now it is just one course. I don't know whether or not students enjoyed it, though I think it is unfortunate that they are dropping one of the two courses (actually combining both into one course.)

I think part of why there is this move away from C is some students (rightfully) complain that they may never need to explicitly use it, and Universities figure they can teach the concepts with other languages. I believe that lower level languages should be taught, but I understand why not everyone agrees with me.

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

#8
I just had an submission hit the front page the other day where I explained how moving from PHP/Apache to C saved my bacon. I'm 26 and have not been out of school that long.

I would look for schools who start their students in C or even C++ right off the bat. I know some people who took intro to programming in Java and would never learn C now, not sure why.

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

#9
I've written a bunch of PHP, Perl, SQL stuff, but always down-shift into C or C++ (mostly C though) when performance or command-line tools need to be efficient. I wrote a multi-threadded crawler in C because using perl or shell scripts wrapped with xargs is not very efficient. I love working with C mainly because I grew up writing C code and I find it very convenient. I have a favorite debugger. I love using linked lists. I think that constructing a complex in-memory data structure to make a program run efficiently is an art form. Also, I believe that using BerkeleyDB is also a much better option for a database from a programming aspect. BerkeleyDB (like C) has been around for ever, it's fast, it has low-overhead, and it does things just as good as any other key/value database (if not better because it's so mature). Using older, more proven technologies is slowly becoming my overall programming philosophy. I'm not a new graduate, but I still feel that these methodologies are much better in many circumstances than the newer tools that are all the rage when performance and reliability are an issue. Sometimes, I even re-code regexps using pcre in C to make them fast if they're a bottleneck so I can squeeze some more performance out of my code. When I'm prototyping something, I still revert back to perl or php though - they're great for quick and dirty tasks still.

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

#10
The Software Engineering program at the University of Waterloo (where I did my undergrad and am currently doing my masters). One of their first-term courses (CS 137) is in C. They used to have Java, but apparently the powers that be decided C was a better language to get started with. Although for your real question - where to find a graduate who enjoys writing in C - I don't have a general answer. I know that personally I enjoy writing clean C more than most languages.
Post reply on HN