Ranked in these QuestionsQuestion Ranking
Pro Potentially larger user base
You are not constrained to a subset of the market, thereby the opportunities to get help should be greater when only constrained by language rather than language & OS
Pro Can give you experience across OSes
Developing in a language that supports many OSes gives you potentially more room to grow, by giving you an excuse to try other OSes once you become comfortable in the basics of a language.
Pro There are lots of popular languages available that are pretty much OS independent
Pro Online tools
If you are keen on just diving right into coding, there are many tools that run in your browser that allow you to get going without needing to setup anything locally. For example, codepen and coding.
Pro You can focus on learning
Developing at this higher level allows you to focus on solving problems and learning the language rather than learning an unfamiliar OS.
Con UI look and feel may be non native.
If your goal is to develop something that looks like it fits in, this can be tricky with some cross platform languages (Java being a notable example, though there are libraries that can help this).
Con You may still need to deal with idiosyncrasies
Most cross platform environments can't abstract away all the OS specific idiosyncrasies. For example, starting Java applications as a service is something Java cannot do out of the box. So you are left to come up with your own solution for that. NPM's scripts are not inherently cross platform, so if you use them while developing with Node.js, you may need to find your own ways to make them cross platform.
Con Write once - test everywhere
The idea behind cross-platform languages looks nice at the first glance, but in reality in the very best case boils down to an infamous "write once - test everywhere" pattern.
Con Very limited language options
Con Learning how to test can be costly
Learning how to test one's code can be more complicated, depending upon the language because you may need to test certain aspects of your application on different OSes. This means more setup time as well.