5 ms·
I like Stepanov, he shows integrity. And I'm ever grateful for his influence on C++. I'm also fairly experienced, having spent the last 30 years or so writing
by codr7 7y ago
I like Stepanov, he shows integrity. And I'm ever grateful for his influence on C++.
I'm also fairly experienced, having spent the last 30 years or so writing code. Every kind of code you can think of in any language. Which means I'm fairly used to juggling abstractions.
But I just couldn't crack this one, I lack the motivation needed to work this elevation for extended periods of time. I need some kind of real-world connection now and then to make sure what I'm learning is at all useful.
I got the book when it just came out, and haven't tried since, but I'm pretty sure the problem persists. I have even less patience with academic abstractionitis these days.
I would be very interested to learn how and why people find the information contained in the book useful.
- kevstev 7y agoAgreed here- was very excited about this book, bought it as soon as I heard of it. Then I opened it, and it was intense. I joined a study group set up by I can't remember exactly who but was fairly "famous" in C++ circles, and while I got through the first few chapters, it was really difficult, and also, really hard to find a use for. Its one of the few books that are sitting on my shelf waiting for the day I give it another go, but I really doubt that day is coming.
- kevstev 7y agoI was interested to see if my memory was correct- the group was set up by David Abrahams. Which then sent me down a rabbit-hole of why has he seemed to have faded from the scene the last few years? It seems he has been working on Swift for Apple since 2013. Its amazing how well gmail works, instantly finding emails from ten years ago.
- mempko 7y agoAfter reading this book, I built a high throughput, multi-threaded processing system in C++ that didn't use any mutex because I was able to define my operations as both commutative and associative. Because I was able to start thinking at that level thanks to this book it led me to a better design of my system. It's worth reading, you will get something out of it! But it is a lot of work!
- _fullpint 7y agoThat's really cool! Do you mind maybe explain how you were able to communicative and associative props to avoid using semaphores/mutex? There seems to be a lot of complaints here about the formality of it all. My preference is usually for more formal literature, just because it tends to lend for a more powerful tool for me. With that said, did you find it to be too formal?
- mempko 7y agothose properties allow you to divide up work on data in a way that guarantees that no two processes will work on the same data at the same time. You can then take data, divide it up, use 'const correctness' in the language to guarantee original data doesn't change and then you don't need a mutex because you know only one thread is working on that piece of data. A typical approach is if you can divide your algo into map/reduce, you can do this. Going back to the properties of you computation allows you to reason how to apply something like map/reduce.
- zerr 7y agoYup. Try his lecture notes for Adobe employees - much more pragmatic and useful approach.
- gdubs 7y agoThis was a tough one for me as well, but I appreciated it as a kind of mind-bending exercise. I plan on checking it out again this year to take another crack at it. As someone who’s largely self taught, I was fascinated by the concepts around modeling the complete input and output space of a program, and being able to fully reason about its correctness. I also liked the elegance of some of the approaches. I guess overall I’d say that it’s a nice way to stretch out of the comfort zone, and think about programming in a different way than a lot of us learned.