The answer would be very dependent on what you are developing. If you are making code specifically using Windows APIs then you would not be able to make these on any other platform, but for making cross-platform applications you may be okay using Ubuntu.
Examples of programming on the two operating systems are listed below.
Windows applications:
If you are making windows applications the most commonly used SDK is Visual Studio, which has many programming language options E.G, C# C++, J# and so much more. There are also alternative SDKs such as Mono which can be used to program .Net languages on other platforms.
On Linux however you are able to write many cross-platform applications if you use a cross platform SDK such as Mono, Python or Netbeans. With these SDKs you would be able to write software that could be run on windows systems in addition to many other systems including mobile devices.
To make a mobile application that is easily portable without any additional code changes then you should use a HTML5 app builder E.G Appmobi SDK.
In conclusion, as Linux and the SDks for it are free then use that unless you specifically need to make specialised Windows applications.