Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

That old black magic...

Sign in to follow this  


Ever since I first really heard about C++ templates I've been on a quest to learn more about them, the biggest push into template land came when I tried to read Modern C++ Design and realised quite quickly I lacked alot of knowledge when it came to understanding it [grin]

I've just finished reading the final book I've got on the C++ Templates trail, C++ Template Metaprogramming : Concepts, Tools and Techniques from Boost and Beyond, and while I feel like I can use parts of Boost more productively (the Metaprogramming Library for one and I understand Boost::Spirit a bit better now) some of the template prorgamming still reminds me of magic.

Its like watching a magic show, knowing that what they are doing is all smoke, mirrors and slight of hand but not seeing how they do it, some template techniques leave me feeling like that.

That said, towards the end of the book, when it introduces things such as Domain Specific Embedded Languages, I can follow with little to no problem (possibly because both Modern C++ Design and C++ Templates : The Definative guide, which I read before, both demostrate some of the same techniques).

So, I plan to leave it a while, use the library as I understand it and re-read the last few books again to try and patch up the holes in my knowledge.. maybe learning a functional programming language might be a good idea, help me adjust to the correct mode of thinking when dealing with template metaprogramming.
Sign in to follow this  

1 Comment

Recommended Comments

Speaking of magic, that's how I sometimes feel about perl code. Here's the first line from blq (a script that is used for blocking spam
$0 =~ s!.*/!!;

Black magic I tell you.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!