From Socrates to expert systems