

That is, I am asking with a very pragmatic definition of FP in mind! Even something such as y = sin(x), copy-on-write or returning constant objects or containers from a function would be off-limits. If you would define object-oriented programming with the same strictness, everything that is not an object and uses mutable values would be forbidden. But that's perhaps a "no true Scotsman" kind of argument. Of course one can define functional programming so that no local mutable state and no side effects are possible, and then point out the obvious disadvantages. I am wondering what other people experience as disadvantages of functional programming? ( edit: with this I mean avoiding side effects in functions, or, in FP jargon, making extensive use of " referential transparency" where possible and practical, see below). A list of book recommendations from our community for various topics can be found here.

If you are new to Computer Science please read our FAQ before posting.

FLAT TO FEM PROGRAM RESULTS HOW TO
FLAT TO FEM PROGRAM RESULTS FREE
Read the original free Structure and Interpretation of Computer Programs (or see the Online conversion of SICP ) Related subreddits For those topics, please consider one of the subreddits in the sidebar instead. We discourage most posts about introductory material, how to study CS, or about careers. Self-posts and Q&A threads are welcome, but we prefer high quality posts focused directly on graduate level CS material. We share and discuss content that computer scientists find interesting. Welcome Computer Science researchers, students, professionals, and enthusiasts!
