5 ms·
I believe that two things will happen in the 21st century that will have outsized impacts on the economy, both of which are software related. One is that we'll
by InclinedPlane 11y ago
I believe that two things will happen in the 21st century that will have outsized impacts on the economy, both of which are software related.
One is that we'll finally get a leg up on software development. This is more likely to be the result of lots of incremental improvements. We've made huge strides since the '60s, we have tons and tons of tools that we've built and use, but still at the end of the day software development is a crude endeavor. More often than not projects end up with "big ball of mud" architectures. And we lack the fundamental models and terminology to even talk about software design and architecture at a reasonable level most of the time. We have all these tools like TDD, static analysis, and so on, all of which is more or less bolted on to our other tools. And I can't help but be reminded of both the pre-structured programming era and the pre-OOP era, when there was a transition from a kludgy mess of useful components bolted on to existing paradigms that congealed into a cohesive design that became a universal standard. In, say, 30 years programmers will not only have better tools they'll have better techniques, better standards, and better models. They'd be able to look at the software projects of today and go "oh, well, here you have a classic example of X common architecture design anti-pattern, which you can fix using techniques U, V, W, and Z" and so forth. I think that alone will unleash a tremendous amount of potential in the use of computing systems and result in an inflection point in the effectiveness of software development projects.
The other is fully automated and configurable manufacturing. We have almost all of the necessary components in place for that today, but nobody's put them all together yet, but it'll be transformative. Imagine being able to upload a handful of files to some service somewhere and then those files would be used to produce PCBs; mechanical components and structures built from various materials (plastics, metals, composites, etc.) using 3D printing, injection molding, CNC milling, etc; and then having all of that assembled into a final device then shipped off to you. Imagine how that changes the economy we have today, how much it could accelerate innovation, how it could result in un-serviced economic niches finding satisfaction, and so on. Think about how many thousands of kickstarter projects would translate into simply designing something then making use of such a service. Also imagine how much things change if you can have a completely automated factory pumping out parts and goods 24/7. Imagine if you could bootstrap an industrial economy anywhere on Earth, or off, with a few shipping containers of machine tools set up the right way. And then you get into idea like self-replicating factories. Think about how all of this changes the economy into something that we would scarcely recognize today? What if manufacturing an automobile in 2100 was economically equivalent to manufacturing a diecast hot wheels toy today?
- mrqwerty 11y agoI disagree wrt software engineering. I have been a dev for 10 years, so still new. But. I don't think the problem can be solved with better techniques. I think the problem is humans just aren't smart enough to do the work. There is a fundamental limit to how much you can compress certain things. It's called the algorithmic complexity of the thing. Some things are just complicated. Some things are just large and hairy which ever way you turn them, whichever basis you construct. This is why we are spinning our wheels, why the next big architectural technique never lives up to the hype. There comes a point where the complexity of the thing you are trying to construct exceeds the capacity of any network of human beings to construct. I think there is a way to go with tooling, freeing people from the overhead of mundane work, which fractures people thinking time and reduces the complexity of the things that they can hold in their head at any one point in time. But the fundamental limit remains. I think ML is going to be the next big tool set. It will allow us to add layers of perception over the code and allow us to perceive the code and problems in different ways, freeing us to think at a higher level. But the fundamental limit remains. What we need is the ability to not just apply the human mind, with it's 20watts of power, but to open up a multi megawatt power station on the problems. We need genuine AI and I think this should be our main focus, not pissing around with little problems around the edge, not building the next phone app. Every other programmer and scientist in the entire fucking world should be working on AI.
- technomancy 11y ago> I think the problem is humans just aren't smart enough to do the work. I think this is true if you define "the work" as building on top of the infrastructure we have today. I believe we're capable of building conceptually clean, non-ball-of-mud architectures, but the need to interoperate with piles and piles of legacy systems forces compromises into the design. Just look at a typical web application stack; you've got layers and layers of cruft, and nobody is able to pull off a bold move that tears layers off; the best we can do is add more layers on the top.
- verbin217 11y agoUsing express in nodejs versus php jerry-rigged into apache is sort of an instance of what you're describing.