Portability is a valid concern - depending on the context - but it&#x27;s not an innate quality of the programming language, in and of itself.<p>Ease of prototyping is a general advantage of scripting, dynamically typed languages, so this is apples and oranges really. Or like insisting that Yamaha is superior to Mercedes, of all car manufacturers, because motorbike is more useful in heavy traffic :)<p>Statically typed languages bring other advantages to the table, they shine is bigger projects.<p>As for NIH syndrome, once again this is &quot;ancestral sin&quot; at best, not a downside of the language as such.<p>Still, it wasn&#x27;t exactly that way. Microsoft didn&#x27;t try to tout a brand new language at first, they attempted to improve on Java with J++, but they got sued by Sun and this pushed MS to announce C#.<p>This being said, C# wasn&#x27;t a corporate rebranding, it&#x27;s offered substantial improvements over Java, and to this day Java is either playing catch-up (eg. Streams vs. LINQ, abysmal DateTime API only replaced with something more reasonable in java 8), or just remains inferior (type erasure vs. reified generics, checked exceptions etc.)<p>I don&#x27;t really code in Python, but at first glance it is missing some goodness you can get in C#, for instance the support for functional programming (or elements thereof) - I&#x27;m thinking about lambda support limited to single expressions.