marius5; Hi ! My five pounds worth.
I do have a programming background (somewhat limited) and I will attest that ubuntu is a programmer's dream system. Unreal how much direct support exist and the ease of workability - once you know how.
But as all have said, there is a steep learning curve, The referenced "reading material":
These guys say it so well.
On your wish list is nothing that 'buntu can not do, and in some respects better than any other. However, It do take the hosses to operate the high end ubuntu, the flagship edition, with all the bells, whistles and eye candy. It do take the the hardware in this instance. There are many many alternatives one may choose once you have established a knowledge base.
I am somewhat knowledgeable and I choose to install a base system and build the operating system I want. Absolutely beautiful - for what I want in MY operating system and what I use it for. Your mileage will vary. To start with, out of the box will serve nicely. In 'buntu the base system is all the same, just the desk top and applications differ. As advised, download several, and see what tickles your fancy the most.
And perhaps best of all, is the community at large and the great support structues. Anything and everything you want to know, all for the asking !
This is open source at it's best ->
there are no secrets