Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming Software Linux

How Much Java in the Linux World? 601

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?"
This discussion has been archived. No new comments can be posted.

How Much Java in the Linux World?

Comments Filter:
  • C/C++, not java (Score:2, Interesting)

    by TheCoop1984 ( 704458 )
    Afaik the most heavily used language is C/C++ and not java. Although its used in openoffice and jedit, no other java programs I use regularly spring to mind (unless they're masquerading as something else). C/C++ ar ehte most heavily used, not java, since its used for the kernel and all the 'base' programs
    • Re:C/C++, not java (Score:5, Informative)

      by Pieroxy ( 222434 ) on Saturday July 03, 2004 @06:39AM (#9598905) Homepage
      How many enterprise web application do you know that is written in C/C++? Cause that's where the money is these days....
      • Re:C/C++, not java (Score:4, Insightful)

        by halowolf ( 692775 ) on Saturday July 03, 2004 @06:43AM (#9598922)
        Please lets not go to language wars yet again! :)

        When it comes to programming, I believe in the right tool for the right job. I predominately program in Java but it doesn't mean I use it to solve every programming problem I have. I use scripting languages and whatever else is appropriate to get the job done.

        I only wish more of my peers could understand this :(

        • Nobody said Java was better for those applications. Just that it's extremely widely used there, along with Linux - and based on my experience I'd tend to agree.
        • Re:C/C++, not java (Score:3, Insightful)

          by frisket ( 149522 )
          I use [...] whatever else is appropriate to get the job done. I only wish more of my peers could understand this

          Damn right. They said "use Java", which doesn't necessarily mean "write programs in Java".

          I use applications written in Java daily, some of them very heavily (Tomcat, Cocoon, Saxon, etc). I don't use them because they're written in Java: I use them because they are tools for the job I do. They could be written in COBOL for all I care.

          The pro-Java lobby need to give up this attitude that people

    • Re:C/C++, not java (Score:5, Insightful)

      by Dr. Eldon Tyrell TC ( 701971 ) on Saturday July 03, 2004 @06:55AM (#9598967) Homepage
      There is no such thing like C/C++! C and C++ are different languages with different standards.
      • Excuse me? (Score:3, Insightful)

        by warrax_666 ( 144623 )
        Maybe you are unfamiliar with the concept of the '/' character, but where I come from it is commonly used to denote alternatives. As in: most people use either C or C++.
      • Re:C/C++, not java (Score:3, Insightful)

        by EpsCylonB ( 307640 )
        There is no such thing like C/C++! C and C++ are different languages with different standards.

        See this is why people don't like nerds, no one said they were the same thing but they often get grouped together because of history, stop being so pedantic.
      • Actually, C/C++ is a language. Where C++ is an incremental improvement over C, C/C++ is a mere fraction of C. (If C were 3 then C++ would be 4, thus 3/4.)
    • by AnEmbodiedMind ( 612071 ) on Saturday July 03, 2004 @07:14AM (#9599014)
      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.
    • by Anonymous Coward
      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 [dice.com]:

      8284 - Java

      5714 - C

      4993 - C++

      7967 - C OR C++
    • Re:C/C++, not java (Score:5, Insightful)

      by angel'o'sphere ( 80593 ) <angelo,schneider&oomentor,de> on Saturday July 03, 2004 @07:49AM (#9599130) Journal
      I think the question was about new crafted programs and wether you as a code use java. The question was not wether most installed programs are Java or not, which would be ridiculous.

      Why is that worth a /. storry? You only need to search on sourceforge or freshmeat to realize that the majority of new projects start in Java.

      All people I know program mainly in Java and script in Python ... Commercial projects are either for the Windows platform, and then likely in Visual C++ or Visual Basic, or they are platform neutral and then they are done 90% of the time in Java.

      angel'o'sphere
    • Some hard numbers (Score:3, Informative)

      by johannesg ( 664142 )
      Just looking at sourceforge [sourceforge.net] for a moment, I see that it has 13785 projects in C, 13922 projects in C++, and 12588 in Java. That places the three languages at roughly the same level.

      No other languages come even close to these numbers, although I still have some hope for the future of Euler. Actually I don't, just kidding ;-)

    • I think it depends on the application being written. I'm only talking about Unix/Linux/BSD flavored systems here.

      The 3 channels I see for business related applications are as follows:

      Enterprise applications: Java/J2EE.
      Desktop applications: C/C++ Java.
      Utilities/support: Scripting. perl/phython/ksh.

      Everyone is rolling out J2EE systems even for critical strategic applications.

      But bad experiences with Java performance on the desktop are keeping a lot of folks from using it currrently. Hence, a tremendous a
  • by unixmaster ( 573907 ) on Saturday July 03, 2004 @06:33AM (#9598879) Journal
    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.
    • most of them are open source

      What do you know about the closed source ones? Of course, the open source ones are more visible, so you just jump to the conclusion that "most" are. But what is most?

      1. More apps? Nope, thousands of (not open) companies are developping Java stuff.
      2. More money generated? Oh wait...
      3. More lines of code? I doubt it.

      Well, all in all, I think that most of the Java apps (And most of all the apps in general) are proprietary, and not open source. Sad if you want, but that's still t
  • by WebMasterP ( 642061 ) on Saturday July 03, 2004 @06:33AM (#9598880) Homepage
    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.
    • by msobkow ( 48369 ) on Saturday July 03, 2004 @07:01AM (#9598985) Homepage Journal

      While I do cross-platform C/C++ development as well, when I need to make sure it's cross platform, I use Java.

      Portable, standardized language and interfaces are what gives Java it's power. The community process has provided a reasonable pace of new feature integration, and has abandoned a few implementations that weren't really "ready", much as an orphaned code fork would be.

      Open sourcing Java would be a mistake. Unless protected by a strong consortium of members (JCP) or by a strong backer who refuses to sell out to any one interest (M$ platform-specific extensions), Java would rapidly fragment into several code forks and become essentially useless.

      It may take time to get features in through the JCP, but it also ensures there are no hastily implemented hacks making their way into the system. Quite frankly, the vast majority of OSS projects which don't come from Linus, Apache, Mozilla, or IBM have proven to be an absolutely disgusting mess of poorly and un-documented code. Java's embedded documentation is an elegant solution to the problem of keeping API manuals and source in sync, but it seems most OSS developers still haven't evolved past the "what, you can't read code?" mentality of the teenage "l33t" programming snob.

      OSS means no sanity checks on feature creep, portability verification, documentation verification, regression testing, and all the other enterprise-project aspects of development that make it a useful technology. I've lost track of the number of times I've encountered platform-specific hacks in OSS code that weren't properly #ifdef-bracketed, or which just completely incompatible with other O/S implementations.

      In short, Java is critical because it is portable and managed. The fact that Linux is supported is important from a rollout standpoint, but the underlying OS is (and should remain) irrelevant.

      • I am working at a Java Project at the University and I have found Java to be an absolute nightmare when it comes to consistency of implementation. I agree with you in that the idea of Java was good, but the implementation of the language has absolutely no aspects of a beautiful/easy-to-use language. I could name dozens of things I encountered in the past few weeks but I will name just a few: -primitive types and associated classes: When I want to store a variable of one the primitve types like int (the o
      • by martin-boundary ( 547041 ) on Saturday July 03, 2004 @08:04AM (#9599185)
        Quite frankly, the vast majority of OSS projects which don't come from Linus, Apache, Mozilla, or IBM have proven to be an absolutely disgusting mess of poorly and un-documented code.
        Come now, what a piece of total FUD. So only commercially backed OSS is worth anything? What are you, a shill for some business outfit which shall remain nameless? By far the most important OSS project is GNU, and it doesn't even rate a mention from you. WTF? What about the BSDs?

        The commercial players are merely standing on the shoulders of the community, picking and choosing what they like and more often than not making a mess of it. Need I remind you of the absolute debacle the rpm package system is, compared to Debian's? What about the semi functional, buggy system management tools each vendor (Mandrake, Red Hat, you name it) bundles with their distro, only to be abandoned and redone differently in the next version, and on and on.

        There's certainly absolute utter crap in both commercially backed and hobbyist software, but it's way less simple than Linus, Apache, Mozilla + IBM versus the rest. Most great OSS is NOT company backed, just people doing their best to make something that *works*, however long it takes to build it and damn those share prices.

      • by Xtifr ( 1323 ) on Saturday July 03, 2004 @08:22AM (#9599244) Homepage
        Portable, standardized language and interfaces are what gives Java it's power.

        Yeah, because gods know that no other language has ever been portable or standardized.

        Unless protected by a strong consortium [...] Java would rapidly fragment into several code forks

        Just as has happened with those other highly portable, standardized, cross-platform languages like Tcl/Tk, Perl, Python, etc. (Oh wait, I forgot, there are no other portable, standardized, cross-platform languages, my mistake.) Yeah, clearly, every language that isn't under the rigid control of corporate-owned constortia is instantly subject to massive forking by the dangerous denizens of the dark side. Open-sourcing computer languages makes the baby jebus cry!

        Java's embedded documentation [...]

        Oh, yeah, too bad the perl coders couldn't come up with something like that years before java even existed! Come to think of it, I think the perl guys borrowed it from lisp! Oh well, it's clearly an advantage of Java and of no other language!

        And the best part about using java? It's low-level C/C++-like syntax and data structures means that you get to write many times more lines of code than you would need to to code the equivalent in tcl or perl or python. Why is that good? More money for programmers to write and (especially) to maintain all that extra code!

        Java, with the support costs of a low level language, the run-time overheads of a high-level one, and the benefits of neither, is clearly the best choice. Just try it, and you'll be sayin', "Wow! I gotta get me some o' dat!"

        Whoops, sorry, was I waxing sarcastic again? :)

        Oh yeah, and all three of those other languages I mentioned have all settled on a single cross-platform GUI toolkit to share (Tk). How many GUI toolkits are fighting for dominance in the java world these days? I stopped counting after three. Boy, that there's some good standardization!

        Aaaanyway, I don't want to bash java too hard. I actually think it's a pretty decent language overall. I just get so tired of people who think it's God's Gift; people who usually don't have a clue what else is out there. Java's ok, but it ain't All That!
      • You might have had me until this: "OSS means no sanity checks on feature creep, portability verification, documentation verification, regression testing, and all the other enterprise-project aspects of development that make it a useful technology."

        OSS is a methodology, not a technology.

        And to claim that only "enterprise projects" are "worthy" somehow is complete arrogance.

        While I agree that having centralized control works, there are quite obviously many other ways of doing things, I think to call it the
      • by TRACK-YOUR-POSITION ( 553878 ) on Saturday July 03, 2004 @09:03AM (#9599415)
        You know, you can make non-cross platform code for Java. You can call Cocoa classes on Mac OS X, and I think there are some sort of gnome bindings in Java. You can use JNI to call native crap wherever you want. You can do lots of platform specific things in Java--which is good, because sometimes you need to do things only available on a given platform. When I'm running a GUI program, I don't care that this program was designed to work on all platforms--I want it to integrate well with the platform I'm on at the time.

        So the whole Sun fear of "embrace and extend" is completely moronic. You can ALREADY extend Java in completely incompatible ways. After open sourcing, Sun's Java standard will still remain the "real" Java, and we know this will be the case because if it were not, then Java would have already lost control. So, if you're a developer, and you care if you're code works outside of Linux, then you'd better use Sun's (or possibly IBM's) Java implementation. And that's how it will be until the day no one cares about Sun Microsystems--a day that will come much sooner if Java continues to stay restricted and everyone's forced to move to Mono.

        On the other hand, Java's pace would probably faster (and we wouldn't have had to wait forever for generics.) if it were open. Standards are just as important if not more to Mozilla as to Sun, but being open seems to work well for them.

        It would certainly allow Java to be targetted to more obscure platforms. God help you if you want to write once, run anywhere other than Windows, Sun, Mac, or Linux/x86.

        It would also mean that I wouldn't have to go to Sun's painful web site and hunt down the SDK and documentation past all the click-thru licenses. At the very LEAST it would be nice if sun let other people distribute their still closed java implementations. Of course, that would just be nice, it wouldn't be enough to head off platform irrelevance.

        OSS means no sanity checks on feature creep, portability verification, documentation verification, regression testing, and all the other enterprise-project aspects of development that make it a useful technology. I've lost track of the number of times I've encountered platform-specific hacks in OSS code that weren't properly #ifdef-bracketed, or which just completely incompatible with other O/S implementations.

        Yeah, that never happens in closed source software EVER. I actually agree with you that the language choices of OSS aren't all that grand (though lots of languages have embedded documentation, and the ones that don't can have it added with seperate tools)--but if you want everyone to start using Java instead, opening the source is the only way. No one wants to dedicate their time and energy for free to something a corporation has complete legal control over--unlike Mozilla/Apache/Linux, in which the corporations have merely de facto control. To be honest, Sun has made so much noise about their Open Source debate that I can't see how anyone could have any respect for them at this point if they don't announce a plan to open it reasonably soon.

        • So the whole Sun fear of "embrace and extend" is completely moronic. You can ALREADY extend Java in completely incompatible ways.

          I think from Sun's perspective this is not a problem because JNI, or things like Apple's cocoa bridge, are fairly insular. You don't *have* to adopt software with a JNI component, and if you do this you pretty much agree that you're being hardware tied to some extent.

          I think Sun's worry about "incompatibilities" have mostly come from worries over silent, endemic incompatibilit
    • I do the opposite. I write in a mixture of Java and native code that only runs on Windows. It could theoretically be ported to Linux, but I haven't done it yet.

      I do this because (1) I like working in an object-oriented, garbage-collected, runtime-typed language, and Java was the most convenient for me when I started all this (I'd probably use C# & either .NET or mono if I was starting now, but I have a load of reusable code I don't want to have to port), and (2) I need to use native APIs to achieve t
    • by iabervon ( 1971 ) on Saturday July 03, 2004 @10:48AM (#9599838) Homepage Journal
      I suspect that the Linux-Java link is largely that Java lets you run on any platform, and Linux is the best platform when you have no requirements for the platform. If you are planning to run purely Java software, you can choose your platform based on cost, performance, stability, etc., rather than worrying about features and migration cost.

      I think that it is not particularly the case that Java is popular in the Linux world, but that Linux is popular (as least as a deployment platform) in the Java world, and that is a substantial portion of the Linux world as seen in business.
  • Mono/C# (Score:2, Interesting)

    by ron_ivi ( 607351 )
    We're actually doing a Mono/C# app.


    Might try Java if the Mono JVM works well, but seems Novell's focus is on C# first.

  • by PimpbotChris ( 775813 ) on Saturday July 03, 2004 @06:33AM (#9598884)
    If we didnt, do you think we would be whinging every day about it not being open source?
  • I,for once, admit to being a newbie on Java.I have played around with the various LInux distros and haven't messed with Java too much.(Only 24 hours in a day after all).
    Break out the coffee pot & caffine tabs.It's gonna be a long night.
  • by Anonymous Writer ( 746272 ) on Saturday July 03, 2004 @06:36AM (#9598889)
    You don't want to step on Sun's toes by using the name "Java" in naming something you made with it, like "Java Invaders" [cmdrtaco.net].
  • by Anonymous Coward on Saturday July 03, 2004 @06:38AM (#9598896)
    ..then you're not in the fucking industry.

    simple as that, really. it IS heavily used(along with others).
  • Incredible, indeed (Score:5, Informative)

    by Anonymous Coward on Saturday July 03, 2004 @06:39AM (#9598904)
    I was surprised to learn that Java is used more than Perl or C++ in projects listed on freshmeat.net [freshmeat.net].
    • by Anonymous Coward
      No, this is because a lot of relatively young programmers have only learned Java, not C/C++/Python/Perl/etc. in school. And because Java is hyped as being modern and cool by the media, businesses and its developers. In short Java is hypeware.

      I'm willing to bet that the downloaded total of eg. Python/Perl is bigger than that of Java. Fot C/C++ this goes without saying. The nr. of downloads indicates use, not the nr. of Java projects.
    • by njdj ( 458173 )
      I was surprised to learn that Java is used more than Perl or C++ in projects listed on freshmeat.net.
      It isn't. More projects list Java as an implementation language than list C++ or Perl (by a very small margin, see below). But this includes projects largely written in C++ or Perl, which have a small piece written in Java. Number of mentions does not correspond with amount of use.
      The most-frequently-mentioned languages on that Freshmeat page are as follows.

      Language, # mentions
      C, 6334
      Java, 312

  • by herberts ( 648935 ) on Saturday July 03, 2004 @06:41AM (#9598912) Homepage
    Hi,

    my team is in charge of the technological foundations for all the Internet related apps pushed by our employer. Linux / Apache / Tomcat is used EVERYWHERE for all our online banking and trading systems.

    Access to the legacy system is also done in Java.

    I also clearly think we're not alone doing so.
  • lots (Score:4, Informative)

    by primus_sucks ( 565583 ) on Saturday July 03, 2004 @06:43AM (#9598919)
    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.
  • by cmacb ( 547347 ) on Saturday July 03, 2004 @06:43AM (#9598921) Homepage Journal
    I'm hooked on the stuff. If I don't have a cup first thing in the morning the whole day is shot.

    I think Java should be free. Down with Starbucks!
  • by arvindn ( 542080 ) on Saturday July 03, 2004 @06:49AM (#9598935) Homepage Journal
    Start up a JVM process and you'll find that it makes incredibly heavy use of resources. That's what he means, incredibly heavily used ;-)
  • How many projects? (Score:5, Informative)

    by Simon (S2) ( 600188 ) on Saturday July 03, 2004 @06:50AM (#9598939) Homepage
    Just have a look at the projects [sourceforge.net] 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.
    • by Taladar ( 717494 ) on Saturday July 03, 2004 @07:42AM (#9599103)
      This statistic says nothing about the real use of any of these languages. It just tells us how many people started projects in one of the languages but it does not tell us about the success. They might be abandoned right after they started a few lines of code or the might be very active and have a few thousand lines of code.
  • by pivo ( 11957 ) on Saturday July 03, 2004 @06:51AM (#9598942)
    I work for a company that produces a J2EE application server and J2EE web applicatons, so I'm pretty much exclusively Java and exclusively Linux. I've been using Java on Linux for work for the last five years.
  • Java and OSes (Score:2, Interesting)

    by furball ( 2853 )
    Organizations building web applications will pick a technology (Java, PHP, Perl, etc.) and then the OS to support it. No one in their right mind picks the OS then the web technology. That's just nuts.

    Wal-Mart for example went with Java and Linux for their website in their early history. It's on Java and Solaris x86 today. Now what is it about Solaris x86 that could convince a cost-conscious organization like Wal-Mart to make the switch?

    With Java development, the OS is completely marginalized. The question
  • ermmm hold it folks (Score:2, Informative)

    by sofar ( 317980 )

    not all of us enjoy java. I have a measly p3-1ghz with 192mb of ram and when mozilla and a few other apps have filled it up for every-day use even the *smell* of java makes me sick, my lappy starts swapping and mozilla crunches to a halt.

    That's just j2 plugins in my browser... openoffice with java takes 60+ seconds to start, and you think java is widespread?

    seriously java might be nice but for some things it really isn't. Everytime I start a solaris admin tool using java I think "okay it saves sun develop
  • Personally? (Score:3, Interesting)

    by cloricus ( 691063 ) on Saturday July 03, 2004 @06:54AM (#9598957)
    Well I guess I use Java apps a lot. I am forced to use windows for some applications so to feel at home I tend to search for cross platform programs when I need some thing. These tend to be Java based. I then install them in Linux and windows and it all works out. I would say that 3/4th of my every day programs that I use are Java. Though that could just be me. :P
  • by arcade ( 16638 ) on Saturday July 03, 2004 @06:58AM (#9598979) Homepage
    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. ;)
    • 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.

      While that's relatively true, in absolute terms it really depends on the spec of your machine. For instance, I use JBuilder at work, and on my machine there it's plenty responsive enough. Of course, I have a 3GHz P4 with a gig of RAM; on my old P2 450 with 512MB it was rather more painful.
    • Amen to that... (Score:3, Informative)

      by Phil John ( 576633 )
      ...some of our clients want real-time chat facilities on their sites (a bit like the liverperson support system), we provide this using a custom built Java chat server.

      Now that we've got proper Non Blocking I/O and you don't need a thread for every connection (or to implement your own multiplexor with JNI) the memory usage of our server app has come down considerably.

      Looking at the latest stats on my performance monitor it's currently dealing with 463 concurrent connections and using roughly 70 megs o
  • Actually.... (Score:2, Insightful)

    by Anonymous Coward
    Linux is heavily used in the Java community...
  • by Red_Winestain ( 243346 ) on Saturday July 03, 2004 @07:04AM (#9598990)
    I'm involved with a commercial, web-delivered application, and we use Java served from Debian GNU/Linux boxes. Java was picked because our market is education, we need to support Macs and Unix as well as Windows.

    The key, though, is that we've found we get the best results (e.g., as close to running universally as possible) by compiling on Linux (as opposed to on a Wintel box or a Mac box). Folks using anything from Mac OS 8.1 and Win95 to the latest thing all have access.

  • Java on Linux (Score:5, Interesting)

    by DoctorPepper ( 92269 ) on Saturday July 03, 2004 @07:15AM (#9599017)
    I use Java on all four of my main platforms: OS X, Linux, FreeBSD and Windows. I tend to use it for projects that are larger than I would feel comfortable doing in Perl. An added benefit is they are cross-platform, just like Perl.

    I started using Java in 1997 on Windows, and it followed me when I expanded into different operating systems.

    I really like C, and use it for some work-related and recreational programming, but when the "rubber meets the road" and I need to get something done within a short time frame, I turn to Perl and Java. Perl, mostly for data parsing jobs, and Java for the more "permanent" programs, especially for graphical network clients.

    I've been using Java JRE's since 1.02, and they have really grown in power and speed over the years. I have no problems using Swing apps on my 800 MHz iMac or my 1.7 GHz Celeron Linux system. They even run very well on my 533 MHz Celeron running Windows 2000. While they may not have the raw speed of a native app written in C or C++ (especially graphical apps), the performance I get is more than adequate for the job being performed.
  • by Decaff ( 42676 ) on Saturday July 03, 2004 @07:22AM (#9599043)
    The volume of Java use on Linux can be judged by taking a look at the operating systems that Sun directly provides Java VMs for: Solaris, Windows and Linux. This has been going on for years, even before Sun's recent 'conversion' to Linux use. This was because of demand from Linux developers. It makes sense: Most server-side coding is now done in Java, and the fastest growing server operating system is Linux.

  • by the_emmy ( 323463 ) on Saturday July 03, 2004 @07:27AM (#9599055)
    I'm using Java when ever possible (i.e. when I have to choose the plattform). The two main reasons for this are:
    • There are many very great libraries. E.g. OJB [apache.org] is a great database layer and SWT [eclipse.org] can create nice GUIs. All these Apache Common Tools [apache.org] are also very great and allow quick application development.
    • Eclipse [eclipse.org] 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 all .NET/C# projects. .NET/C# is not that bad, but some libs are bad documented (e.g. ASP.NET) or limited (ADO.NET -- one cursor open per connection ?!?!) so you have to build workarounds and own libraries. Also the development environment is not bad, but it has no refactoring, eats memory like hell and is dog slow.
  • by Karora ( 214807 ) on Saturday July 03, 2004 @07:30AM (#9599066) Homepage

    We do a lot of Open Source work, but by far the bulk of it (especially for enterprise level applications) is done with Perl.

    Of course if we were "bigger" or writing "bigger" applications, Java starts to see some advantages, but the biggest hurdle is to actually get a reliably installable version.

    Sure, we can download it from IBM, or from Sun, or from Blackdown, but they all have differences of opinion, differences of quality and differences of ideals.

    We use Debian for all of our systems, and every other damn software package we run is built and works for Debian, and plays nicely with everything else. But not Java. There's no standard place that it gets installed - to the extent that some packages will successfully identify that you have it, and others won't. It isn't in synch with the libc or libgcc that's current at any point in time. Since I upgraded my laptop to Mozilla 1.7, Java no longer works: not that it was ever particularly reliable.

    So while there might be some wonderful advantages to building applications with Java, the general flakiness of my experiences with applications written to use it, means that I can't develop for it, because I can't inflict that flakiness onto my clients.

    Partly, of course, this flaw is because Debian's approach to licensing means that something with the shackles around it that all JVM's will have, will never be part of core Debian. In fact though, that's mostly the case for any distribution, even the commercial ones, because they are all depending on open-source licenses for all the rest of the environment, and to be in synch with those, you have to be part of everyone's standard install.

    Commercial distros must have to put lots of effort into making their setup work with their chosen JVM, rather than sticking the horse in front of the cart and making their chosen JVM work within their environment.

    I sure would like to see an DFSG free implementation of Java, and I don't understand why this entails Sun "losing control" of the standard, and why they are in such a panic about allowing that to happen.

  • by elemur ( 7613 ) on Saturday July 03, 2004 @08:40AM (#9599313)
    Well.. this sort of question will lead to the following answers:

    1. I don't use Java because my machine is too slow, I don't like applets, or perhaps they use one Java app and say its ok. (These answers are from people who didn't read and understand the question.)

    2. I like Java == Coffee! (These answers are from people who did read it, but were being funny.. thats good..)

    3. I don't see Java used in the enterprise at all. We run a pure win32 shop and block Java at the firewall. In fact, we only drink tea to ensure we are not contaminated. (These answers are from a software company in Washington state mainly.. with a few other unfortunate exceptions as well.)

    4. We use Java in the enterprise. (These answers are from people who actually work in an enterprise.)

    A definition.. the enterprise does not mean your home network.. your school lab.. sourceforge.. freshmeat.. the internet cafe that you swap sysadmin services for free scones.. it means large corporate systems and infrastructures.

    I haven't seen any enterprise-class system *not* oriented towards Java in a long time. Even ones not build in a J2EE model have evolved over time to support many of those components to streamline integration and development. Java has a good solid foundation in these areas, and with newer versions of the J2SE/J2EE specifications, it gets to be a richer server and client platform.

    As far as Java on Linux.. I think the question should be more focused on the adoption of Linux as opposed to Java. Many places I work run many Java applications, but have requirements that Unix-hosted systems and applications must live on Sun Solaris, IBM, or other platforms. These requirements simplify management, accountability, and vendor management. That is worth a lot. Getting that Linux box online is cheaper when compared to that Sparc box, but the lifetime of supporting and maintaining the box could be higher if you are already supporting a large Sun infrastructure. This is all irrespective of Java.

    Probably one of the biggest deals for Linux in the enterprise is Oracle's push and support of Linux for their entire suite of applications, and for publishing effective case stories on horizontal scaling on Linux systems. This benefits Java, as that is the primary language in Oracle-land now, but its a bigger benefit to Linux. IBM's push for Linux and Java is also very effective... (I rate Oracle higher, since they don't have a hardware issue to bring to the table, and are just pushing software.. IBM does push the software in the Websphere suite, but tends to bring hardware as well..)

    So.. Linux is gaining in enterprise acceptance.. therefore Java on Linux is gaining.. but I think Java is set and has proven itself. Its Linux that is doing the proving now.

  • There may be lots of java projects listed on sourceforge but I can't say I have ever downloaded and used any of them except freenet and i2p and they both have their share of java-induced problems. I regularly download software from sourceforge and other open source project sites but it is almost always C or python or perl or something. Are there any java killer apps? I've heard jakarta and tomcat and jboss are popular but they would seem to be rather niche applications, I've certainly never had a use for them nor do I know anyone who uses them although I occasionally see someone on /. or elsewhere mention them. It would seem that java is mainly used server-side. Why is that? For what reason is it not desireable for client applications? I have my own ideas but I would like to know what others think.
  • At my company, we started building a new product on RH9 using Sun's
    JDK 1.4.2. This worked fine through development and functional
    testing. But once we started doing stress testing and scalability
    testing, things got difficult.

    First we hit the infamous LD_ASSUME_KERNEL problem. The JVM would
    freeze up mysteriously on innocuous statements such as "count =
    0". This happened in synchronized method, and the more threads there
    were, the more frequently we'd hit this problem.

    Then we discovered that the Sun JDKs management of memory in
    conjunction with nio classes was not so good. Memory usage as reported
    by Java was fine, no leaks, and then all of a sudden we'd die with an
    OutOfMemoryError.

    IBMs implementation seems to be of higher quality on Linux, and that's
    what we're now using.

    Having gone through all this, I'm still glad that we're on Java. It's
    a very nice language, performance is more than adequate (for our
    application anyway), the libraries are excellent, the tools are
    excellent, and I'm happy not to be dealing with memory corruption
    issues.
  • The Answer (Score:3, Funny)

    by RAMMS+EIN ( 578166 ) on Saturday July 03, 2004 @09:24AM (#9599500) Homepage Journal
    ``how many Slashdotters are also Java users?''

    42
  • by Per Abrahamsen ( 1397 ) on Saturday July 03, 2004 @09:32AM (#9599528) Homepage
    With regard to "core" code of GNU/linux, Java is only just on top-10 accodung to this analysis [dwheeler.com], which count lines of code in a distribution. But Java is much more popular for specialised situations, than for general purpose tools.
    Language SLOC (%)
    C 21461450 (71.18%)
    C++ 4575907 (15.18%)
    Shell (Bourne-like) 793238 (2.63%)
    Lisp 722430 (2.40%)
    Assembly 565536 (1.88%)
    Perl 562900 (1.87%)
    Fortran 493297 (1.64%)
    Python 285050 (0.95%)
    Tcl 213014 (0.71%)
    Java 147285 (0.49%)
  • no "vs" there at all (Score:5, Interesting)

    by dekeji ( 784080 ) on Saturday July 03, 2004 @09:52AM (#9599596)
    about the possible merits of open-sourcing Java vs the market's demand for continuing compatibility

    That phrasing suggests that open sourcing would have threatened compatibility, but the exact opposite would have been the case: under Sun's processes, Java has fallen apart: several different toolkits (AWT, Swing, SWT, ...), several incompatible 3D APIs, incompatible and incomplete implementations (Sun's, gcj, etc.), several incompatible levels (J2SE, J2ME, J2EE, ...), and on and on. Even among Java implementations based on Sun's code, there are wild incompatibilities. C# and Mono are futher incompatible branches off the Java tree. Open sourcing Java could have reduced those incompatibilities because people wouldn't have had to reinvent the wheel just in order to get around Sun's licensing restrictions; something like Swing, for example, would have died its well-deserved death early on, instead of being kept alive artificially by Sun.

    Of course, why any of this is worth worrying about anymore, I don't understand. Java has failed on all its promises: its promise to become a platform-independent way of delivering applications via the Internet, its promise of becoming a universal client development language, and even its promise of becoming a good server-side development language. Java hangs on in education, but as Pascal shows, that doesn't mean much. And some big corporations with too much money still try to use Java for "enterprise systems", but you can sell those guys anything.
  • nearly none (Score:4, Insightful)

    by dekeji ( 784080 ) on Saturday July 03, 2004 @10:10AM (#9599680)
    Have a look at your Linux installation. Do you even have a Java runtime installed? What are the dependencies when you try to remove them? Chances are good that, even if you happen to have a Java runtime installed, you can remove it without losing any functionality you use. Compare that with, say, Perl.

    Unless you have a rather unusual and specific need (Tomcat, JSP, Java homework problems, you probably will never need Java on your Linux system.

    It's true that people have started a lot of projects in Java: there has been a huge flurry of "X-in-Java", where "X" is any existing piece of software, but few of those projects have been successful. And most Java projects that have yielded something useful are just Java projects to produce tools for Java programming, rather than anything any normal user might want to use.
  • by sonamchauhan ( 587356 ) <sonamc@PARISgmail.com minus city> on Saturday July 03, 2004 @12:26PM (#9600267) Journal
    So who was right, how many Slashdotters are also Java users?

    Slashdot editors, in future please accompany such articles with a Slashdot poll.
  • Simple math (Score:3, Interesting)

    by BeerSlurpy ( 185482 ) on Saturday July 03, 2004 @12:34PM (#9600310)
    Most linux boxes today are working as web/application servers.
    Most enterprise apps these days are being written entirely in java/jsp and using web services. The only notable exception to this is the microsoft small business market which uses stuff like IIS/ASP.
    So yeah, java on linux makes perfect sense in the business programming world, although not in the way most linux geeks think of programming (desktop).

    You get 90% of the prettyness of a windows app, lower memory and cpu requirements, no deployment costs, no upgrade costs beyond developing the upgrade and both the platform and the language are free. Obviously, using something like websphere costs money, but that is optional.
  • Why java (Score:3, Interesting)

    by bl8n8r ( 649187 ) on Saturday July 03, 2004 @03:21PM (#9601214)
    First of all, I was programming in C and assembly language in the early 90's. Portability was a friggin nightmare. The idea of just taking a chunk of source code and plopping it into another compiler/assembler worked well in theory, but reality was a different story. The java system is such that one *CAN* take the same source code, plunk it down onto a completly different machine, architecture and OS and achieve the same functionality and results (within reason of course).

    The ability to code on one platform and run your application on anything that there exists a java interpreter for is a wonderful thing. Especially with the upcoming Exodus from the Windows platform to Linux, there will be a big opportunity for java to close the gap on cross-platform solutions.

  • by wintermute42 ( 710554 ) on Saturday July 03, 2004 @05:33PM (#9601911) Homepage

    I've been programming heavily in C++ for many years. While I have a love hate relationship with C++'s complexity, I never thought that I would use Java heavily. But I've been working on more web services applications that access a database. The huge class library that is available with Java is a great advantage when it comes to developing these applications. Sure I can pay thousands of dollars to Rogue Wave [roguewave.com] and get some of the same features in C++ that I get for free using the Sun and Apache Java libraries. But why? The higher performance of C++ is of little use to most applications that references a database, since these applications are usually bottlenecked in the database. And when it comes to web services (e.g., XML processing, servlets, dynamically generated web pages), C++ cannot compare to Java. And then there is garbage collection, which makes develoopment faster.

    There are still applications that I would not write in Java. For example, compilers or other algorithmically intensive applications that are CPU bound. There are also times when I can simplify my code by using C++ features like operator overloading (see my wavelet packet transform algorithm [bearcave.com] for example). But these applications are now in such a minority in the work I'm doing that I worry that my C++ "chops" will get rusty.

    I went to a talk by Stroustrup where he discussed C++ (some cool algorithms to support linear algebra computation), future developments and C+++ vs. Java. He promotes C++ as a systems programming language. For things like operating systems, virtual machines, hardware drivers and compilers. He trumpted C++ as the most widely used programming language. What does not seem to have occured to Stroustrup is that systems level applications, where C++ shines, are a small minority of the code programmers write. My view is that C++'s star is fading.

    So yeah, I'd say Java is heavily used on Linux. At work I'm part of a group developing a distributed database application in Java (this runs on top of a relational database, so Java's performance is not an issue), hosted on Linux. I'm in the process of setting up a Linux/PostgreSQL system on which to develop a financial trading application, again in Java, using XML and web services.

Lots of folks confuse bad management with destiny. -- Frank Hubbard

Working...