Live data from Hacker News

Poll: Do you know C?

news.ycombinator.com

41–50 of 208 posts

Re: Poll: Do you know C?

#41
post #35

Earlier quoted context omitted.

Why write C-with-classes if you can just write C-with-structures-and-function-pointers instead?

What would be the advantage of doing that?

Faster compilation, more flexibility, less dependencies in code base (you don't have to define struct fields in headers), no problems with incompatible ABI, interface that can be directly called from almost any other programing language...

Re: Poll: Do you know C?

#42
My lecturer in my basic introduction to C class once said to me that he had been a professional C programmer for the past 10 years, and still considered himself a C novice.

I think how "knowing C" is defined is key in this question, yes I can write my fair share of C, but I still don't think I could class myself as a C programmer.

Re: Poll: Do you know C?

#43
post #7

As a first reaction I thought, well, more than 50% of HNers fluent with C, the average age should be pretty high probably. But then I realized that actually the average HN age is probably around 25 (from other pools I saw here), so I guess, there are still a lot of fresh programmers learning C. I really hope so. I love higher level programming languages and spent a lot of time with Tcl, Scheme, FORTH, Joy, Ruby, and…

Most people are not learning that anymore. I see most universities moving those courses to choice instead of mandatory courses. When I talk to 'young programmers' it always scares me that most don't even know how a computer works at a low level. Which is reflected by the weird things they try to do with Java etc.

Re: Poll: Do you know C?

#44
I've known some C for long enough, but only recently dived really deep into it, it was Apple and Objective-C that brought back my interest in the language. Writing some forensics and data restore tools as a project to learn the language, progress is slow, but I'm loving it.

One thing I've noticed is how focused you have to be when working with C vs for example python/php - everything is very error prone mostly due to manual memory management. You also need good visualization and some basic math skills.

Re: Poll: Do you know C?

#45
post #7

As a first reaction I thought, well, more than 50% of HNers fluent with C, the average age should be pretty high probably. But then I realized that actually the average HN age is probably around 25 (from other pools I saw here), so I guess, there are still a lot of fresh programmers learning C. I really hope so. I love higher level programming languages and spent a lot of time with Tcl, Scheme, FORTH, Joy, Ruby, and…

Nit-picking time: there's probably a difference between the average age of a HNer and the average age of an HNer that knows C. Conditional probabilities and all that. That being said, I'm an "average age" HNer that has worked with (and loved working with) C. I'm looking for excuses to work with it more, although it doesn't really intersect with my type of work (statistics). Maybe I should contribute to Redis or other…

I think that CLIPS (a tool for building expert systems) needs an update, including a shift to a more Redis-like interface and philosophy. The core of CLIPS is still pretty nice, but the project seems to have grown well beyond its natural borders.

http://clipsrules.sourceforge.net/

Re: Poll: Do you know C?

#46
post #13

C is the language I use when I just want to sit down and enjoy "resonating with the computer". Python, Java etc feel like I am "working", or "cheating" as the case may be in Python. With C you are conscious of the memory of the computer and the lovely datastructures you are forming on top of it and the whole elaborate dance. I hear that Lisp programmers get a similar feeling but I am not close to seeing that yet.

Yeah, writing Lisp is the most detached I ever feel when I'm coding. I have never been able to get into the Zen of it like so many others do.

Re: Poll: Do you know C?

#47
I'm from the "Modern C++" school. I learned C++ without first learning C. I don't consider myself a C programmer. Of course, I can read and write C code, but I would consider it a burden to code without smart pointers, templates and exceptions. How should I answer this poll?

Re: Poll: Do you know C?

#48
post #24
post #7

As a first reaction I thought, well, more than 50% of HNers fluent with C, the average age should be pretty high probably. But then I realized that actually the average HN age is probably around 25 (from other pools I saw here), so I guess, there are still a lot of fresh programmers learning C. I really hope so. I love higher level programming languages and spent a lot of time with Tcl, Scheme, FORTH, Joy, Ruby, and…

I'm 30, and from Googling you seem to be 3 years older than me, but I don't think the use case for learning C has changed all that much over the course of my time as a programmer. Already around '95 or so Perl was widely used, GUIs could be done in things like Tcl/Tk, basic apps were starting to move onto the web, desktop stuff was mostly in C++. You learned C when you wanted to work on things like kernels or databas…

I don't know if you remember, but in 1995, Serious Software was still Not Written in "Scripting Languages". Things like SATAN and HotJava were avant-garde exceptions, and Emacs Lisp was a holdover from another era (and we often used vi instead because it was noticeably faster).

Today, I regularly use an email client written mostly in JS, message boards written entirely in Python, a chat client written in Python, a high-performance file transfer program written in Python, a music player written in C#, system monitoring tools (iotop, htop, dstat) written in Python, a version-control system written in Python, and so on. In 1995, I used an email client written in C, a newsreader written in C talking to a netnews server written in C (although early netnews servers had been partly written in sh, they were rewritten in C for performance), an IRC client written in C, file-transfer programs written in C, music players implemented in hardware, "top" written in C, version-control systems written in C (although, again, the first version of CVS was a shell script), and so on.

I don't think it's true that "basic apps were starting to move onto the web" in 1995. Web sites that were really programs with HTML user interfaces didn't really start to take off until around 1997, by my recollection. I joined eBay's AuctionWeb in 1996, but it was quite unusual (and it was promptly rewritten in, I assume, C++, as eBayISAPI.dll).

GUIs could be done in Tk, or for that matter PowerBuilder or Visual Basic, but that was thought to be "for amateurs". It became technically possible to do this kind of stuff in high-level languages then, but it took a few years for people to notice that.

Post reply on HN