Solution 1:

You can create a new user account. This will keep things separated. When using your main "superuser" account you will have to remember to choose "install only for this user" rather than "install for all users" if you want some programs to be unavailable from your other accounts. Even if you "install for all users" this would just give your work user the ability to launch the program, like Chrome, but it would not see the history or bookmarks or extensions that you had installed as the home user. The instructions vary slightly depending on which version of OS X you are using. In the Sierra dialog shown, you open System Preferences then Users and Groups (Accounts on previous versions) then unlock in the bottom left then the plus sign to add a new user. Make them a regular account, not admin and they won't be able to see documents from other accounts. There - you have the separate desktops you wanted. To switch between desktops use AppleMenu - logout, then log back in as the next user. It's much faster than a shutdown or restart. Enjoy separating your work desktop from your home desktop from your programming desktop using native OS X tools.

http://www.apple.com/us/search/new-user-account?src=serpenter image description here