Basically all smart cards use Java Card. There's an ISO standard, so I'm sure it's possible to implement your card in other environments, but everyone uses Java Card.
Because these practices were set in the mid-to-late-90's when it was fashionable to Java all the things