I think a code and program would be nicer if some functions, such as transferring fund, are done automatically.
However, there are some examples that try to explain it is not a good idea.
For instance, it's said:
"Because of the maximal stack depth of 1024 the new bidder can always increase the stack size to 1023 and then call bid() which will cause the send(highestBid) call to silently fail "
Question 1 : How is it possible t increase stack size and carry out the attack?
Question 2: Is it really a bad idea to transfer money automatically in a smart contractor? can we do it if we take some care?