> no C++ syntax hell!
> no C++ at all!!!
The author of this book has some strong feelings about C++.
> no C++ syntax hell!
> no C++ at all!!!
The author of this book has some strong feelings about C++.
The reference you are looking for (includes executable C++) is Numerical Recipes by William Press et al.
There are a couple other good ones as well that are more broad - e.g. Quarteroni, Sacco, & Saleri Numerical Mathematics also covers numerical diffeq, convex geometry, & approximation theory.
I can't comment on how OP's book fits in.
I bought this book hoping it would be to floating point what Hacker's Delight is to integers.
It is not that.
I'm not really sure what it is. Most of the numerical algorithms I wanted weren't included at all. Those that were, like random number generation, were out of date and covered with much less rigor than you can find online with some Googling. IIRC their algorithm for generating a random float in the range [0,1] is just wrong.
The book does indeed include executable C++. But the C++ it includes is a travesty. It's C++ written by someone who sort of understood C.
Anyway I did not like it. :)
I can understand why C++ isn't appropriate for this. Object-oriented programming has little to do with linear algebra, and a nightmarishly-complex language that's desperately trying to reinvent itself also isn't appropriate for pedagogy. But you still need a lingua franca, a language you can use to express the relevant principles without trying to evangelize one arcane functional language or another at the same time like so many authors try to do these days.
Being a relatively straightforward procedural language, C works well for this purpose. Everybody doing numerical computing is at least familiar with the fundamentals of C programming, or should be.
Is there some institutional resistance to plain old C, or is it just a matter of widespread personal prejudice among both students and teachers?
Compare the number of LOC or any other metric. Once you have high-level access to underlying algorithms (implemented in whatever native technology, but hidden), it is much, much, simpler to work at high-level.
It's because LoC and readability and maintainability matters.
Teaching Linear Algebra using NumPy isn't equivalent to teaching people linear algebra + teaching people to optimize LoC. Flawed argument.
Yours truly,
C++ dev at work
PS. HN formatting is a devil.