Definately old school – but coming at it from a bit different perspective than many. I have obvious mental blocks that seem to prevent me from even grasping how visual programming works for example – and my solutions to problems are typically different from what everyone else comes up with.
I think a lot of that comes from how I learned – I learned machine language on a Cosmac Elf before I ever even heard the term “assembler”… and while the first ‘high level’ language I ever used was BASIC on a Trash-80 Model 1, I never really did anything useful there and learned “real” programming from the Penguin. No, not that Penguin – Ever watch the Blues Brothers? The Catholic Nun that taught my heathen hebe tuchas how to program was a dead ringer, right down to the METAL yardstick. A lot of my code formatting habits were formed way back then – “INDENT” THWACK “DE-INDENT!” THWACK – I think a lot of these kids today could stand to go through that.
I’ve been programming for about 14 years now, even though I’m only 24. I definitely consider myself a new school programmer. I never used punch cards or anything like that.
Only the ones who fall behind… As I’ve said for twenty years, the day you think you’re done learning is the day the rest of the world leaves you behind. I mean I’ve gone from raw machine language to ROM Basic, to actually having an assembler, to Modula, then C, over to DiBol, Fortran, Pascal, Javascript and then PHP as the languages I use… Languages I’ve TRIED include Perl, LISP, Ruby… and I’ve rejected a lot of those as unsuited to my purposes or just outright inefficient or nonsensical.
A lot of times I don’t think it’s so much being stuck in your ways, as recognizing that many of these “newer” languages are little more than sick fads or worse, trips backwards in the time machine to other failed languages. Ruby for example I tried, and rejected outright; I’ve not seen a language that needlessly convoluted since Prolog… Frankly IMHO if it wasn’t for RAILS, Ruby would have remained the stillborn also-ran nobody gave a flying fig about that it was it’s first DECADE of existance. To me Ruby is a ugly language who’s structural rules are more prone to cause errors than prevent them… But then I have a dislike for untyped languages, case sensitive languages, languages where case changes scope, or just the needlessly convoluted handling of repeat/while type loops… and people find this “easier”?!? I’ve already learned a grossly inefficient and error inflicting interpreted language in the form of PHP – why would I want to use one that’s WORSE?
I don’t know if that’s actually being a stick in the mud, or simply rejecting something because it sucks compared to what I already have.
Again though, are they resisting change, or resisting bad ideas? People who’ve been at it longer are usually more qualified to say “this is a REALLY bad idea”… It also depends on the task – I know lots of yung-uns from the 2600 club that wouldn’t “shtup the cloud with Jack Thompson’s Internet connection”… ENTIRELY for security concerns. On the other hand, I know a lot of older programmers who’ve been pushing for distributed computing for decades and are jumping up and down for joy over it finally being a reality. After all, that was part of the original purpose of the precursor to the Internet; DARPANet – sharing computer resources.
A lot of it is also “the right tool for the right job” – I’ve seen old and new programmers fall into that; “What do you mean I shouldn’t use javascript for that” ranks right up there with “what do you mean I shouldn’t write an entire application in BASH?”. Programmers of all levels of experience fall into that trap from time to time – you learn a new language, think it’s neat – then try to shoe-horn it into being the solution to every problem. See the people who use jquery to change a link to red on hover, or the people who try to write web applications using Visual Basic.
Experience – taking the time to FIND those little mistakes often costs more – having to go back to fix those mistakes costs WAY more and results in basically getting egg on your face. That’s what I said above about common practices many new to coding often say “I don’t need to do that”, “what’s the point”, etc… Especially simple things like consistent formatting and verbose names – when you hear someone call that “arbitrary formatting” you can usually rely on said individual having ten times as many errors…
… and frankly, old school programmers tend to LOOK like they’re going slower, but like the tortouise and the hare they tend to get there faster with a better result. The people who vomit up code any old way (gray matter or greenhorn) usually end up spending so much longer debugging it’s a miracle they ever produce anything useful – and if they do it usually ends up costing a hell of a lot more in the long term.
Though I think that’s really what it comes down to in a lot of ways – the flashy “here and now” vs. the “yeah, but what’s it going to cost us in the long run”. ANYONE can barf up something flashy, have people go “wow” and then have the work fade into obscurity in a month or two… It takes time, effort, concentration, talent and planning to build something that has decade-plus long runs of success. Basically, if you’ve never heard of the band T-Rex…
But that’s reflected across all of society these days. As Peter Schiff said we’ve gone from a nation of savers to a nation of debters, and the whole world is going that route on credit. “I want it NOW, who cares if I have to file for bankrupcy next year or spend a third of my income in interest payments” has become something of a rally cry… That President Odumba actually called credit “the lifeblood of the economy” is such a perfect example of people’s ignorance of what’s really tanking the economy… I lack the words in polite company.
Across the board we’re seeing that – “I want it flashy and now, who cares about the long term costs”. You’d almost think we were back running on Reaganomics… at which point somebody get me two Manhattans, a key of coke, and dust off my power suit.