2 ms·
I'm pretty sure this is only because the current state of the art for software development is too hard, too risky and too inefficient. Algorithmic and structur
by lotyrin 10y ago
I'm pretty sure this is only because the current state of the art for software development is too hard, too risky and too inefficient.
Algorithmic and structural thinking are achievable by anyone. Most people just aren't willing to deal with arguing with a machine about what you mean (syntax), dealing with the accidental complexity and risks that modern languages and runtimes thrust upon you (memory management, declaring types, distributed consistency, persistence not being baked in, caring about where on the network your app "really runs"), and how much work it takes to go from a simple formula, some data and some money to a result.
If I am a scientist with a megabyte of numbers, a trivial map function (x^2) and a reduce function (x+x'), how many steps does it take and how many concepts do I have to learn and how long would it take me to run it? What if it's a gigabyte? How about a terabyte? A petabyte? A constant stream? What if my numbers are "weird" to computer science people like being bigger than a 64bit int or being n-dimensional arbitrary-precision vectors? Depending on these answers, why the hell are the steps and concepts I have to learn widely different? This is like the simplest problem to solve, and we just haven't. Software is solving problems it has invented for itself and failed both other disciplines and the layperson.