Live data from Hacker News

Cargo cult programming (2020)

blog.bitgloss.ro

41–50 of 50 posts

Re: Cargo cult programming (2020)

#41
Legit Critique:

"This is exactly where cargo cult programming (CCP henceforth – it would have been funny to have another C in there, before the P) stems from."

Cargo Cult Computer Programming CCCP is the joke that's been around longer than I've been programming and I started in '81

You know you're old when there's middle aged people born after the USSR no longer existed. Like when I was young adult in the Army (although not for much longer), the USSR was not a LARP or nostalgia, it was like, an active thing.

Re: Cargo cult programming (2020)

#42
post #31

Earlier quoted context omitted.

It's more accurate to say you depend on the teaching/explaining talent in addition to code talent. Why is that a problem? I've never heard anything as helpful for learning as the Feynman technique: https://fs.blog/2021/02/feynman-learning-technique/ The article's mention of "best practices" rings incredible true. If it's a "best practice" you should be able to easily list a half dozen reasons why. Otherwise you don't…

If you go with physicists, it is said that Landau was kind of bad lecturer. Feynman was good, Landau was bad. But one can't say he did't understand what is going on. "Best practices" should be real and achievable. What you are trying to emphasize sounds like a maximalist bullshit

To the extent physics is objective and observable and computer engineering is subjective and ephemeral, I would argue the relative value of skills as a lecturer/practitioner are almost perfectly inverted in the two disciplines.

Re: Cargo cult programming (2020)

#43
post #35

Cargo culting is basically doing something you don't understand, hoping that it'll accomplish your goals. Following this person's advice to not learn from blogs and articles, and instead only learn from books, sounds like cargo culting to me. The source of the information doesn't matter. What matters is learning new concepts, knowing how to apply them, and understanding the reasons for applying them. You can learn th…

Cargo culting is basically doing something you don't understand, hoping that it'll accomplish your goals. You can see this heavily in the Clojure community, at least in the hn/reddit/slack circles. It gets annoying seeing others think they have some kind of superpower because they use Clojure. I blame Rich Hickey videos since they are heavily in the style of a good salesman.

Its a culture clash.

The Java people have the ISO9000 engineers who are extremely proud of their documented and approved 175 page procedure explaining every detailed step of how its an enormous amount of extra work but technically possible to remove replace and reinstall a 400 Hz power converter.

The Clojure people have the simplicate and add lightness aerospace engineer people who proudly re-engineered the plane's electrical system to not require a 400 Hz power converter anymore, resulting in a lighter, faster, cheaper, more reliable, simpler aircraft. Follow the money... can't sell replacement parts if the plane doesn't use them, so you can guess what corporate thinks of "simplicate and add lightness" designs. Much like in software there's an expanding gap between software people try to sell you vs software you paid to develop for yourself.

The cognitive load on the dev is higher, but its technically possible to write lispy functional style programs in Java if you follow rules about versions and if you drag all the other required complexity of Java into it ... its just simpler to write in Clojure.

Re: Cargo cult programming (2020)

#44

Cargo culting is basically doing something you don't understand, hoping that it'll accomplish your goals. Following this person's advice to not learn from blogs and articles, and instead only learn from books, sounds like cargo culting to me. The source of the information doesn't matter. What matters is learning new concepts, knowing how to apply them, and understanding the reasons for applying them. You can learn th…

You can learn better programming by literally everything — just like you can learn worse programming by literally everything.

Maybe it isn't the case that books work better in making people better programmers, maybe it is the case that those who are more dedicated to learning programming properly, tend to be the same people who grab programming books.

Re: Cargo cult programming (2020)

#45
For me the article reads like something between a bunch of truisms and outright straw man bashing.

I half expected the author to tell me that waterfall is bad[0].

Last but not least, the interesting programs quite often aren't written with perfect knowledge of the domain. You often have to push forward even though the uncertainty is there. "Why did you write it this way?" "Because I didn't know how to write it and I needed to write something to move forward." "Ah-ha! Cargo cult! I am so smart!"

[0] Waterfall is also a bit of a straw man https://ultimatesdlc.com/father-waterfall/

Re: Cargo cult programming (2020)

#47

Cargo culting is basically doing something you don't understand, hoping that it'll accomplish your goals. Following this person's advice to not learn from blogs and articles, and instead only learn from books, sounds like cargo culting to me. The source of the information doesn't matter. What matters is learning new concepts, knowing how to apply them, and understanding the reasons for applying them. You can learn th…

Agreed. According to the article, if I didn't write a factory class with the knowledge that it was described in the GoF book, then I'm cargo culting, regardless of whether I understand its value as a creational pattern or not. If I also wrote that class using TDD and have never read Kent Beck or Bob C. Martin, then I'm also cargo culting.

Re: Cargo cult programming (2020)

#48

Cargo culting is basically doing something you don't understand, hoping that it'll accomplish your goals. Following this person's advice to not learn from blogs and articles, and instead only learn from books, sounds like cargo culting to me. The source of the information doesn't matter. What matters is learning new concepts, knowing how to apply them, and understanding the reasons for applying them. You can learn th…

Book vs Blog is an arbitrary distinction. There are low quality books and extremely high quality blogs, and they both target different readers (blog often serves as an introduction to a subject).

What's funny in tech is corporate cargo culting. You'll see it quite often. Things like "we're a tech company" but there's no distinction between Software Engineering and IT. Or they still see both as a cost center.

Even better, "we're like Google" except they give you a blank stare where you ask about the 20% time, free food, compensation or where they hire from. Turns out it's all bootcamp/local wages no stock, no 20% time. But hey, they have beanbag chairs!

Re: Cargo cult programming (2020)

#49

Earlier quoted context omitted.

I tend to use my commit messages for things like this.

The advantage of having it in a comment vs in a commit message is that the source is immediately available to another developer browsing the code. Otherwise they will have to use git blame (or equivalent) to see why you did it that way.

The advantage of having it in a commit message vs a comment is that there's no chance of the comment just hanging around once it inevitably becomes irrelevant. Once it's irrelevant it's anti-productive to leave it in. Since there is no direct link between a comment and the code it applies to (it could be at the top of the function or class, for example), it's also really easy to forget removing it once it is no longer relevant.

Re: Cargo cult programming (2020)

#50
> Everything is explainable in layman’s terms… if you understand what you explain, that is

IMO that's at the heart. Popper, Feynman, Evans and on and on.

But it's unsexy, it makes the experts look like you and me. Talking greek makes them appear enlightened, however, and will save them questions. What shall the economically thinking expert do, one might ask. So beware of them.

And to the laypersons: Demand comprehensible conversations bare technical jargon but in your domain language. Don't trust in and pay for what you don't truely understand.

The root is, where the money comes from.

Post reply on HN