I object. That's not 21 days, that's a time paradox. The flux capacitor is not a time-traveller safe means of transportation along the fourth dimension as seen in Back To the Future I. Only in Back to the Future II with some unknown undocumented modifications does it become at least somewhat safe. Unfortunately, we cannot reproduce this technology, as the tools we predicted to have available to us in 2010 (such as fusion-in-a-can) were not. Therefore, the only way to learn C++ in 21 days is to put everyone you know close to a black hole.
It can be pronounced will a hard G or a soft G, as the origins of Giga- are from the Greek meaning Giant it can be argued that the soft G should be used. I also think that the US standardised the pronunciation (with the soft G) in the 80s.
What about using the time room (hyperbolic time chamber, narnia http://xkcd.com/821/ ). Will that count as 21 days?
Or use the 009 mechanism.
Or send the rest of the universe in a travel of almost light speed.
You people are over-complicating it. The task is to learn C++ in 21 days. It's very simple. First you learn any language, other than c++. Then from day 3649 to day 3670, you read a tutorial to learn the syntax, several programs, to get used to it, maybe glance through the standard, if you want to be really thorough.
Great idea, hamsterman. Now we just need to find a language that has something remotely comparable to C++'s template system and its relationship to C++'s type system and we're all set.
I'm sure something can be found amongst the bajillion existing programming languages. Note that after 10 years of programming, you'll probably know more than one. Also, I think this is something an intelligent and experienced programmer can wrap his head around in 3 weeks.
Now we just need to find a language that has something remotely comparable to C++'s template system and its relationship to C++'s type system and we're all set.
This would mean duplicating all the idiosyncrasies of the C++ type system. Unfortunately, C++ is far too popular for that to be possible - probably all the language designers know it and avoided going the C++ way. You need to look for a language predating C++ then...
C++ templates feel too much like a hack to work around the type system.
I think you will find that virtually all (useful) statically typed languages have a way to work around the type system. The intent of templates was to preserve type safety while allowing a little wiggle room for the programmer. I don't think it was intended to be Turing complete.
filipe wrote:
The syntax is also pretty ugly.
You'll get no disagreement from me there. It would be interesting to consider a C++ where the template system was completely replaced with a more elegant language, one which had the same functionality and was designed to be Turing complete and highly expressive from the start.