I have worked in the IT world for over 25 years, and while I’m not really trained as a ‘Computer Scientist’ I classify myself as one. So when I got the opportunity to tutor Java to a first year computer science class at UCC (in Cork) I more or less jumped at the chance. I am not a great Java programmer, in fact I am only just a beginner in Java, but my career has put many languages in my tool belt, COBOL, RPGII, FORTRAN IV, BASIC, Pascal, Ada and C. So Java just became another language I’d learn along the way. And I had no problem keeping a page ahead of the class. But what I learned, and I usually learn a lot along the way, was this issue with Turing. The in-computability issue actually. And it’s been under my skin for ages.
I actually think that Turing is laughing his ass off about this, as it’s really a logic issue. Or rather a Logical Fallacy of Bifurcation issue. It’s a known logic problem, and is best illustrated with a joke. “Answer Yes or No! Are you still kicking your dog?” See, any answer is wrong if you can only answer yes or now. This is a problem inherent with computer binary decision making. It’s either Zero (0) or One (1), true or false. So if you have a computer look at color, and ask “Is it blue or Red” and what is presented is ‘Green’ the compute can not resolve it.
So MY years in IT could therefor be summed up as trying to convince computers to stop listening to Turing, and to explore the world in between Zero and One. . Because the world is a gray area, hence I have, over time, more or less drifted into the database areas of IT. As from there comes the gray matter of IT, Information.
One other computer science aspect I encountered from the professor of the class, was his delight for recursion. And I have to admit that through the years I have never used recursion in any of my development. This professor produced the prettiest Java recursion solution for the old CompSc problem, The Towers of Hanoi. Now I was impressed, recursion was a neat way to solve that problem. But then I put on my IT hat and looked at how that problem appears in the real world. And guess what? It only works when the Tower’s a at the starting point. That seems to be the problem with recursion, it has to start and end in known, and knowable states. Almost the exact problem as the Turing one, it has to know where 0 is, to get to 1. Hence the reason I have never used it in the IT world, or have never seen anyone else use it in production computing systems.
In the IT world there is almost never a situation where you can know where the start and end of a program must operate. Business and engineering is operating in the Analog world, the world in between 0 and 1. Bringing to the fore, the problems concerning Turing and recursion. This is probably a factor almost every computer program operating in the world must solve, hacking around the analog world. A vast attempt to abstract the zeros and ones into the world in between. It’s not too much of a stretch of the imagination to understand why computers crash. A confrontation with the analog reality wall.
This is probably why I get obsessive about politics. It’s that same fallacy, your either a Nazi Republican pig, or a Commie Left wing Democrat!. Or to get elected, you have to be a Democrat, or a republican. And then have to adopt the ‘platform’ of the party, even if this is not who, or what you as a candidate truly wish to be, or represent.
It’s that old Analog world, full of grey issues, and gray solutions. And the current political situation in the U.S. cannot be solved with zeros and ones anymore than a computer can. It must process the gray in between world, it must solve the in between problems.