Hacker News new | ask | show | jobs
by jacques_chester 4750 days ago
You can have adaptation or adaptiveness, but not both. Either a system is well-fitted to a purpose and needs professional intervention to change, or it is permissive and undemanding and can be turned to any purpose and do it poorly.

Life is full of tradeoffs. Sometimes the general, permissive loosey-goosey system is what you want. Sometimes it isn't. It takes judgement to decide which is which and when to switch.

1 comments

True genius lies in the unification and outright rejection of those tradeoffs.

I believe it is possible. I don't think anyone has quite come up with how, yet.

It's the simplicity on the other side of complexity. It's the next frontier. We may yet reach it.

Every time I point out that there are irreducible tradeoffs in life, somebody tells me in a hand-wavy way that some genius is all that is required to overcome it.

Einstein can't travel faster than light, Maxwell can't reverse entropy and I can't change that different people are good at different things.

Optimism is the grease of evolution and economics. Without lots of people exploring fruitless plains of minima we'd never find unexpected maxima. But almost all who try will fail and those who work with the known good maxima will probably succeed.

Convergence vs coverage -- another irreducible tradeoff.

Hey man, I'm a zen buddhist, I know about the balance and the tradeoffs.

I'm also a realistic optimist, and you're right, it's necessary but often fruitless. But the way I see it, we're headed in that direction pretty surely. Ten years ago we couldn't imagine software doing anything different from Excel, and Excel (or, er, Lotus 123) was the most powerful way to solve any problem, and they were indeed amazing. But they have this problem of being unstructured. Now we have Rails and other frameworks that make it easier to make custom logic to solve problems in specific controlled ways. They're making it easy to let programmers specify how a tool works. We're in the woodworking and craftsman stage of software: we need people who can build the tools and painstakingly design every detail.

We may always need that, and we may always value it. But I can envision a future where there's some in-between: some way to let the computer be extremely smart about the problems we're trying to solve with these tools. I think frameworks like Rails are one giant leap away from being usable not by programmers, but by people just illustrating rules and relationships.

Would it be too generic? Would the tradeoffs be too great? Maybe. But I am optimistic these are problems we can solve and not great unsurmountable rules of the universe.

I know because I did it once. I made something that worked for everyone and allowed you to define complex multi-dimensional relationships between data. It would cover almost any business need, and in a stricter smarter way than excel. There were details that we missed and my business partner was an asshole; those were the problems. The software and the idea were sound and, in fact, incredible. I think the trivial problems are solvable. So, forgive me my optimism, but it's based on experience.