I wanted to make mobile apps with any programming lang and I wanted to make the app cross platform so I don't need to write it 2 or 3 times so and I heard about Xamarin but you will need to write the ui more than one time and thats ok but on which platform should I start and I saw some cool tuts on ms virtual academy so if I developed as example an windows 8.1 app will I be able to port it into android and change the ui and which programming language should I start
In order to develop full multi-platform mobile apps with Xamarin without rewrite the UI you should use Xamarin Forms.
Check this Xamarin Forms