Predicate Calculus as Programming Language
Advantage: In theory, at least, the program can immediately combine new knowledge with existing knowledge.
Disadvantage: The ``new knowledge'' may contradict or subsume existing knowledge without our being aware of it.