Jump to content

  • Log In with Google      Sign In   
  • Create Account


Book on mathematics of programming


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 pancakedice   Members   -  Reputation: 159

Like
0Likes
Like

Posted 22 August 2012 - 07:01 AM

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

Sponsor:

#2 mrbastard   Members   -  Reputation: 1573

Like
1Likes
Like

Posted 22 August 2012 - 04:00 PM

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


#3 Matt-D   Crossbones+   -  Reputation: 1410

Like
3Likes
Like

Posted 22 August 2012 - 04:42 PM

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.

Edited by Matt-D, 22 August 2012 - 04:43 PM.


#4 Eliad Moshe   Members   -  Reputation: 797

Like
0Likes
Like

Posted 22 August 2012 - 05:05 PM

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"! Posted Image

Edited by Eliad Moshe, 22 August 2012 - 05:08 PM.


#5 mrbastard   Members   -  Reputation: 1573

Like
1Likes
Like

Posted 25 August 2012 - 10:59 AM

Randomly browsing cpp-next.com, found an EoP study group. It's a few years old, but there's some great discussion.


#6 e‍dd   Members   -  Reputation: 2105

Like
1Likes
Like

Posted 25 August 2012 - 02:03 PM

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.

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.

#7 pancakedice   Members   -  Reputation: 159

Like
1Likes
Like

Posted 28 August 2012 - 02:17 PM

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.

#8 mrbastard   Members   -  Reputation: 1573

Like
0Likes
Like

Posted 29 August 2012 - 11:04 AM

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


#9 pancakedice   Members   -  Reputation: 159

Like
1Likes
Like

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 mrbastard   Members   -  Reputation: 1573

Like
0Likes
Like

Posted 31 August 2012 - 10:26 AM

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. :)


#11 mrbastard   Members   -  Reputation: 1573

Like
0Likes
Like

Posted 05 November 2012 - 06:27 AM

Recently released: Lectures by Stepanov discussing the reasoning behind the facts presented in EoP (note though that this is a standalone course)

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. Posted Image

Edited by mrbastard, 05 November 2012 - 06:28 AM.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS