What's the hard part of zero? A lot of textbooks said it was hard for human to accept zero when it was first introduced.

How could it be? It seems to me as natural as positive integer which represent there is no elements at all.
Of course it seems natural to you; you grew up in the modern world, where everyone accepts zero.  More importantly, people now accept the abstract concept of numbers and are capable of divorcing them from the things that they represent.  This is a sophisticated point of view.  From a more naive point of view, a number is a property of a collection of objects: when I say there are $2$ apples somewhere, that is a property of a collection of apples.  If there are no apples, then what is there to "hold" the corresponding property?  So instead of saying there are $0$ apples, people said there are no apples.  

In computer science terms, apples.num() is not defined if there is no apples variable!

You also have to understand that "human" in your statement means (from my understanding) "Western mathematicians."  Indian mathematicians had no trouble with zero.
In many places, i.e., accounting 0 meaning nothing is represented by a line.

for example $3.—

for exactly 3 dollars. rather than $3.00

and sometimes by xx ... as written on a cheque:

---- three dollars ----- xx/100