I started looking at the upcoming C++0x specification today, and I started thinking on what is the right size for a language vocabulary. Initially, it struck me as very annoying that new keywords were introduced. At some rough level, the number of keywords in a language is, I think, an estimate of its complexity. That is, in the case of C++, adding new constructs would make it even harder to master the language. Thats one reason why the K&R book is so much smaller that the C++ equivalent.
After that, I thought about natural languages, whose vocabulary has been shown to grow linearly with time, regardless of the language (*). The only exception is, of course, Newspeak, which says a lot. The vocabulary size in this case is related to the expressive power the language.
In programming languages, however, you can have very expressive languages with a small vocabulary size (ie, Lisp).
So, to phrase this is a question, what, in your opinion, should a language vocabulary be - big and verbose or small and concise?