Tuesday, 28 February 2012

Current Programming Mischief

Currently I'm working on a load of things... simulataneously.  I've recently finished my epic data structures and algorithms book, and it definitely makes me grateful for pretty much anything that isn't data structures and algorithms.

What I've wanted to do for ages (I got the book like 3 years ago but didn't start reading until now) is to start writing programs that had a GUI.  I've realised the console is good for many things, but not nearly impressive enough.  I selected Windows programming for this role, and am using the "bible" of Windows Programming by Petzold.  I've been using Windows for the last 15 years, it's been really interesting finally getting inside the OS armed with a good enough understanding of programming.  I've seen someone write that Windows programming is "notoriously difficult", but so far nothing has seemed too bad.  It's more a matter of learning all the conventions and the gazillion functions in the api, but that's mostly fine due to a really well written book and a nicely thorough reference at MSDN.

The bible
What I haven't wanted to do for ages, but I figured would be useful for my engineering at university among other things is brushing up on numerical methods.  For this purpose I got "An Introduction to Numerical Methods in C++" by Brandon Flowers.  The reading isn't exactly easy, but it assumes no knowledge of C / C++ and so it's really only the hard maths that will get me.  While numerical methods might seem a bit niche, considering audio programming is really maths intensive at time, it can't hurt to have a better understanding of it all.

On top of this, I've got other books in the shelf that I hope to get to within my lifetime.  Game Programming Gems (Volume 1) is one of them and another highly recommended book.  It's basically a compilation of articles written by games programmers, so I'll see how possible it is to pick out odd chapters when I feel like it.  Skimming through, the artificial intelligence section looks interesting, with stuff on fuzzy logic, finite state machine and neural networks. 

The audio stuff's still on the go, but after just doing data structures solidly for too long, I'm going to try and balance out my programming and pick up some wider skills.  Windows programming and numerical methods should both work be really useful coupled with audio programming.  Unfortunately there's also school that gets in the way of everything!  Next up for audio programming I'm doing some Fourier transform and convolution stuff.

No comments:

Post a Comment