"Java prints a stack trace by default to help correct the mistake, a huge step forward from C's generic segfault."
A segfaulting program will dump core, which the programmer can use to get the stack trace. I consider this to be better UI than printing the trace at a likely bewildered user.