Depends on the context of the question, your philosophy as an owner and where you are in your build. I typically don't want to give a player a free year of control if he isn't mlb ready so i will typically keep him down if he isn't mlb ready. Other owners differ.
If the guy is 18 and is going to be an absolute stud, you should probably start him in HiA or AA or in some cases AAA.
If the guy is 18 and is an average to above average player, I usually start him in rookie ball and slow cook him until he is ready for MLB ball. This way, you can take full advantage of year end promotions and make sure he gets every bump possible. There are owners that believe that if you put a guy in HiA or AA and he isn't ready for it, it stunts his growth. Also, the player's guide reads this as well so i would say that you need to be careful with above average players.
With all of the above being said, there are exceptions -- if your MLB team stinks and the prospect is a better player than the guy you have in the MLB, it is nearly always best to play him in the majors (as long as he will be a full time player) because there are better coaches at the MLB level and as long as he gets playing time, he should develop fine. An exception to this would be if you are not a winning team. No need to give him a free year of control.