Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there a language that is capable of developing apps to cross platform OSs (win,*nix) and mobile apps (IOS, android) .. I'm a pro web developer but want to explore more environment to deploy my code into...

Python ? Ruby ?

share|improve this question

closed as not constructive by Jarrod Roberson, maple_shaft Apr 26 '12 at 2:14

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3  
HTML5. Oh, wait. You meant Programming Language, didn't you? In any case, HTML5 will render on almost any modern computing device, and you can make the back end anything you want. –  Robert Harvey Apr 25 '12 at 22:10
1  
    
Any Turing complete language is capable of it. –  psr Apr 25 '12 at 23:31
    
For native apps, C++ may be the best choice since you can now develop in C++ on both iOS and Android. The problem you will have however is getting a cross platform UI library, of which there are some around, like Marmalade. This blog post here might help as well: dodgycoder.net/2012/01/modern-cross-platform-development.html –  dodgy_coder Apr 26 '12 at 4:53
add comment

5 Answers

You should learn python in that case, because python is used in wide number of areas like desktop applications, game scripting, android apps, web frameworks.

top companies using python:

  • Google
  • youtube
  • Facebook
  • Dropbox
  • Quora

and many more... the list is huge

share|improve this answer
3  
Where can you use Python in iOS? –  System Down Apr 25 '12 at 23:40
    
@SystemDown I only mentioned Android here, because apple uses objective-C for iPhone apps, and for MacOSX applications different python libraries are available which allows you to create cross-platform desktop applications. –  undefined is not a function Apr 25 '12 at 23:59
    
out of curiosity, is there a historical reason Microsoft does not use python, or were there other reasons you did not include them in your list? –  Paul Hazen Apr 26 '12 at 0:44
    
@PaulHazen I've no idea about why they don't use python. But for .NET developers there's ironPython, an open source implementation of python on which you can directly use .NET Api –  undefined is not a function Apr 26 '12 at 1:05
    
Interesting. In RE:ironPython... gross. –  Paul Hazen Apr 26 '12 at 1:19
show 4 more comments

C#.

It works on Windows (either with Mono or regular .NET framework), on Linux and Mac (with Mono).

Xamarin Monotouch can be used to build apps for Android, iOS, and Windows Phone 7, though there are specific UI bits that are unique to each platform.

Playstation Suite SDK currently only supports the use of C# (and is backed by Mono), and can be used to build apps/games for the Playstation Vita and Playstation-certified devices (currently only a handful of Sony-made Android phones and tablets).

Unity Game Engine can be used to build games for web browsers (with special plugin), iOS devices, Android devices, and if you have lots and lots of money and credentials, for consoles as well.

And some apps that are written with C#:

share|improve this answer
add comment

C++, C and any other portable native language (that can talk to C) meet your needs. You'll always have a platform-specific part in you app that you'll have to change for each platform (if you don't use an engine that does the work for you) but the application itself can be written independently.

share|improve this answer
1  
Unless of course if you use a C++ based cross platform library like Marmalade. –  dodgy_coder Apr 26 '12 at 4:55
add comment

You could try using Java. Eclipse is made using Java and it runs on the desktop, and I'm sure you've heard of Android already for mobile devices. Java is used everywhere and is definitely cross-platform.

share|improve this answer
1  
Java is not used on iOS, it is pretty much never will as VMs are specifically forbidden. –  Jarrod Roberson Apr 26 '12 at 16:43
    
@Jarrod Roberson: It's a shame that this is the case. –  Bernard Apr 26 '12 at 17:14
1  
javascript is used on iOS, and GWT can compile java to javascript... –  funkybro May 1 '12 at 9:54
add comment

A single language to learn to develop desktop and mobile phone applications?

The answer is HTML5/Javascript, because of:

share|improve this answer
1  
I could be alone in this sentiment, but PhoneGap seems to provide the lowest common denominator experience on all platforms. I get bummed out when I hear about people using it. Each platform has a very specific UI paradigm. A good app imho is one written natively. Towards that end, HTML5/Javascript is a great underlying tech to go learn, considering the growing opportunity with Windows 8 and future versions of Windows Phone rumored to support the same metro apps. –  Paul Hazen Apr 26 '12 at 1:22
    
@PaulHazen: Two points: 1. Let's assume I buy your "lowest common denominator" argument. PhoneGap still lets you write an app for multiple platforms and gives you the ability to smooth out the rough edges with native programming wherever you see fit. 2. Your point of disagreement isn't applicable to the OP's question, and therefore, you just gave me an undeserved -1. –  Jim G. Apr 26 '12 at 1:25
    
I think your answer is primarily wrong because you say that the answer is HTML5/Javascript because of PhoneGap. PhoneGap is not a good reason for why HTML5/JavaScript is a good choice. Additionally your response only covers Mobile, whereas the OP's question includes Windows and *nix. Furthermore you don't specifically address how HTML5/JavaScript is a great solution for those platforms (not saying it isn't just saying your response doesn't make it clear). –  Paul Hazen Apr 26 '12 at 1:40
    
We might just have a philosophical disagreement here. The OP is looking to learn how to learn new languages to target more platforms. There are plenty of languages that do that just fine without an additional middle layer. Maybe I'm a being a snobbish purist, but I think that there are far better options (such as the aforementioned python and java) that don't require the OP to learn a framework in addition to a language. –  Paul Hazen Apr 26 '12 at 1:54
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.