Stephen Wolfram is Redefining Programming

The hot toy for Black Friday 2020 will allow your 5 year old to write code...

I came across an interesting discussion with Stephen Wolfram today that got me thinking. For those of you not familiar with Mr. Wolfram, he's the genius behind Mathematica and Wolfram|Alpha.

There is a joke in the computing world about being able to tell a computer what the desired deliverables are then say "Make it so." Wolfram's goal is to get as close as possible to this. Our current architectures have different layers (data, UI, API, etc) but with the new Wolfram language, everything is baked into one blob of knowledge that will allow you to code in several lines what would have taken a hundred lines. It sounds great, but what about extensibility and customization/power?

The above is a rough approximation of the relationship between ease of use and customization/power for a given solution, be it software, mechanical, or otherwise. A great example is a simple flashlight app. It has one button, to turn the LED light on your phone on and off. This is at the far right on the graph. Very easy to use. Not very powerful. Now imagine we add some more buttons that let you choose how long it stays on or an interval for it to switch on and off. The app just got quite a bit more powerful and not that much more difficult to use (we moved left along the curve). For a small price in ease of use we were able to achieve considerable gains in customization/power. Now imagine adding more and more features until the entire screen is filled with buttons and toggles and switches. At some point the returns to customization/power began to top out but with each additional button, toggle, and switch the app became that much harder to use.

This is the same battle every solution faces. Ideally, every language architect is going for that mythical land in the upper right of the graph, where the tool couldn't be any easier to use nor more customizable/powerful. Only time will tell where Mr. Wolfram and his language land.

portrait title

About Scott

I am a software engineer from Bozeman, MT enjoying the slightly warmer climate of Colorado. I think code can change lives. I think lives are worth changing. I write code.

You can find me on Twitter, LinkedIn, , and Github.