I actually disagree. I've taken several friends out on the course for their first experience playing the game. I think it's the best way to get someone hooked. Get three other guys to go and explain to the rookie how pace of play works and that he might need to just pick up his ball on a few holes. Tell him not to worry about keeping score. Just relax, have a couple of drinks, and enjoy the day and hanging out with the boys. I've never had anyone say they didn't have a great time. On the other hand, someone could easily go to the range for the first time and get aggravated that they are mishitting every shot and never want to play again. If they've been on a course and had a good time they are much more likely to put in the range time or get lessons to improve. Get them on a course ASAP. Just make sure you are there to supervise and teach them proper etiquette.
Another good way is Topgolf. I went with three friends a few weeks ago. One of them had never swung a club in his life. The next day we went out and bought a set of cheap clubs.