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 All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.