Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Functional Programming in C++

    Functional Programming in C++

    Ivan Cukic · 2019

    Lisp & FunctionalProgramming
    Open LibraryAmazon
    Stats for nerds
    3recommend
    6mentions
    4people
    2019–2026years
    67% recommend33% neutral

    Mentions per year

    20192020202120222023202420252026

    What Hacker News says

    1. rramadassJun 2026
      You might find Functional Programming in C++ by Ivan Cukic relevant.
      thread
    2. rramadassSep 2022
      C++ actually has two axes; 1) Paradigm axis (i.e. Procedural, Object-Oriented, Generic, Compile-time and Functional) and 2) Usage axis (i.e. Low-level bare-metal, Kernel, Library, Application). Every feature has an ideal application at the intersection of these two axes. Another way to look at it is how best to map concepts from the Problem-domain directly onto language features. Here techniques like Commonality/Variability analysis (bedrock of DDD, Patterns etc.) are used to express concepts using specific language features and then combine those into a coherent design.

      Most of the above design ideas are found only in pre Modern C++ books. I don't know of any newer books which actually teach multi-paradigm design using Modern C++. So you will have to read the older books and then think about how you would map the same ideas into Modern C++. You might find the following useful;

      Pre Modern C++:

      1) Multi-Paradigm Design for C++ by James Coplien.

      2) Scientific and Engineering C++: An Introduction With Advanced Techniques and Examples by John Barton & Lee Nackman.

      3) Advanced C++ Programming Styles and Idioms by James Coplien.

      4) Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu.

      Modern C++:

      1) Functional Programming in C++: How to improve your C++ programs using functional techniques by Ivan Cukic.

      thread
    3. pjmlpFeb 2020
      Besides "A Tour of C++", you might enjoy the following:

      - "The C++ Standard Library, 2nd Edition" from Rainer Grimm

      - "C++ Templates, The Complete Guide, 2nd Edition" from David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor

      - "Functional Programming in C++" from Ivan Čukić

      - "Concurrency with Modern C++" from Rainer Grimm

      And any talk from Bjarne or Herb at CppCon or C++Now.

      thread
    4. oeverJan 2019
      Ivan Čukić wrote a book about this last year.

      https://www.manning.com/books/functional-programming-in-c-pl...

      The book is well written and it has useful techniques for if you want to do mostly functional programming and want to stick to C++.

      thread
    5. chris_wotDec 2023
      I have seen that the biggest issue with C++ is that legacy C++ is quite hard to refactor to the new patterns. For example, I have been working on font substitution in LibreOffice, and I'd like to use a more functional style of programming, but I'm getting stuck because of an overuse of classes.

      I've been reading Functional Programming in C++ by Ivan Cukic and I'd like to adopt this - it does require a lot of refactoring of this massive codebase.

      Perhaps this is a massive, ancient codebase issue more than a C++ issue, though.

      thread
    6. rramadassApr 2022
      I think anybody who wants to understand Functional Programming should start with Lambda Calculus.

      I highly recommend An Introduction to Functional Programming Through Lambda Calculus by Greg Michaelson.

      You can then see how to express Functional Techniques in your language of choice (i.e. one you already know well eg; Functional Programming in C++ by Ivan Cukic) before learning a new Functional Language. This is to avoid the confusion in syntax/semantic expression of unfamiliar concepts which is a bit too much for a beginning student to handle simultaneously.

      thread

    Related

    Cover of Real-world functional programming
    2009–2023

    Real-world functional programming

    Tomas Petricek
    12 recommend · 19
    Cover of Modern C++ Design
    2007–2026

    Modern C++ Design

    Andrei Alexandrescu
    29 recommend · 83
    Cover of The Implementation of Functional Programming Languages
    2008–2026

    The Implementation of Functional Programming Languages

    Simon L. Peyton Jones
    22 recommend · 44
    Cover of An introduction to functional programming through Lambda calculus
    2009–2023

    An introduction to functional programming through Lambda calculus

    Greg Michaelson
    14 recommend · 19
    Cover of The C++ standard library
    2008–2020

    The C++ standard library

    Nicolai M. Josuttis
    9 recommend · 11
    Cover of The Haskell Road To Logic, Maths And Programming
    2009–2022

    The Haskell Road To Logic, Maths And Programming

    Jan van Eijck
    13 recommend · 20
    Cover of ML for the working programmer
    2009–2025

    ML for the working programmer

    Lawrence C. Paulson
    16 recommend · 38
    Cover of Parallel And Concurrent Programming In Haskell
    2013–2025

    Parallel And Concurrent Programming In Haskell

    Simon Marlow
    24 recommend · 34