Functional Programming with Haskell

Functional Programming with

Haskell

CSC 372, Spring 2015 The University of Arizona

William H. Mitchell whm@cs

CSC 372 Spring 2015, Haskell Slide 1

Programming Paradigms

CSC 372 Spring 2015, Haskell Slide 2

Paradigms

Thomas Kuhn's The Structure of Scientific Revolutions (1962) describes a paradigm as a scientific achievement that is...

? "...sufficiently unprecedented to attract an enduring group of adherents away from competing modes of scientific activity."

? "...sufficiently open-ended to leave all sorts of problems for the redefined group of practitioners to resolve."

Kuhn cites works such as Newton's Principia, Lavoisier's Chemistry, and Lyell's Geology as serving to document paradigms.

CSC 372 Spring 2015, Haskell Slide 3

Paradigms, continued

A paradigm provides a conceptual framework for understanding and solving problems. A paradigm has a world view, a vocabulary, and a set of techniques that can be applied to solve a problem.

(Another theme for us.) A question to keep in mind:

What are the problems that programming paradigms attempt to solve?

CSC 372 Spring 2015, Haskell Slide 4

The procedural programming paradigm

From the early days of programming into the 1980s the dominant paradigm was procedural programming:

Programs are composed of bodies of code (procedures) that manipulate individual data elements or structures.

Much study was focused on how best to decompose a large computation into a set of procedures and a sequence of calls.

Languages like FORTRAN, COBOL, Pascal, and C facilitate procedural programming.

Java programs with a single class are typically examples of procedural programming.

CSC 372 Spring 2015, Haskell Slide 5

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download