How Much Java in the Linux World?
jg21 writes "Java is 'incredibly heavily used' in the Linux community, according to Sun's James Gosling, one of Java's co-creators. Gosling was debating Stanford's Lawrence Lessig, Apache co-founder Brian Behlendorf, IBM's Rod Smith, and others at JavaOne this week about the possible merits of open-sourcing Java vs the market's demand for continuing compatibility. But Behlendorf seemed not to agree. So who was right, how many Slashdotters are also Java users? Is "incredibly heavily used" an overstatement by Gosling, who after all helped create the language and therefore might be biased?"
Check out http://jakarta.apache.org . All of projects are under Java and they are highly sophisticated open source project. Also some of http://xml.apache.org projects are under Java too. So I say not maybe highest usage but sophisticated apps are written under Java and most of them are open source.
Never learn by your mistakes, if you do you may never dare to try again
I develop radar software and I'm writing it in Java. This is done for cross-platorm compatibility though, not just because I want to run it on Linux.
I was surprised to learn that Java is used more than Perl or C++ in projects listed on freshmeat.net.
How many enterprise web application do you know that is written in C/C++? Cause that's where the money is these days....
Write boring code, not shiny code!
I work at a fortune 500 company. My present Java project is hosted on Linux and it's planned that all upcoming projects will be as well. We are even looking at Mono for hosting our legacy ASP apps, but all new development is Java on Linux. I guess someone is tired of getting viruses that disrupt our network.
Just have a look at the projects hosted on sf.
There are 12588 projects in Java. Right behind the 13922 in C++ and the 13785 in C.
So I guess, Java IS used a lot.
I just don't trust anything that bleeds for five days and doesn't die.
Java is indeed heavily used - in some areas. It's in extreme usage "server-side", and many people develop applications in Java - for servers.
;)
On the client, however, you'll find it far less often. I use a java client when no other alternatives exist. Java has always been an incredible memory hog for me. I don't like using java on the client. It's mostly slow and unresponsive.
Personally I vastly prefer to use C or C++ programs, as they tend to be much nicer to use. In addition, they tend to have the same interface as the rest of the programs in my desktop environments.
"Rune Kristian Viken" - http://www.nwo.no - arca
He said "Java is 'incredibly heavily used' in the Linux community", not that it is the "most heavily used language".
A subtle but important difference.
- There are many very great libraries. E.g. OJB is a great database layer and SWT can create nice GUIs. All these Apache Common Tools are also very great and allow quick application development.
- Eclipse is the best IDE I ever saw. The great refactoring features and the hot code replace speed up development immensely.
Sometimes I'm not the own who chooses the plattform of a project. In the last years these projects were allThats funny seeing as SUSE and Slackware DO ship SUNs JDK.
What would we lose if all Linux Java apps suddenly disappeared?
The ability to develop for one of the most widely used server systems (Linux) in the most widely used server-side development language (Java).
You are probably right that C and C++ are more heavily used by Open Source developers.
If we look at the number of jobs being offered, however, it appears that Java is now the number one language used in business, having passed C and C++ sometime in the last two years.
For example, here are the current numbers of job listings at Dice.com:
8284 - Java
5714 - C
4993 - C++
7967 - C OR C++
Corrected link:
SourceForge Projects by Programming Language
From the page:
- C (13785 projects)
- C++ (13922 projects)
- Java (12588 projects)
That's very interesting. Even though I'm a Java supporter, I was surprised to see so many Open Source Java projects.
Care to back this up with some facts? If Java has done anything, it is trying to stay backward compatible too long. Not a single method that has been deprecated has been removed. There are quite a few Java developers that would like to see the JDK cleaned up of those.
For example, even the entire Swing library hasn't been updated to use JDK 1.2, eg., it still uses Vectors instead of Lists, just for keeping the backward compatibility.
If only I could come up with a good sig
C++ has this nice thing called Operator Overloading, "==" can be assigned to a method. Java does not do operator overloads, it's a PITA for people who are used to having the feature.
Just to give you an idea, you could take a class like CheeseDoodle, and assign an operator== such that if a CheeseDoodle instance is compared with an integer, it will call a method which compares CheeseDoodle.quantity with the supplied integer. But if a CheeseDoodle is compared with a PotatoChip, you could choose to write a method which would declare it true or false depending on various properties of the particular instance of the CheeseDoodle or a particular instance of the PotatoChip.
Suddenly your; p .snackfoodindex()))...; ...; ...;
if (cheeseDoodle.quantity().isEqual(thingamajig))...
if (cheeseDoodle.snackfoodindex().isEqual(potatoeChi
becomes :
if (cheeseDoodle == thingamajig)
if (cheeseDoodle == potatoeChip)
Yeah, it can be abused an obfuscated, I think that might be why Java avoids it, but it is damn handy.
No, it runs in native 32-bit code instead of being emulated in an optimised JVM that makes it only five or ten times slower than native code.
*sigh* This is nonsense. Its been nonsense for years. For goodness sake, keep up to date. Java is now comparable to C++ speed. Just look back at recent Slashdot articles.
You say Swing is slower than SWT. I say show me the benchmarks. Specifically I want to see how, in a standard business app doing something in SWT will increase a users productivity over Swing. I don't want to see stuff like this window opened in .001 seconds faster.
:-)
I also say that we had AWT which is very similar in design to SWING. I have done some work with Java clients and found Swing to be a huge pain in the ass.... BUT one thing it has going for it is that you know what the heck the layouts are going to look like. Secifically if you develop something with SWT, and run it on different platforms, the windows will look different. That can flat out suck. From a developer perspective I "might" want to have a common look and feel for this app, and SWING provides that. SWT does not. The only advantage of SWT is that it is suppose to be faster, and have the native look and feel of the OS it is running on. I say show me SWT for NetWare? My PDA? My cell phone... you get the idea.
So again I say show me the advantage of using SWT over Swing. Specifically in performance, that will relate to increase productivity to a user.
Lastly, to be on topic
All of our Linux machines run Java in some shape or way. I would agree that Java has played a large factor in Linux growth. I would also say that a reason for Java's growth in the server world is largely in part to Linux and IBM. Without Linux, we would be an all Windows shop, and then we would have to ask why we develop in Java when we are all Windows. Without Java we would have to pick a language that we could easily develop on our desktops (Windows) and then move to test and production. That would probably be some Microsoft language.
So I say to all the anti Java people who love Linux and open source... We need each other. The Java people want nothing more than for Linux/BSD to become THE OS of choice.
The more I learn about science, the more my faith in God increases.
Why the compounding of a task into another task to achieve the same result. Running the scripts I require to run through Java adds another step to running them that I do not require. Therefore it is a solution to a problem that is more complex than alternate solutions that exist to the same problem.
How is that complex?
It is more complex than what I require. Since you do not know what I do, you are hardly in a position to judge. I on the other hand can readily judge whether running my scripts through Java is something that I require. Believe me, its not.
Is that complex?
No, and this is where things get delicious, I'm talking about scripting, you know, writing text files with commands in them that you launch using a command interpreter of some kind. Not running a command prompt that the so called "Examples" of yours show. Its actually more complex to call a script from Java than your poor examples reflect. How about a link to demonstrate: BeanShell Example - Calling scripts from Java
If it is, I think you should be careful about what problems you are trying to solve. Stick to simple ones.
I think that you should perhaps take some of your own advice. I know how to run a command prompt, I know how to run a script, I know how to run Java. Some other advice I would offer would be to actually not insult people in a public forum. You might not be prepared for the consequences.