3 ms·
That's precisely my point. There's a handful of guys at Microsoft building this awesome framework. Anyone else interacting with it needs to understand some deta
by lwansbrough 8y ago
That's precisely my point. There's a handful of guys at Microsoft building this awesome framework. Anyone else interacting with it needs to understand some details of the framework but it's mostly abstracted away from them. And those developers can be exceptionally well suited to their jobs without understanding the underlying algorithms that make Orleans work. Calling the algorithm design "foundational" is like saying it's foundational to understand how an intake manifold is designed in order to build a car. You could have the best intake manifold designers in the world and still build a shitty car around it. Foundational programming advice and tutorials should focus on making developers the best at building cars well, and leave the "manifold design" to the 1% who need to do it.
- macspoofing 8y agoI think my issue is an attitude that celebrates ignorance. >Calling the algorithm design "foundational" is like saying it's foundational to understand how an intake manifold is designed in order to build a car. Here's a big picture view, the most talented developers I know have a very good mental model of low level details, and also tend to be pretty good at algorithmic questions. I don't think that's a coincidence. I know that day-to-day programming tends to consist of solving rudimentary problems and worrying more about high-level code organization and architecture rather than micro-optimizations of some function. But it has also been my experience, that even in those cases there will be times when you will run into a problem that will require you to put together an algorithmic solution with a data structure you learned way back in uni that is analogous to the kinds of puzzles you disparage. As a challenge, why don't you try to do one of those puzzles per day for a month - I guarantee you will find value there.
- arvinsim 8y ago> I think my issue is an attitude that celebrates ignorance. I take a different view. It's an attitude that recognizes tradeoffs. In an ideal world with infinite time and no responsibilities, we should learn all of those CS theories in addition to our programming skills. But we don't live in an ideal world. And there is only so much time to devote to learning. Hence, one must choose and prioritize which part of the field to excel at.