Apr 18, 2024  
College Catalog 2021-2022 
    
College Catalog 2021-2022 [ARCHIVED CATALOG]

COMP 381 - Programming Languages


Why do people create different programming languages? What characteristics do languages have in common? What design decisions differentiate them, and what tradeoffs motivate those decisions? How do languages affect the style of code we write, our development processes, and the ways we think about software? In this course, we will examine a wide variety of programming languages, many briefly and a few in depth. We will compare how they approach topics such as type systems, abstraction, composition, state and mutability, access control, flow control, function dispatch, closures, metaprogramming, concurrency, memory management, compilation, and runtime environment. Prerequisite(s): COMP 128   (COMP 240  and COMP 361  useful but not required) Alternate years. (4 Credits)