4 ms·
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 n
by kator 14y 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! :-)
- jfaucett 14y ago"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.
- LnxPrgr3 14y agoGlorified 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.
- chmike 14y agoI'm glad you perceived the humor in my comment. Sorry for the bad word.
- kator 14y agoLOL 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)
- tsahyt 14y ago> ... 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.
- fossuser 14y agoWhy 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?
- wglb 14y agoFor 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.
- ibisum 14y ago""Am I missing something about it? Is it just more familiarity with the older language that makes it more comfortable?"" Yes, I would say - you did miss something. C++ does come with the STL, and "saves you" from having to bring-your-own/be responsible for a package of well-tested basics, it is true. But, then again, if you have been coding C long enough, probably there is a lot of code you've got in your suite that represents powers beyond the STL. I've got a small hashlib/assoc-array header or two which, fundamentally, has been all I've needed to write performant code on whatever subject my applications are addressing. I agree that there should be a 'layer' by which programmers are protected from systems-level thinking, but then again I think in this day and age, it is a good thing to delete cruft, effective C management (i.e. you know your libs because you also wrote them, and so on..) allows for very nicely maintainable code. Even in this day and age of "point phone at t-shirt to install web 2.x.x" style deployment, I am glad to have good C chops. Still.
- varelse 14y agoAbsolutely! 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.
- ibisum 14y ago42 here, checking in, also been recently able to support myself quite well with the good ol' C chops, for some reason its just still quite a good way to get things done, even in the floaty-boaty layers of the FOSS/newlang bleeding edge hegemony/cultural-psychosis, underneath a lot of it, if not nearly all, is still some C-lib being faithfully hammered on. Love that.