And here is the answer I am writing.
This is an interesting question because SO is actually designed in the usual style for web applications, but does not have a lot of features with a regular web application. in particular, it should be very scalable, but business rules and data storage requirements are not complicated.
So, using today's technology, I would use
plain javascript; SO uses jquery, it will be fine.
I would use a work-oriented web application like Unicorn to simplify scaling.
I would use Hadoop and Cassandra to store questions and comments.
I would use ranking and ranking rules using MapReduce in the database.
Conveniently, most of them are available in Java, although I would prefer a scripting language such as Ruby or Python.
I would avoid the normal Java EE based world. In my opinion, I was a very early user of Java EE on Sun - this techno.logy is overloaded. I would also avoid Windows servers; it is difficult to manage and relatively expensive. (I can build server hardware at about the same price as the OS license.)
source share