CSc 372 Comparative Programming Languages studies several modern programming languages and the programming paradigms that each language strives to accommodate. Functional programming is studied with Haskell. Logic programming is studied with Prolog. Ruby is studied to provide an alternative perspective on traditional procedural programming.

For each language we will study data types, control structures, syntax and semantics, idiomatic constructs, translation into executable units, and the run-time environment. An emphasis of the course will be to understand the design philosophy of each language and how that philosophy is exhibited in the elements of the language.

The class page for 2009 is here. Lecture notes can be found here.