Programming Languages
Programming languages are tools for writing software. A language has three main components:
Link to original
- Syntax: defines the form of programs; how expressions, commands, declarations are built and put together to form a program
- Semantics: give meaning to programs; how they behave when they are executed
- Implementation: software system that can read a program and execute it in a machine, plus useful tools (editors, debuggers, etc)
The goal of this module is to be prepared to understand core programming language concepts as languages continue to evolve.
Design Method (Programming Language)
A design method is a guideline for producing a design (functional / OO).
Link to original
Programming Paradigm
A programming language may enforce a particular style of programming called a programming paradigm:
Link to original
- Imperative Languages: programs are decomposed into computation steps reflecting the computer architecture (FORTRAN, C, Python, Java)
- Functional Languages: based on mathematical notion of function; the focus is on what should be computed but not how it should be computed (Lisp, Haskell, CaML, Scheme)
- Logic Languages: programs that define a problem rather than defining an algorithmic implementation (Prolog)
- Object-oriented Languages: this may be added to any other paradigm, e.g. OO imperative, OO functional. (Java, OCaML, Scala, Python, Ruby, F#)