Principles of Programming Languages | Functional, Object-Oriented, Concurrent

Politecnico di Milano

Explore the key programming language concepts and paradigms, including functional, object-oriented, and concurrent programming, through an in-depth analysis of Scheme, Haskell, and Erlang.

University CoursesFunctional ProgrammingProgramming

Introduction

This course gives an overview of Scheme, Haskell and Erlang while analyzing the languages similarities and differences. As a result, many important/prevalent concepts and how they manifest differently in different programming languages are explained. Among these are (purely) functional programming, object orientation, type inference and evaluation order.

screenshot

Highlights

  • Covers key programming language concepts and paradigms, including functional programming, object-oriented programming, and concurrent programming
  • Analyzes the similarities and differences between Scheme, Haskell, and Erlang
  • Provides insights into the essence of defining programming language concepts and choosing the appropriate level of abstraction

Recommendation

This course is recommended for students who want to gain a deeper understanding of programming language design and the tradeoffs between different programming paradigms. It will help develop the mental flexibility to critically evaluate and choose programming languages for different applications.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

C++ Language Tutorial | Beginner to Advanced

38
Technical TutorialsC++Programming
Learn C++ programming from the ground up, including practical examples and the latest features. Ideal for beginners and experienced developers.

Learn Python Basics | Beginner-Friendly Programming Course

20
Technical TutorialsProgrammingPython
Dive into the world of programming with Python, a beginner-friendly language. Explore its readability, versatility, and robust community support.

Python Tutorial For Beginners | Programming, Coding

1
Video CoursesProgrammingPython
Learn Python fundamentals, installation, and setup for beginners. Explore the interactive prompt, create and run your first Python script. Ideal for new programmers.

CS50 Labs | Computer Science Fundamentals | Harvard University

1
University CoursesComputer ScienceProgramming
Explore the intellectual enterprises of computer science and the art of programming with CS50 Labs, Harvard University's renowned introduction to computer science for beginners and experienced learners alike.

Matters Computational: Ideas, Algorithms, Source Code

9
Technical TutorialsAlgorithmProgramming
Comprehensive book covering computational algorithms, source code, and programming concepts. Recommended for programmers and computer scientists.

Purely Functional Data Structures (1996)

2
Technical TutorialsAlgorithmData StructuresFunctional Programming
Explore the design and implementation of efficient data structures using purely functional techniques. Gain insights into the trade-offs and performance characteristics of different data structures.

Foundations of Programming

10
Technical TutorialsProgramming
Comprehensive guide to the core principles of programming, including algorithms, data structures, and software development best practices. Suitable for beginners and experienced developers.

Pointers And Memory | Computer Programming, Memory Management

16
Technical TutorialsCComputer ScienceProgramming
Comprehensive guide to understanding pointers, memory allocation, and optimization techniques for computer science students and software developers.

Beejs Guide to Network Programming - Using Internet Sockets

12
Technical TutorialsCC++NetworkingProgramming
Comprehensive guide to network programming, focusing on the use of internet sockets. Written by experienced author Brian "Beej Jorgensen" Hall, offering in-depth coverage and practical examples.