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 Java becoming the de facto standard from Linux application development in the same way .NET is the standard for Windows application development? If not why not?

share|improve this question
16  
Where is this coming from? I have hardly ever seen any Java apps in Linux at all. –  tcrosley Sep 28 '10 at 4:23
    
"application development" is a very broad term, can you be more specific with your question? –  MattDavey Jan 6 '12 at 14:46
add comment

6 Answers

up vote 30 down vote accepted

In short: No.

It really depends on what sort of application you are writing. For many the answer is still regular old C/C++ (if doing, say Qt or GTK+ GUI development). Many doing GTK+ development may also be using Python + PyGTK. If doing web or web services development, you see lots of Ruby, Python, PHP, and Java.

share|improve this answer
5  
Just going to add that a lot of Gnome apps are being built in C# using Mono. Think F-Spot and Tomboy Notes, for the two that pop to mind first. –  Slokun Sep 27 '10 at 15:30
1  
@Slokun: And Banshsee (banshee.fm) –  Pete Sep 27 '10 at 15:46
4  
I see lots of python in ubuntu based distro's –  TheLQ Sep 27 '10 at 22:39
    
Isn't Evolution mail also written with Mono? –  Steven Ellliott Jr Jan 6 '12 at 14:00
    
@StevenElliottJr No, it isn't. Miguel decided to work on Mono after his experiences working on Evolution. His hope was to make writing applications like Evolution easier. Evo is still written primarily in C (with plugins possible in several languages). –  Pete Jan 6 '12 at 15:17
show 1 more comment

I don't see Linux having a 'standard' development platform because one of the main differences with Microsoft 'ecosystem' is that is not a single-vendor platform.

.NET is the standard platform on Windows only because it is made by the same company that makes the operating system.

share|improve this answer
1  
I wouldn't say that's the only reason - it's more to do with the fact that .NET 2.0 is virtually guaranteed to be installed on any Windows machine - if an equally powerful 3rd party platform had the same market penetration it would be a contender. –  MattDavey Jan 6 '12 at 14:52
add comment

While the answer may seem to be yes to the casual user, it really isn't a good comparison. There are many different computer languages that can run under Linux and Windows. In fact, the different .NET languages (such as C#) can run under Linux using Mono. In addition, there are MANY programs written in Java that run just fine under Windows.

A better comparison might be Java is to the Java Run Time Engine as C# is to the .Net Framework.

share|improve this answer
add comment

Linux defies standards in many ways, because it is such a diverse community. Personally I'm a big advocate of mono with c#, mostly because I feel more comfortable with the monodevelop ide (closer to visual studio) rather than eclipse, which ive always been particularly clumsy with.

share|improve this answer
add comment

Since when is Java the de facto standard for Linux development? GNU is mostly C, GTK and GNOME are mostly C, X Windowing System is C, KDE is C++. I use linux and I don't even bother to install Java - nothing I use needs it.

share|improve this answer
add comment

Not really, though perhaps it should (from the perspective of making the Linux desktop successful).

While you can use Java on Linux as a platform in a similar way to .Net on Windows there are two substantial differences:

  • .Net is fundamentally tied to the Windows platform, but Java is portable across pretty much all platforms. So Java isn't really "native" to Linux.
  • The Linux platform is much more heterogeneous, with substantial (some might say fragmented) communities around many different programming languages and toolkits. There's the python folks, the C++ folks, the C folks, Perl people etc.

Having said all that, I think the failure of the Linux community to properly embrace Java on the Desktop is the main reason why Linux hasn't yet been successful in the desktop space. Java and it's huge library/tool ecosystem is the only open source platform that can realistically compete and win with .Net for general purpose application development. And if more people developed Java applications (which can run identically on Windows and Linux) then the Microsoft desktop monopoly would be substantially weakened.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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