pic_cooming_soonProgramming Paradigm’s

Object-Oriented vs. Functional Programming

The schism between the functional and object-oriented programmers is really a false binary. Yes, the first group argues that FP is superior for a multicore world, while the second insists that OOP is better at matching technical solutions to business problems. However, as this O’Reilly report explains, this is not an either-or proposition.

Technologist Richard Warburton, author of Java 8 Lambas, discusses similarities between these programming paradigms and points out that both FP and OOP are actually moving closer toward one another. One prominent example is the use of lambda expressions in Java and other OOP languages such as C#, C++, and Swift.

By following examples written in Java, you will:

  • Learn how lambdas (aka anonymous functions) make OOP languages better suited for dealing with parallelism and concurrency
  • Understand how SOLID—OOP’s five basic principles of programming—map to functional languages and paradigms
  • Explore some of the most common OOP design patterns—and how they exist in the functional world


Read: “Object-Oriented vs. Functional Programming” PDF Below




Online Lectures:
Programming Paradigms

Professor Jerry Cain


Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programming, Scheme, and Python. The class aims to teach students how to write code for each of these individual languages and to understand the programming paradigms behind these languages.

Lecture 1 | Programming Paradigms (Stanford)

Lecture 2 | Programming Paradigms (Stanford)

Lecture 4 | Programming Paradigms (Stanford)