Live data from Hacker News

Poll: Do you know C?

news.ycombinator.com

81–90 of 208 posts

Re: Poll: Do you know C?

#81
post #55
post #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?

You don't know C. Coding in C and C++ has diverged significantly enough that they are two completely different languages. That said, answer #3 or #4 makes sense.

What knowledge about C do you think does someone miss when he is using C++?

I have made the experience that a good C++ developer also automatically knows everything about C.

Re: Poll: Do you know C?

#83
Polls != me, ever. I chose the second answer because it is the closest, but....

I haven't really used C in years, but I can start programming in C anytime and get operative, robust (I'm a freak about error handling and knowing where lie the exceptions) code quickly and cleanly.

These days I dabble in Javascript, higher order perl, and am trying to grok Haskell, but I think in C. To my simultaneous benefit and detriment.

The vast bulk of code I was paid to write was /bin/sh - thousands of lines of clean, robust, cross-platform installation and configuration routines, with pipes to awk and sed as required. But I thought in C.

Other than deliberately obfuscated code and kernel programming, I've never met a C program I couldn't grok.

But I don't use C, haven't in years, and don't know it thoroughly. I am not a C guru, nor even close to being a wizard. But I would call C the lingua franca of the computer world, the cleanest, most elegant tool out there.

C wasn't the first language I learned, but it was the first that blew my mind. After years of hacking on various BASICs, then FORTRAN, and Pascal, I encountered C (I have a BSc in Physics; I didn't hit C until after I decided to experiment with CS for a while).

After years of forcing my thinking into the little boxes these other languages insisted on living within, BAM, here was a language that allowed me to escape any box, build better boxes, nest boxes, hide boxes, thermonuclearly destroy anything within 6 gigs of my box, etc., etc., etc.

The sad side note: Scoping was never really an issue with the other languages, they had pretty hard and fast rules. Scoping wasn't all that much different with C, but all of a sudden it became really, really important to understand it, to be able to unwind pointers mentally and really appreciate what was going on.

So for me, C scope was computer scope, all scope was C scope. One of the biggest mental hurdles for me in learning higher order perl was abandoning C scope and automatic dereferencing without global variables.

It took me a while to get my head around how the difference in scope management made class and object variables and memoization so much easier in perl - and in many other languages - than in C.

So I think in C. And sometimes that's good, but other times it is a handicap.

Re: Poll: Do you know C?

#85
I know quite a few high level languages, but C is the main one. It is probably because I work on system software.

One good thing that I figured out is to learn concepts from high level languages and use them in C. I guess lot of people are doing the same.

Re: Poll: Do you know C?

#88
Am using C a lot, from writing device drivers and hacking network protocols to userspace stuff. Yet I can't say I know it thoroughly: there are enough little quirks in the specs.

It is a great little language for sure, still destined to outlive some of the languages that are hip today.

Re: Poll: Do you know C?

#89
post #62

Earlier quoted context omitted.

Jesus, you're reading a lot into this one comment! For all you know kabdib could be Ken Thompson and his manager could be Larry Page.

Yes, that's why I said "Not sure".

Yes, logically, "Not sure it's a good thing," means "It is either a good thing or it is not a good thing." You know, X or not X, and so your ass-covering comment is logically defensible, but come on, you wrote it for a reason. Just say, "Good point," and move on.

Re: Poll: Do you know C?

#90
post #55

Earlier quoted context omitted.

You don't know C. Coding in C and C++ has diverged significantly enough that they are two completely different languages. That said, answer #3 or #4 makes sense.

What knowledge about C do you think does someone miss when he is using C++? I have made the experience that a good C++ developer also automatically knows everything about C.

Au contraire, a modern C++ developer probably knows nothing about C. Good C is like good assembly language: dense and performance-obsessed. No objects, no exceptions, no STL, bare bones and riddled with pointer manipulation and macros.
Post reply on HN