Knowledge-Based Systems (KBS) represent a new software methodology which can broaden the scope of computer applications. When developing such software at the programming level, symbolic languages offer features to the programmer not provided by traditional procedural languages. The three most widespread symbolic languages are Lisp, Prolog, and 0PS5. An abstract model for a basic KBS and associated terminology is described. This provides a framework for evaluation of the languages. There are several criteria by which one may assess the relative merits of these languages for a given knowledge-based application. Some are related to the languages' expressiveness for typical KBS techniques, others to the user's requirements. An extensive set of these criteria is discussed, and the languages are evaluated in light of them. While Lisp offers more features for general-purpose and symbolic computing, it does not offer direct support for the derivation process. 0PS5 and Prolog have features especially designed for KBS, but lack many common general-purpose constructs.