Islam has no place in today's world. It prescribes barbaric punishments and attitudes that belong to the middle ages!
Islam prescribes that it is the duty of the state to uphold the human rights of its inhabitants.
If people violate the rights of others, the victims of those violations have a right to take 'an eye for an eye', or 'a tooth for a tooth' or whatever compensation the transgressor is willing to give. However, it is more virtuous for the victim to forgive and forget, by such action God forgives and forgets some of the sins of the victim.
If the victims choose to claim their right, the state has a duty to enforce their claim. This is not barbaric it is justice.
Physical punishments can, therefore, be just. They can also be a better deterrent to crime & they are more equal towards the transgressors than fines (which the rich don't feel as much as the poor) or imprisonment (which also punishes the taxpayers, the family & rarely reforms the criminal's character).
You can think of the following situation: You see a man hit another man in the street and the other hits back. Is the second man committing a crime by retaliating? Of course it may be better for him to do something else, but it is his right to respond with a similar measure against the aggressor.