I'll try here to articulate something I feel about how software should be. This includes both software for end users, and software for developing software (such as programming languages). This is something that, whenever I run up against something in today's software that runs counter to this principle, I sigh and shake my head. Here it is:
For the user, there should be no distinction between platforms.
An application should give the same capabilities, the same information (modulated by platform-specific idioms and resources) regardless of whether the user is using the Web or a mobile app. The distinction between the two is artificial. The fact that developers currently have to use different languages and tools to develop for the different platforms is either an oversight or an intentional barrier.
I should be able to save a website as an icon to my phone's home screen, and use it as an actual mobile app, not just a convenient bookmark to a tab in Safari. Conversely, I should be able to use something that's ordinarily a mobile app, within a browser as if it were a web application (perhaps with URLs to various screens or objects within it).
I consider responsive design, wherein a web page changes its layout to fit the screen real estate available, to be a step in the right direction. Ideally, it's just as easy to reach all the relevant links and areas whether the user is using a desktop or mobile web browser.
Some software is written for developers, and so...
For the DEVELOPER, there should be no distinction between platforms
If I want to develop native apps in Python, I should be able to do that. If I want to write front-end code in Python, I should be able to do that (which is why I got excited about Transcrypt for a bit). I want the same for you and your favorite language (if that is, for some reason, not Python 😬).
Carrying this even further, I feel like I should be able to use a language with a framework written for another language. Python on Rails, for example.
"A world without borders or boundaries..."
I'm sure there are lots of reasons why this is all a bad idea, or not feasible. Or maybe you know of good ways of crossing these artificial boundaries, or have an idea of how to erase them forever. Let me know what you think in the comments.