๐Ÿ“— -> 09/25/25: ECS140A-D1


Lecture Slide Link

๐ŸŽค Vocab

โ— Unit and Larger Context

โœ’๏ธ -> Scratch Notes

Philosophy

Programming languages attempt to fill a need, balance trade offs:

  • Readability
  • Writability
  • Simplicity
  • Expressivity
  • Efficiency of execution
  • Reliability
  • Maintainability
  • etc.

Paradigms

Imperative

Syntax: sequence of commands
Semantics: Updates to program state
Ex: C, Cpp, Go, Python

Functional

Syntax: composition of functions
Semantics: evaluation of mathematical functions
Examples: Lisp, Haskell, Ocaml

Logic

Syntax: set of constraints or rules
Semantics: constraint satisfaction via search
Examples: Prolog, Datalog

OOP

Based on the concept of objects that encapsulate the data and the methods acting on that data.
Examples: Smalltalk, Java, C++, Go (sort of), Python

Concurrent

Allows for simultaneous execution of tasks in the program
Examples: Go, Rust, Erlang

๐Ÿงช -> Refresh the Info

Did you generally find the overall content understandable or compelling or relevant or not, and why, or which aspects of the reading were most novel or challenging for you and which aspects were most familiar or straightforward?)

Did a specific aspect of the reading raise questions for you or relate to other ideas and findings youโ€™ve encountered, or are there other related issues you wish had been covered?)

Resources

  • Put useful links here

Connections

  • Link all related words