Programming Languages

Programming languages are tools for writing software. A language has three main components:

  • 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)
Link to original

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:

  • 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#)
Link to original