This question is mystifying me for years and considering this site\'s name, this is the place to ask.
Why do we, programmers, still have this StackOverflow
Why in every major language does the thread stack memory have to be statically allocated on thread creation?
Stack size and allocation is not necessarily related to the language you are using. It is more a question of processor and architecture.
Stack Segments are limited to 4GB on current Intel processors.
This following link is a good read, that may give you some of the answers you seek.
http://www.intel.com/Assets/PDF/manual/253665.pdf - Chapter 6.2