REVIEW - Functional C


Title:

Functional C

Author:

Pieter H. Hartel, Henk Muller

ISBN:

Publisher:

Addison-Wesley Longman (1997)

Pages:

433pp

Reviewer:

Brian Bramer

Reviewed:

June 1998

Rating:

★★☆☆☆


With so many books already written on C, one wonders why anyone would want to write another one and what makes this one different enough to make people buy it. This book is designed for a fairly select 'niche' audience - those who have been taught a functional programming language as their first programming language and want to learn an imperative language. It does not try to teach the reader how to program, but assumes they can program in SML, though more or less any functional programming language would do.

Given this precondition, the book fulfils its aim. It is well written, the pace is gentle, the coverage comprehensive and the explanations clear. The examples tend to be mainly mathematical, but given the intended audience this is not a drawback.

The book starts with functions and numbers in Chapter 2, moves on to loops in Chapter 3, then structures and pointers in Chapter 4, arrays in Chapter 5 and streams and I/O in Chapter 7. Chapter 8 deals with the compilation process - splitting the program into separate files, the C pre-processor and Make. The book concludes with three case studies in Chapter 9.

Overall, if you know how to program in a functional language and want or need to learn C, this book is worth considering.

The caveat I have is that while you will learn to express functional programming in C, you will be less likely to understand how to write 'good C'. Think of all that documentation written in Japanese English and you will get the idea. The author's motive is to make the transition to C easy, but it is exactly those that find the transition hardest who will find the greatest difficulty in progressing further. - Francis Glassborow.

Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.