I'm fifty and full time programmer. What the OP is missing is that while we have much more experience and are thus wiser on some aspect, our brain is much less agile to adapt and learn new things. If we would learn faster, we would also forget faster and loose the power of experience.
Note that the languages will change, but the fundamental concepts and principles remain the same.
@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! :-)
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.
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?
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)
History repeats itself.
Full screen apps, to me are a throw back to the 80's (before Windows and the Mac); and "Cloud Services" sounds awfully like time sharing to me; Centralized access point for distributed data reminds me of running apps on the old mainframes; Time Machine - real time TMS (backing up to tape in real time) - the list goes on and on.
All the kids thinking they invented new ways to share and use data. I feel like I'm knocking on a door reminding them that none of this is new. It's just been re-branded.