There’s a discussion about free will over at the Brothers Judd in which one commentor brings up the old canard that since we are strongly influenced by various things, some of which we are unaware of, we can’t really have free will. It just makes me think that in the future, one of the qualifications for being a philosopher should be doing high level computer systems1 design and implementation.
Why should that be required? Because working on computer systems teachs one many things about how complex systems work. In the past, philosophers had to just pontificate about complex systems but today, we can actually design, build and test them so lack of capability is no longer an excuse to be arm chair theorists. And if the philospher wanna-be can’t do system design, how could he possibly do useful work on the vastly more complex systems of objective reality and human society?
In this particular case, if the commentor had ever worked with a computer language or gaming software, he’d know just how little leeway people need to seriously abuse the system far beyond any capabilities the designers imagined. It doesn’t take much experience to know that f you want the user to not have the “free will” to do as he pleases with your system, but only to do as you want him to you need to lock down everything. Partial restrictions are really no restrictions at all, they simply make it require a bit more effort and / or luck. That’s the kind of empircal background any serious philospher should have. Nothing like putting in a cute little feature at 3 AM and seeing the whole system go down from user abuse by 11 AM to teach you about the law of unintended consequences. Beyond that, however, I think philosophy PhDs would have a much easier time finding a job, which might well eliminate most of the homeless.
1 By “system I don’t mean how to assemble the box of computation that sits on your desk, but what computer scientists mean by systems — complex assemblies of components designed to accomplish (or assist humans in accomplishing) a particular task. For example, internet traffic routers. Such designs encompass not only the hardware and software on any particular router but how that router will interact with other routers to actually move packets around rapidly and efficiently.