Book on mathematics of programming
#1 Members - Reputation: 159
Posted 22 August 2012 - 07:01 AM
I hope you can help me out with some detective work I cannot figure out myself.
I remember reading a about a book here on gamedev.net a few years ago and now I cannot find it on google. Back then it was hailed as a programming book that was advanced, but really opened the eyes for many and that the posters here on gamedev.net saw it as a must read for everyone on their team.
The topic was general programming from a mathematical perspective, and the author(s) defined functions, general objects and from a everything was performed generically, and implemeted in what I recall as being C++. The first chapter was available online. I might have mixed something up, but I think that the author(s) had an Eastern European sounding name. It was not about implementing algebraic structures or doing math in programming, but about using mathematical theory as an approach to better your generic designs, if I recall correctly.
I know it's a long shot, but I really hope anyone might recall a book like that mentioned here (or elsewhere).
Thanks in advance!
(I hope this is the right place to put the post..)
#2 Members - Reputation: 1567
Posted 22 August 2012 - 04:00 PM
#3 Members - Reputation: 896
Posted 22 August 2012 - 04:42 PM
BTW, you may find it helpful (well, at least I did ;]) to read his class notes in advance (or simultaneously) -- in particular, the last two positions here:
http://www.stepanovp...om/#Class_notes
Alexander A. Stepanov and Matthew A. Marcus: Notes for the Foundations of Programming course at Adobe. 2004-2005.
Alexander Stepanov: Notes for the Programming course at Adobe. 2005-2006 (updated October 2007 to fix bugs in partition_bidirectional).
While the books is theoretical (there are "codes", but mostly in this context), the notes often cover the same principles (see, for instance, "Lecture 12. Actions and their orbits" in the last one, http://www.stepanovp...s.com/notes.pdf) with more practical C++ illustrations & discussions.
Edited by Matt-D, 22 August 2012 - 04:43 PM.
#5 Members - Reputation: 1567
Posted 25 August 2012 - 10:59 AM
#6 Members - Reputation: 2049
Posted 25 August 2012 - 02:03 PM
Up until you said C++, I was thinking that The Structure And Interpretation of Computer Programs fits that description reasonably well.I remember reading a about a book here on gamedev.net a few years ago and now I cannot find it on google. Back then it was hailed as a programming book that was advanced, but really opened the eyes for many and that the posters here on gamedev.net saw it as a must read for everyone on their team.
The topic was general programming from a mathematical perspective, and the author(s) defined functions, general objects and from a everything was performed generically, and implemeted in what I recall as being C++.
There's not really a lot of mathematical theory in Modern C++ Design: Generic programming and design patterns applied, but this could be what you're thinking of. Andrei Alexandrescu is from Romania, and the book is relatively advanced, and an eye-opener for a lot of C++ programmers.The first chapter was available online. I might have mixed something up, but I think that the author(s) had an Eastern European sounding name. It was not about implementing algebraic structures or doing math in programming, but about using mathematical theory as an approach to better your generic designs, if I recall correctly.
#7 Members - Reputation: 159
Posted 28 August 2012 - 02:17 PM
Thank you very mich for the time you put into this, and sorry for my late answer. Elements of Programming indeed looks like that might be the book I'm looking for - I'm fairly sure it is. Modern C++ Design however also looks like a very decent book - I might just take that as a bonus and have a more thorough look at it.
Again, thanks for your time; it's highly appreciated.
#9 Members - Reputation: 159
Posted 30 August 2012 - 02:01 PM
Happy to help. I highly recommend Alexandrescu's book too.
I'm beginning to wonder if there's enough interest in EoP on gdnet for some kind of informal study group...
So far I've been printing the newest set of notes from Stepanov's webpage, reading through it, trying things out in C++11 (where some features he asks for have been implemented properly) and waiting for EoP to arrive in the mailbox. A study group would indeed be a welcome addition! How would one go about setting that up?
I must say that so far I'm very impressed with Alex Stepanov's writings and to me the book seems like could well be the perfect step after just finishing Effective STL, which is another must have. I actually found out that I've already read a lot of Alexandrescu's book at work, and while it is good, Effective STL and Stepanov's notes so far have made a bigger impression on my way of dealing with structures and algorithms in C++.
Cheers!
#10 Members - Reputation: 1567
Posted 31 August 2012 - 10:26 AM
That said, it will take me a while to find time to properly digest the discussion on the study group at cpp-next, so perhaps creating another study group here at gdnet, however informal, is a bit over ambitious.
Still, if you (or anyone!) post about EoP please feel free to PM me and I will try to add to the discussion.
#11 Members - Reputation: 1567
Posted 05 November 2012 - 06:27 AM
videos, slides
Stepanov is a really great teacher IMHO, and these lectures are a great mix of history, math and c++ templates. Anything that quotes Thomas Jefferson on Euclid, and discusses geometric proofs of various well known algebraic identities as part of a masterclass in generic programming deserves my (and maybe your) attention.
Edited by mrbastard, 05 November 2012 - 06:28 AM.






