Hacker News new | ask | show | jobs
by kator 4978 days ago
LOL I'm 46 and just got a gig writing in C again and I love it. I stay current, I am fluent in Python, Perl, PHP, C++, Java, Javascript etc. But it has been nice returning to a nice warm pile of C code. Now before everyone piles on to tell me how horrible C is realize this, in our environment we're handling 500,000 queries per second and have under 100ms to complete a round-trip transaction. Yes you can attempt that in Java with 20x the servers. Sometimes you just need good old fashioned low level languages to eek out every penny of low-latency power from your servers. (I can already hear the arguments about Elang, Haskel or whatever is popular this week).

@chmike Personally I still learn very rapidly and when I integrate it with past experience it's very powerful. I make the joke that I'm like a diesel engine, one crank is equal to 10x the lawn mowers some younger programmers are using. That said I love learning new stuff from the younger crowd, I'm convinced they keep me young because they inspire me and I try harder to keep up while sharing with them the mistakes I've made so they hopefully avoid a couple of them! :-)

6 comments

> ... how horrible C is ...

C isn't horrible at all. I'm one of those guys who find beauty in simplicity, so I consider C a very beautiful language. It's simple, efficient and extremely powerful. It's easy to learn but hard to master. All in all it's really all I look for in a programming language.

What I find particularly great about writing C code is that it keeps reminding me that programming is really a craft. I'm exaggerating a bit, but it feels like putting together something step by step, taking care of all the details, much like a clockmaker would, to produce an end result that works really well. Sure, it is probably more demanding than more modern languages but to me it's more rewarding as well.

Glorified PDP-11 assembler or not, C is still how a lot of work gets done… a lot of the work I find the most exciting, personally, where performance is a critical feature and not something to be left to chance. Not to mention all the low-level work that goes into making all these high-level languages run.

It's 7am on a Saturday and I've been up benchmarking and optimizing on my free time. I figure it keeps that part of my mind sharp so it's ready when I need it. And besides, it's actually fun!

"Creator's machismo" and "intellectual exercise" are definitely both reasons I'm at this.

"before everyone piles on to tell me how horrible C"

Well, I wouldn't say its horrible :) I suppose I'm a "kid" here at 25, but I've been programming in c since I really was a kid and I love it. And even though people are always ranting about some other new awesome languge, fact is, if you need to program a driver, or basically do anything thats really os/hardware programming, c is still by far the best choice out there.

Absolutely! The key is staying current and curious. I'm around your age and I've seen a lot of my peers drop out by transitioning to management and/or finding other priorities in life such as family or hobbies.

The one thing I've found I need as I age is to exercise more and more just to keep my energy level up. I can do all-nighters with the youngest of them (but maybe that's genetic because my mom's still doing them too and she's pushing 80), but I pay a horrible price if I get out of shape.

And before someone objects, I actually like the occasional all-night binge hackathon - all things in moderation - I just bring better quality food than pizza and coke these days.

Why C as opposed to C++?

I'd love to know because my current understanding is that C++ has the same performance as C, but includes the STL which prevents you from having to reimplement more convenient data structures that handle memory nicely (like vectors) yourself.

The ability to create classes/objects is nice too and the language doesn't take away any of the freedom you're given in C either.

Am I missing something about it? Is it just more familiarity with the older language that makes it more comfortable?

For the same code, C++ is generally measurably slower. One reason is how exceptions, which are not optional, are handled at run time.

Having written some seriously high-throughput low-latency code in C++, you have to turn on bunches of compile flags (e.g., ignore exceptions) to get the best out of it.

I'm glad you perceived the humor in my comment. Sorry for the bad word.
LOL well if you crave C development there is plenty of room on our team.. :-) I am doing a lot of python too but quite a bit of C and some C++ (glue code for some 3rd party API's mainly for our C stuff)