kevnk

Menu

Computers That Program Themselves: And Why It's a Horrible Idea

Photo credit Marie Mosley

TL;DR - The Bottom Line

Where is your time best spent: Developing a computer that works better than humans (which is extremely complex and not without its great caveats, as discussed below) or mentoring (developing) humans?

As a developer, I want smarter computers (every day), but I’m going to suggest that developing smarter computers may not be the best use of our time.

The Future of Programming

I was completely blown away when I first saw Bret Victor’s presentation, The Future of Programming. If you haven’t studied the origins of programming, you may be blown away as well.

Essentially, he opened my eyes to the thought that maybe, just maybe, there are better ways to do programming than the way we’re doing them today. And perhaps, there were some good foundational ideas from the 60’s and 70’s from which to discover new methods to program.

He gave a few examples, but the one that stood out to me the most starts around 13:30 into his talk about computer programs figuring out themselves how to communicate with other computer programs (without our help). This concept would save developers (including myself) tons of hours in writing what’s called API. In fact, I’m neck deep in API calls with one of the projects I’m working on right now. If there was a way to bypass API, life would be grand!

Time to Brainstorm

So I did some brainstorming… but I wanted to take it a couple steps further and see how far we could take this idea.

What if we were able to develop a computer where you could say, “Computer, manage my farm,” or better yet, you didn’t have to say anything. It could track your time spent and see that you need some help managing your farm and starts helping you. And then it did it! It could manage your farm, find the best crops for you location, weather, supply/demand, etc. It made all the decisions it needed to to successfully manage your farm.

The Movie Plot

I quickly realized the main dilema (the plot in many movies already): When you want to automate as much as possible, you develop a computer that can make decisions and take actions on those decisions.

But all decisions are based on choosing which thing is most valuable.

When you start thinking of values, you run into scenarios like saving one person from a wreck by likelihood of surviving vs. just saving the child (I, Robot). Do you program the computer to value financial stability more than time spent with family? Where do you program these values: Life, health, community, environment preservation? Will it value the rich over the poor? And in what scenarios?

How do you program values into a computer?

Copying the Original Design

Here’s an idea: People across the globe have different values, and for the most part, we all balance each other out. We could emulate that and have each computer own a variation of values; perhaps values they learned from their owners (as to not be partial to any developer).

Maybe that could work… but, we’re a long way from developing out. Besides, what if the values of those who can afford personal computers are bent in a way only poorer, more humble people who can’t afford personal computers could balance out? That could turn very bad, very quickly.

Created From Creation

Let’s pause here and take a step back and ask ourselves, “Is it possible for us to create something that could also create as well as humans can create?” Without a doubt, I believe we could eventually do that. But why reinvent the wheel? Rather, why reinvent the human?

Which is better, a copy of the design, or the original?

Sure, there are things a computer can do that humans cannot—make huge calculations very quickly—but answer this:

Where is your time best spent: Developing a computer that works better than humans (which is extremely complex and not without its great caveats) or mentoring human individuals?

Developing Humans

Would you consider the possibility that people can do a better job at making decisions than computers currently?

Would you consider the possibility that people can weigh values and ethics in realtime better than the most complicated algorithm?

If some people are poor at making decisions, then we can train them; develop them; mentor them.

We’ve gained computers, but we’ve lost a level of personal mentorship, discipleship, and training. We know and experience the benefits of technology, but how aware are we of the cost?

If you can develop a human faster than developing a computer to work like a human…

If you can develop a human to weigh values better than a computer…

If we need human interaction more than computer interaction…

Then why aren’t we focusing our time, effort, and resources on developing people?

It’s because developing computers is easier than developing people.

Relationships take time and effort. You’ll experience pains working with people; pains you wouldn’t experience working with computers.

We’ve got to count the cost. Most of us don’t know what we’re missing—deep intimate relationships.

But what if you don’t know how to develop deep intimate relationships? Well, I guess you could ask Google… but I bet there’s a person you could ask who you’ve seen has real relationship experience (tip: they may or may not be your Facebook friend—maybe you could message them for their address and write them a letter).

comments powered by Disqus