At the end of the day, if you are judging a society's moral code from 3,000 years later... it's not going to make much sense.
The only logical approach IMO is to judge it from within its own context.