4 ms·
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 blog
by justin_oaks 5y ago
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 that from anywhere: a book, a blog, a leprechaun, inspiration from above, something written on a cake, etc.
Edit: some of those may be better sources of information than the others, but I think you get my point.
- dgb23 5y agoNext up: why cake driven development is a cargo cult.
- zdragnar 5y agoEvery project starts with CakePHP?
- atoav 5y agoYou 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.
- mcv 5y agoExactly. You can just as easily learn cargo cult programming from a book. Design Patterns anyone? I mean, they're great when applied correctly, but someone looking specifically to apply design patterns will often end up CCPing.
- pankajdoharey 5y agoMy attention span for books is very small i learn better from Blogs, articles and small videos. I have finished very few technical books yet i have learnt a ton of languages only by looking at blogs and docs.
- ithrow 5y agoCargo 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.
- VLM 5y agoIts 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.
- VLM 5y agoI'll try to empathize with the original author by providing an example "from real life" or from my life anyway LOL. Blog posts are too small to provide a lot of information. So in 2021 if you're programming a STM32 you're probably doing something complicated so if its license compatible blah blah etc you're probably/possibly pulling in the whole MBED OS along with include rtos.h and doing everything in separate threads etc. Which is good for real world projects that are complex enough to benefit from a full featured RTOS. But its cargo culting if you're literally blinking a LED for a kids toy or similar level of complexity. The world is full of microcontrollers that do little more than act as timers or do protocol conversion. If you implement a car transmission microcontroller that needs to convert a quadrature motion input to a single canbus thing, if you do it as a raspi with full Debian linux including GUI and 5 layers of middlewear you have seemingly infinite security surface and reliability surface and will never be able to prove its unhackable or even reliable. But if you do a quadrature encoder and canbus interface in, I donno, 50 or so lines of commented C that handle various error conditions and sensor failure conditions, its going to be very easy to prove it works reliably and very difficult if not impossible to hack as one of the 375 microprocessors supposedly installed in every new car. On the other hand the GUI and 5 layers of middlewear might unfortunately be the best way to implement the stereotypically hypercomplicated GUI that new car buyers have come to expect/dread.
- notabothonest 5y agoAgreed. 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.
- 908B64B197 5y agoBook 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!