This is probably something I don't understand since I am used to Windows 
and am only starting out with Ubuntu. I know that software in linux comes in packages what I don't understand is why can't non-admin users install software.

I mean, every application is run by a specific user, and that user will
only be able to run that applciation with his privilages, so if he has
no admin privileges, the application also won't be able to access unauthorized
directories etc.

I want most of the time to work on my PC with a non-admin user since it seems
more safe to me, most of the time I have no need for admin privileges.
and even though I know viruses in linux are uncommon I still think the best
practice is to work on the computer in a state that you yourself can't
make any changes to important files, that way viruses also can't harm any important
files, but I need to install software for programming and web-design etc.
and first of all I don't want to switch users all the time.
But also it sounds safer to me that everything being done on the PC
will be done through the non-admin user.

I'll be glad to know what misunderstanding I have here, cause
something here doesn't sound right.
['https://askubuntu.com/questions/48243', 'https://askubuntu.com', 'https://askubuntu.com/users/19733/']
In Ubuntu, the administrator has root privileges (often referred as just "root", as in "you need to be root").

Access to files can be split in three types:

* read (numeric value 4)
* write (numeric value 2)
* execute (numeric value 1)

These attributes can be set on every file or directory. Furthermore, these restrictions can be set on:

* the owner of the file
* the group of the file (users can be a member of this group)
* all other users which are not the owner nor in the group

These principles forms the basics of Linux file permissions. In windows, everything can be executed. Give it an `.cmd` or `.exe` extension for example. In Ubuntu, you need to add the execute bit explicitly, otherwise a permission error will be raised.

When an user executes a program, the program accesses files as that user and these file permissions kicks in. By default, locations where programs are installed are privileged, only the owner can write. This owner is root. All other users can only read and execute the program, not write to it. That's why you need root privileges to install programs.

Ubuntu has a special program called `sudo` (SuperUser DO ...) to run programs with root privileges. This can be used for installing software. When run, the `sudo` program asks you for your user password. Note that only members of the `admin` group can run programs as root using `sudo`.

In Windows, you would go to a website and download an installer. Ubuntu works with a software repository in which you can search for programs and install those. These programs are reviewed before added to the official repositories, so you can be sure that no harmful intentions exist in the programs.
You touched upon a BIG difference between windows and ubuntu. In Windows when you are logged in as an admin programms will be installed without asking for a password. This enables also malware to run their programs. In Ubuntu (Linux) even being logged in as an admin the system will always ask for your password when you change the system. Therefore, malware cant intrude your system easily. To sum up run Ubuntu as an admin. If you open another user account for your kids than give them only normal user rights so they cant screw up the system.