I think this logic is fine if you then donate to a cause that seeks to solve the longer term problems. But otherwise despite being a short term solution, feeding a hungry child means a hell of a lot to that person. And if you found yourself in a similar situation I think you would be happy for someone to skip the logical arguement and just give you a meal.