This is true for most fields, including programming.
Most teams have folks to do the heavy lifting, and a small percentage of folks who talk about it.
The talkers are considered more valuable than the doers, within the organization or without.
These are our thought leaders, influencers, architects, you name it.
I am not complaining, this is a game we are all playing. It took me far too long to recognize it.
In practice, communication is essential. We expect closed feedback loop in our technological systems. Turns out that systems made of humans also need feedback loops.
So I don't know if communicators are treated as "more valuable". Maybe. But it might be fair to treat to treat systems lacking closed feedback loops as missing value. In some cases, they may be borderline useless.
Point being, a great piece of tech needs [1] someone to demonstrate its value. Especially technologies that require many people to maintain them. That's how we close feedback loops in communities and organizations.
[1] OK. Technology-based performance art or side projects are possible. Just don't be shocked if nobody cares and the die off when original creators trade them for other interests.
I am so guilty of this. I spend so much time on here and other platforms just mindlessly consuming and participating in discussions about software engineering, new technology, best practices, etc.. So much so that I basically barely program anymore (except for my job where none of this information is important for irrelevant and complex reasons).
I have ideas and projects I want to work on, but I think my brain has be rewired over my life to the point that I get the sense of reward of finishing something by actually just procrastinating/reading and not working towards whatever goal.
It's like information sugar -- sugars are easiest for the body to convert into energy. The body likes sugar because it can get "what it wants" while expending the least amount of effort. My brain has apparently has implemented the same logic when it comes personal projects.
But since I can't find the money quote right now, and I'm not entirely sure that it was in the screwtape letters rather than some other Lewis book, here's one that addresses an oblique facet of the same paradox:
"the more often he feels without acting, the less he will be able ever to act, and, in the long run, the less he will be able to feel"
I get tired of the “write an app in five minutes” demos. As someone that regularly works on ship apps, I can report that there is a world of difference between academic demos, and something that can be shipped.
I remember my professor using them to try and teach pre-standard C++ and when I pressed him to explain actual use cases I figured out he didn't understand himself.
I have the feeling it was meant as a bridge for lisp programmers moving to class based languages but that may be because we learned lisp first.
Anyways that context is the only place I found value in it.
This. I think the most of the tech industry would benefit from this lesson. If it's beneficial in your situation, use it, otherwise don't.
90% of programming is linear instructions, one after the other. It's not that complicated.
Who in their right mind would sincerely reach for a recursion to solve factorials or Fibonacci first?
Even the maths-minded people would write the sequence bottom-up, and stop when it reached their desired T(n); when programming it, they'd ask for a loop-esque construct that they could stop when a condition was reached.
LMAO, I always failed. Good times.
I'd make the `Tire` class derive the `SteeringWheel` class, and `Tire::turn()` moves the car while `SteeringWheel::turn()` steers the car.
In this case, that's the hackingwithswift blog posts, the hackingwithswift youtube tutorials that follow the blog posts, swiftbysundell, and a number of other independent developers that have fairly lengthy but digestible detailed tutorials on specific APIs; using all of it feels a little like the process of getting a fingerprint registered on a new phone, where you get decent coverage and breadth quickly but then fill in the gaps.
However, I don't think this is unique to WWDC or swift or iOS, it's just that those platforms typically demand only the newest versions of iOS or macOS or even unreleased hardware to get much value out of them, so I can't imagine you'd be implementing them any time shortly-thereafter.
> The academics in computer science have gotten into the "structured programming" rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the example they use to show their particular point of view invariably fit on a single page of some obscure journal or another-- clearly not enough of an example to convince anyone.
So it isn't a new phenomenon.
What's the point of adding multiple layer of classes if your code is still tightly coupled together.