|
From the CP newsletter
Somewhere along the way we forgot about software craftsmanship[^]
Summary of complaining about now how programming is somehow different and worse than at some undefined point in the past.
"Unfortunately, "impact" is almost always measured by what features you shipped rather than considering the impact your code had on the long-term maintainability of the codebase."
I used to read studies all the time targeting process control. So one or more studies that I saw before the year 2000.
First a study that demonstrated that 'code reuse' which everyone thought was the thing to do wasn't actually used (you know in actual code) unless there was real measured processes put into place. So when developers got paid directly for code reuse or when their annual reviews (tied to raises) measured that then developers used it. Then it was used.
Otherwise it wasn't.
Second a study (or several) showed that formal processes were not followed unless a senior level executive, often 'C' level, required that it be measured and enforced. Again tied to annual reviews.
"you're likely to be in an Agile™ environment in which you get overloaded with tasks."
That of course must be a joke.
Start date of Agile was 2001.
The book from Edward Yourdon called "Death March" with a copyright date of 1997 addressed that specific issue. An entire book on it.
"Regardless, we're hardly ever shipping out a physical CD where we have to be damn well sure the software works. We can afford to "move fast and break things.""
Not sure what that is actually complaining about.
There are a lot of systems right now where that is not acceptable.
Same is true in the past as well.
There are processes that one can implement to mitigate problems. Very difficult processes to set up and maintain. And suitable only to enterprises with very large infrastructure laydowns.
(I agree with the O'Reilly book "Building Microservices" that states that a start up with a new paradigm is going to create nothing but maintenance problems down the road if they start up by immediately attempting microservices.)
"I feel like it's been forever since I had a conversation about craftsmanship on the job."
Sounds like a good thing.
The discussions like that I have seen usually (perhaps always) reflected nothing but a subjective opinion often based on nothing more than one single document (book or online post) that the person read.
Such discussions sometimes include hand waving references to other types of engineering disciplines especially civil engineering. But often (again perhaps always) no idea why certain parts in that works well for that discipline and definitely without understanding that those other disciplines have significant and notable failures as well.
There is no better demonstration of this than claims that code layout itself (tabs, braces, variable naming) have any impact at all on maintenance costs. Not to mention that the person arguing this doesn't even state that the cost is the only relevant part of the discussion.
|
|
|
|
|
Things were better in the past.
The Clipper age was the golden age of programming, according to my father.
VB6 was the pinnacle of programming according to a slightly younger coworker and friend of his (who retired last year).
I've seen their VB.NET code and I'm pretty sure they sucked at Clipper and VB6 as well.
I started out on WinForms and VB.NET with .NET 3.5 and soon migrated to .NET 4.0.
So obviously, there hasn't been a better tool than that! (Seriously though, designing a simple WinForms app was so much easier than web with the simple drag and drop interface.)
My point, old folks are going to bitch about the present and reminiscence about the past.
Apparently, because our brains are wired to forget the bad stuff and elevate the good stuff.
Of course it's better now, we can do everything we could and a lot more at that.
Problems were fixed, new problems arose, which were also fixed, which caused new problems, which we are fixing now.
That is simply the way of things.
But people forget the problems of the past and only see the problems now.
Or just aren't as familiar with current technology, making it seem daunting and/or unnecessary.
And perhaps because we have so many options now, we also have many problems and challenges.
And with that said, cheers to the good old days!
|
|
|
|
|
Sander Rossel wrote: The Clipper age
The age of SAIL?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
|
Sander Rossel wrote: My point, old folks are going to bitch about the present and reminiscence about the past ... Of course it's better now, we can do everything we could and a lot more at that.
Of course you will be old one day ...
|
|
|
|
|
Heck, I already am!
I'm always going on about the good old days (and I'm only 36)!
|
|
|
|
|
I'm glad I waited to respond, because @sanderrossel covered everything I had on my mind, probably better than I could have.
I owned a copy of "Death March" back when I was dealing with those things on a regular basis - (I was doing "project rescue - being hired out to get projects back on track about 6 months after they should have done something about the morale in the place). It was soul crushing work, and a big part of the reason I left the field for a time.
I confess that aside from skimming here and there I didn't really read it. It was given to me, but it struck me as depressing and I didn't need more of that in my day job.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I'm currently dealing with Microsoft support.
It's taking three weeks to reset a password, which now can't be done, so we're going at it another way needing a signed letter, my driver's license and whatnot...
Could use some morale and rescue
|
|
|
|
|
Oh let me tell you what my job really was, from the perspective of the people hiring me:
"Well, we screwed up now. The senior half the development team quit, the project is over budget, and we've got a board meeting to prepare for. What now?"
"I know an outfit we can hire. They'll fix this, and when they can't, we can just blame them and the developers"
"Cool. Now who gets to fire the rest of the dev team?"
"That's the best part - they'll do it. Let me give these guys a call"
And then I'd be flown in.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: "Cool. Now who gets to fire the rest of the dev team?"
"That's the best part - they'll do it. Let me give these guys a call"
And then I'd be flown in. I need you to fly over to the Microsoft support team. NOW!
|
|
|
|
|
I miss the good old days of: "copy con"
Big move up from the bit switches.
That is when coders were real coders, not whiners. We didn't even have CP!
>64
There is never enough time to do it right, but there is enough time to do it over.
|
|
|
|
|
The first “virtual” computer thingy I used simulated a deck of punch cards.
Line editors over threw the punch cards.
|
|
|
|
|
Time marches in one direction. Code rusts.
A long time ago I created a facility in which you could describe unmanaged standard C style API calls such that my code could create and implement an IDispatch interface around those functions, allowing them to be called from scripting languages like VBScript and JScript, as well as being callable from languages like VB (pre.NET) and VBA.
It was pretty neat. Then .NET came, and now anyone can do it with [DllImport]
I actually felt a keen sense of loss with the advancement of .NET, because I spent a lot of effort making that work.
I have mountains of code that's simply obsolete now. There are very few "classics" in software, and even fewer restorations of said classics.
It really makes me wonder what *is* the actual shelf life of the things that I create, and how long will they survive once I'm on the wrong side of the dirt?
Maybe I should have gone into metal fabrication.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: Maybe I should have gone into metal fabrication.
Metal rusts. Mostly.
|
|
|
|
|
Yeah, it does. And you might be surprised by the lengths people will go through to preserve or restore a nice example of say, a classic and/or custom car. I see no such effort in software, outside of the retrogamer nerds.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
The lack of source code is likely an obstacle here, as the alternative is emulation (WIN16 or whatever). It's interesting that the original ADVENT (PDP-10 FORTRAN) is still available, though I suspect it's been transliterated.
|
|
|
|
|
What's the point? We are all going to be ruled by AI anyway
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
honey the codewitch wrote: because I spent a lot of effort making that work.
You can still spend time if you want. Writing a hot pluggable in C# is fun.
honey the codewitch wrote: and how long will they survive once I'm on the wrong side of the dirt?
Err...well that really doesn't matter does it?
|
|
|
|
|
Maybe it shouldn't but it does to me sometimes.
I don't have kids. Legacy is the only thing I'll leave behind.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Ditto
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
It may be obsolete now, but it sounds like it was cutting edge at the time.
The Ford Model T was once leading edge!
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
The primary difference between that code and a model T today is the model t is a desirable item.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
The Model T can still be driven on today's roads (albeit not on the Motorway/Freeway/Autobahn). How much IBM 5040 software can run on modern hardware? And how much of it would you want to run, even if it were translated perfectly?
Progress in computer technology within the last 50 years has been astounding. Based on clock speed alone, our processors are more than 5,000 times more powerful than they were in the '70s, and that's not taking into account the increased power provided by many instructions, multi-threading, etc. The Model T has a top speed of (shall we say) 50 kph. To match the increase in speed in computers, a modern car would have to do 250,000 kph*, IOW circle the Earth every 10 minutes! How many people, having access to a car like that, would take interest in a Model T?
* Don't bother me with Physics; I know that is well over escape velocity.
EDIT: replaced mph with kph.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
modified 7-Feb-24 16:56pm.
|
|
|
|
|
I happened to see a real Model T at a car show a few years ago, and the owner told me that the engine makes 12 horsepower.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
They're actually a really affordable collector car because Ford sold so many of them. You can find them anywhere.
Unfortunately it means they're not worth a whole lot even given their age.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|