If you think “nothing is impossible” then you haven’t tackled really hard things.
Sorry, that’s one of those bounding truths.
I’m smarter than many people. I’ve worked across a wider range of technical and business software development in the last 35 years than the vast majority of programmers.
I’ve also been completely, and utterly, humbled by working with people who are as much smarter than I am as my gap to the guy struggling with Excel.
The single most consistent, and important, principle in software is Joel’s Law of Leaky Abstractions https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
Some examples of projects I have worked on which are why I believe in some things being so hard as to be impossible, at least with current or near-future technology:
In 1999 I worked out a way to extend Apple’s QuickTime movie playing engine to decode and render stereoscopic 3D movies in real-time. This allowed you to choose 3D depth multiple, behind or in-front-of-screen and rendering method such as coloured glasses, mono with coloured glasses, active shutter glasses or glasses-free displays (a few, $150K versions were around). I hit a number of walls of CPU performance and had to abandon techniques because they couldn’t guarantee frame delivery in time to play the next frame.
A few years later, I worked at the CSIRO (Australia’s peak non-university science research organisation) with people who literally modelled the planet. They were doing things like working out how minerals are deposited so they could model forward to suggest where to find gold seams. I could write an entire essay on what I vaguely remember of their comments on realistic modelling and computational limits. Some of their problems were just not solvable. We may have good enough maths but are several decades of computers away from being able to solve things at that scale, with enough detail.
In 2010 I ported some MRI post-processing software from Mac to Windows. This was the commercialised version of someone’s PhD project, which did things like 20 million iterations of algorithms to be able to diagnose liver disease. NDA forbids me saying much more than noting that you can’t apply traditional debugging techniques to that kind of iterative processing, without a supercomputer.
You can’t make satellite GPS accurate to the millimetre. You can work around things like that with some additional hardware if you have enough control over the environment but it’s not just a matter of working harder on the software.
Most people who work in non-technical computing will indeed only encounter problems where their can’t is actually a won’t. Just stop preaching it as a universal rule.
