Book on mathematics of programming

Started by
9 comments, last by mrbastard 11 years, 5 months ago
Hi all

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..)
Advertisement
"Elements of Programming" by Alexander Stepanov and Paul McJones. It's a great book, though heavy going. I've yet to find time to give it the attention it deserves, but my first reading still changed the way I think about programming. I was writing some template functions for fractal stuff at the time, and Stepanov's stuff on functions and their orbits really stood out to me.
[size="1"]
It's a great book, indeed!
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.
Although it doesn't match your description entirely, It is a great opportunity to recommend
Donald Knuth's one of a kind & super fantastic series ~> "The Art Of Computer Programming"! smile.png
Randomly browsing cpp-next.com, found an EoP study group. It's a few years old, but there's some great discussion.
[size="1"]

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++.

Up until you said C++, I was thinking that The Structure And Interpretation of Computer Programs fits that description reasonably well.


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.
[/quote]
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.
Hi all

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.
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...
[size="1"]

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!
Well, I know there was a study group for SICP here on gdnet and it was given it's own forum etc. Though by 'informal' I meant something less organised as there would probably be fewer of us and less general interest. I suppose all it would really take is a few people willing to post journals about EoP and comment on each other's posts!

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. :)
[size="1"]

This topic is closed to new replies.

Advertisement