63 Comments
- jfsgr8, on 10/12/2007, -0/+4I used to have the erroneous impression that Java apps were slow, bloated, and ugly. That has changed quite a bit lately. I've been using Eclipse, NetBeans, Azureus, Limwire, DrJava, and jEdit - all applications that look great and perform very well.
Swing (the main Java GUI API that has had it's problems in the past) has been improved a great deal, and now there is SWT, which ties in with native GUI APIs. So now you can get Java GUI apps that look great, perform great, and are not such big hogs on resources.
Besides, Java's biggest area of success is on the server side, with J2EE, for large networked, distributed corporate/government applications that require the greatest amount of scalability as well as the ability to run across multiple platforms. For this arena, Java has really shined.
And these opinions are coming from someone who has mostly favored C and C++ in the past (I still think they're great). I've generally preferred natively compiled applications, and have considered big run times like the JVM a big annoyance.
However, as I've said, Java has come a long way. Also, the cross platform capability cannot be underestimated. A case in point is that I run both WinXP and Linux. It is really nice to be able to run the exact same apps on both platforms and have them look and perform the same way on both. Also, it is an extreme convenience to not have to worry about having properly compiled packages for an individual platform. Usually, that's not a problem with Windows (because of the MS desktop monopoly), other than different Windows versions. But with Linux, there are road bumps. In many cases, you have to depend on the individual distro to package the software for their individual distro, or you have to rely on the app vendor to compile specifically for that individual distro. However, with Java, all that doesn't matter. All you have to have is a current JVM installed and in the PATH (a no brainer), and you're good to go. Also, I could easily run the exact same Java apps on a Mac (if I had one), or on Solaris (which I might try before long).
Finally, I'd just like to day that language wars are stupid, and saying stuff like language X sucks just displays the ignorance of the person saying it. It all boils down to just using the right tool for the job, and considering the pluses and minuses of each individual tool. - clvrmnky, on 10/12/2007, -0/+3Why Java?
Because customers run all sorts of platforms. Java is one of the best cross-platform development platforms for the enterprise. Coupled with the fact that Java has a rich set of third-party tools and APIs, this is a big win.
If you need to make nice tight object code and need to target a few specific platforms, then C++ is fine. Trying to target a truly cross-platform market with C++ is a real pain. I've seen it, and it ain't pretty. - gbm85, on 10/12/2007, -1/+4But if you include the other C flavors listed (C, C#, and Objective C), the total is 36,296. Who wins now?
- dance2die, on 10/12/2007, -0/+3Those who don't know(both C++ and Java) make bold statements on Java.
- afsina, on 10/12/2007, -0/+3it is astonishing to see how many people are actually clueless about Java. Java has come a long way, and it is neither slow, nor a bad language. it can rival C++ by performance even today.
- chrono13, on 10/12/2007, -0/+3"For all those who say Java is too slow...
Performance of Java versus C++"
Why Java is slow: http://www.jelovic.com/articles/why_java_is_slow.htm
And it covers benchmarks. Who the hell cares about benchmarks? I can clearly see by my systems being bogged down that similar C++ apps take up considerably less resources. Benchmarks be damned - I care about real world results. - kracker, on 10/12/2007, -0/+2
First Thoughts
I swear as soon as I saw someone boasting this digg story / entry title
"Java Dethrones C++ as King of SourceForge" I thought of the thousands of empty projects some of which very well might be java projects ...
And I thought of this wiki entry I saw many years ago as my first days of wiki reading, I don't condone the action, in fact I abhor it but that's not stopping people so far :
http://c2.com/cgi/wiki?HelpSourceForgeSuck
A software language is valued by numbers alone
Like most who have commented have already noted.
1. SourceForge has hundreds if not thousands of "projects" which while created, categorized and initial setup completed. While no real files, source code, or worth while progress is ever released.
2. Any language rank on sourceforge.net or other like-site has any real bearing on what people do? Developers do what developers want to do, just like everyone else in life.
3. Freshmeat.net is much more active, topical and relevant than sourceforge.net (IMHO)
4. Sourceforge is just one outlet for market droids to use to spew meaningless numbers upon people
This story title just reads as if someone is trying to push an agenda with circumstantial evidence and ... i say don't it badly. Yeah I don't care for java all that much, but then I don't use it so I don't really care all that much either.
Lots of people want to say their language is the next big thing and that your language is dust. That's just the way it goes, we've all seen this before and we will continue to see it again.
(humor) Personally, I don't think people are jumping to checkout that new fangled java that's "now all the rage" after all these years of it slowly gaining enterprise acceptance in the marketplace.
I think they all want to write software in the language that best suited for the job, while experimenting with what's new to them where possible. I know we can all think of at least 5 languages which much more new and exciting than counting numbers of java :D
//kracker
Eminem - Nuttin Ta Do - beaversit.com, on 10/12/2007, -0/+2I have to agree with you folks. I think Java is a plague upon the IT industry. Even well written Java Ap's run like crap. Obviously, it's because you need the underlying runtime library to get the buggers going. And whenever I ask people why they are using Java in their places of employment, the answer is "our manager bought that crap, and now we have to support it".
- H_o_p_s, on 10/12/2007, -0/+1For all those who say Java is too slow...
Performance of Java versus C++ - H_o_p_s, on 10/12/2007, -0/+1http://kano.net/javabench/data
^ That was supposed to be hrefed in there... - dgrinb01, on 10/12/2007, -0/+1Nothing beats Java on the server side. For really large applications that need to withstand high loads and have rigorous memory requirements there is nothing better then Java. Why do you think Google runs everything on Java?
- Hexxagonal, on 10/12/2007, -0/+1Azureus is the only Java program I've ever used.
- emptymind, on 10/12/2007, -0/+1agree with tarun ... most projects never make it past the useful stage. This stat is not indicative of much. I would like to see if the activity percentages on Java projects on SF is higher than C++.
- DiggerT, on 10/12/2007, -0/+1especially with the recent java 5.0 release the speed of java has increased massively, gui response and even swings is much faster, most people who say java is slow either haven't tried it and just follow the trolls or there information is out of date and probably based on the old java 1.4 and below.
- DiggerT, on 10/12/2007, -0/+1long commands names is no excuse, especially with features like static import (with which u can use c/c++ style short names), besides long file names make code more readable and less buggy!
- burke, on 10/12/2007, -1/+2oh man, why are people drawn to Java? Seriously, I don't intend to start any flamewars, but it is well past noticeably slower and more resource-hungry than C++, while the general design of the language is very comparable. I just don't see why people think it is a better choice.
- clvrmnky, on 10/12/2007, -0/+1"Jave itself is not open source..."
Yes, but there is no requirement that the C++ compiler be so, either. You don't have to use GCC to build -- You can make open-source software with close-source tools. - Naikrovek, on 10/12/2007, -0/+1@jarda: great quote. you're right you know.
I'm a java programmer and a C++ programmer.
Java DOES NOT suck anymore, people. I get paid to write Java every day (paid a lot, because what I write is fast) and it outperforms a lot of C++ programs that we use. If you say that Java sucks, its likely because the program you're using sucks.
Java edging out C++ on sourceforge... this isn't the only place that is happening.
Say it with me: "Java does not suck anymore."
one day you'll understand. - clvrmnky, on 10/12/2007, -1/+2For some reason the title of this one reminds of the Futurama where the two Zoidbergs decide that by having the box they will be "king of the world."
- tempusrob, on 10/12/2007, -0/+1Aye, I'd be curious to see how the number of _active_ projects compare.
I mean... I don't really care. If you're compelled to work in a language, be it Java or C++ or whatever, then by all means use whatever will let you get the job done the way you want it done.
A LOT of people knock Java based on a few craptacular applets they ran on some random website. But it's made some solid advancements ... it's a pretty solid platform. - rpdillon, on 10/12/2007, -0/+1Java is fast. The biggest gripe against Java that is legitimate is that you have to memory overhead for the VM. Speed really isn't an issue anymore. Even 1.4.2 was faster in most applications than C++, and 5.0 is faster.
Number of projects aside, it is simply amazing to see the ignorance here. Java's value comes because it was designed to address issues that C++ never was. It was deisgned from the ground up for Object Oriented programming, and it excels in tat respect. It is fast, and it is cross platform. The VM can be tuned to suit your exact needs in any given instance. It addresses networking security issues in ways that simply don't exist for other languages (most languages simply don't address security).
How many projects on Sourceforge? I don't really care...it is perhaps mildy interesting to note, but it doesn't really matter. What people need to understand is that Java is a very valuable tool for certain applications (there are a lot of them actually), and it supports good program design. C++ of course has its place as well, but the mindless, baseless bashing doesn't reflect on Java nearly as badly as it reflects on the posters. - dewey, on 10/12/2007, -0/+1For all of you saying java runs too slow, have you ever done actual comparisons, or are you just spouting what you heard one time? Java really isn't that much slower than C++ anymore, it's much easier to write(no manual memory management) for one, of course it will always be slower than fully compiled languages because of the JVM, but the only time you should really notice a speed difference nowadays is on mainframes and resource intensive applications.
Java is plenty fine to write programs in now, it runs great, is easy to maintain, and is extremely flexible. The only real reason I see for fully compiled languages like c and C++ now are for writing other compilers, OS kernels, modules for another language, or resource intensive applications(like mainframe software or videogames) You won't notice a difference because you're using a Java p2p app, or IM client, or anything else. - tarun, on 10/12/2007, -0/+1Yeah, I like SF.net as well, but this is a useless statistic. Most of the projects on there are in the planning stages and never get off the ground.
- Tiger, on 10/12/2007, -0/+1i think, honestly, if somebody doesn't know anything about java (except the things that he/she knew about it in 1995), then they shouldn't judge java in anyway.
I'm a Java/C++/PHP programmer, and I rarely use C++ to program. - Pyrolistical, on 10/12/2007, -0/+1You have to consider that what most of you are complaining about are totally independent from what the benchmarks are for.
The benchmarks would use the -server JVM which uses more memory but runs a comparable speeds (if not faster in a lot of cases) to C++.
However most of everybody's experience with Java is using GUIs. And yes Swing is slow. But Swing != Java. Swing is a component in Java, but not Java, -the language- - McoreD, on 10/12/2007, -0/+0LOL, the # of Projects doesn't make Java the better language than C++. May be the most popular language.
- gwjc, on 10/12/2007, -0/+0dubious but dugg
- gbm85, on 10/12/2007, -0/+0My, H_o_p_s, that's a very pretty chart. But I will take my real-world experience over a chart any day.
- philomatic, on 02/08/2009, -0/+0If they made a java that didnt use the bloody Virutal Machine it would own all... pwn all even. Programming with Object Oriented Design in mind is a hell of a lot better with java.
- ham_man, on 10/12/2007, -0/+0"But if you include the other C flavors listed (C, C#, and Objective C), the total is 36,296. Who wins now?"
C, C#, Obj-C, and C++ are different languages. Just because they all have "C" in them doesn't mean you can lump them together.
As for Java, I think that it is too bloated to really be useful. But that is just me. - 9mmCensor, on 10/12/2007, -0/+0What does this mean.
It means that developers are choosing a language that offeres easy cross platform compatibility, over raw speed.
This is could be because hardware is faster now, and developers want maximum compatibility with minimal work. The cross compatibility of the JVM allows easier maintence of apps. - PhairOh, on 10/12/2007, -1/+1Java itself is not open source, correct? If that's the case, doesn't that just seem a bit strange?
- Elxx, on 10/12/2007, -1/+1OMG ITS TEH END OF THE WURLD WERE ALL GONNA DIE!!!
I'm not liking this...Java is insanely slow and bloated. Not good. - OneAndOnlySnob, on 10/12/2007, -1/+1This makes me happy. C++ is a stupid language. We programmers need to stop using C and C++ all the time. Much of the time, it is simply unnecessary to have such a barebones language. C was invented in 1963 or so, and at the time, it was thought to be high-level (even though Lisp predates it by 7 years), and slow. Now people think the same thing of Java. In the end, what language will prevail? I don't know, but it definitely won't be C or, by extension, C++.
Java is a pretty nice language, and it's pretty fast these days. For most applications, it's speed is more than sufficient. The nice thing about it, is that it includes a lot of stuff developers would have to implement anyway. - Crazen, on 10/12/2007, -0/+0I would definately prefer to see the statistic exclude planning projects.
-- Java blows C++ away when it comes to ease of programming
-- Java blows C++ away when it comes to portability
-- Java blows C++ away when it comes to the future of programming like AOP (used correctly)
-- Java blows C++ away when it comes to speed of development (that's why most companies use it, it's way faster to build an app in Java than C++)
-- Java blows C++ away when it comes to it's standard library
-- Java blows C++ away when it comes to community
-- Java blows C++ away when it comes to correctness tools
-- Java is arguably one of the best engineered languages
-- Java blows C++ away when it comes to programming for international target
Some corrections:
-- The mac/BSD has a crappy JVM, but apple is working with sun to fix it. Between not having the application or have it running slowly, I think the mac community would rather have the application
-- There are CPUs that don't need the JVM (basically JVM in hardware) that are used in embedded systems
-- People can write crappy Java. Garbage Collection doesn't mean you get to ignore how/when you allocate objects
-- The native GUI libraries will almost look better on their systems or outperform Java's GUI libraries, but the slowdown is getting less noticible
-- C#, Objective C, C++ are very different languages
-- PHP/Ruby is in a very different class than Java/C++. Scripting languages have severe limitiations that should probably never be concidered for an enterprise app outside of the prototype stage
-- Part of starting up Java is very slow due to the internationalization libraries loading up. But very little of most applications time is spent on startup. On the server side the Runtime optimization that Java can do is better than the compile time optimization that languages like C++ do because of the additional information regarding app behavior.
Disclosure
-- I've programmed professionally in Java (enterprise apps), C#, C++ (Game programming), PHP, Perl, Pascal, VB, and a couple of other languages - tdkyo, on 10/12/2007, -0/+0If I had a choice, I choose C++ projects over Java, because it is gentle to my system.
- DiscoLoke, on 10/12/2007, -0/+0Hmm it's slightly interesting. I am curous though, that is a sourceforge stat... my general impression is that SF is a place where a good portion of the community is still trying to climb the corporate latter. Could we assume that C++ is more widely used by companies? And if so, does that make JAVA more accesible to noobz?
- DiggerT, on 10/12/2007, -1/+1for those that say java is slow, there argument is out of date and they are ill informed, modern java vm's use optimisations and technologies such as hotspots making java as fast as c++.
another thing to consider is developing java applications is a whole lot faster than c++. - Crazen, on 10/12/2007, -0/+0
Out of my itemization you come up with a juvenile edit?
Java also often has less optimized native libraries than C/C++ when it comes to things like trig functions (java may use algorithm rather than lookup).
I'm mature enough to debate this:
user:sheesh, sorry you appear to be the one with fingers in your ears (or hand over eyes as the case may be)
http://www.kano.net/javabench/
BTW I still appreciate C++, but I'd rather use Java given the choice. - ucg1, on 10/12/2007, -1/+1The number of "I don't like Java, it's slow and bloated" comments just shows how ignorant the community here is. Obviously none of you making these statements has written any server-side apps. Java is incredible for middleware and web apps. Java is no longer "slow", even for GUI apps. And "bloated" is such an overused term. If you're talking about the standard library, sure it's got a lot more than most people need. But the actual JVM is very powerful. The number of excellent open source projects makes it even better (expecially dev tools and libraries like Eclipse, Spring, Hibernate, iBatis, etc). It's extremely well-documented to top it off (unlike some languages that are getting a lot of hype lately).
I've coded for 17 years in all kinds of languages: C, C++, assembly languages, LISP, Java, Python, PHP, Pascal, just to name a few. Java is still my language of choice for a majority of my projects. - Jarda, on 10/12/2007, -0/+0C++ is too sloooooooooooow. I can't understand why anybody should use it instead of x86 assembly.
- trogdoor, on 10/12/2007, -0/+0Java is easier for developing small apps and generally leaves less room for bugs like memory leaks. I am a lazy programmer. I don't want to wast my time with malloc and making my own implementations for tasks that java has provided in their library. Now on the other hand this also means that lazy programmers (like me) are drawn to java witch might explain the slow crappy apps :^)
- chrono13, on 10/12/2007, -0/+0Trogdoor and jo42 have just about hit it on the nail. I've seen fast Java. Too bad many poorly written Java apps give Java a bad name.
Java keeps improving, and it is much better than it used to be. I hate it less now than before. My hope is that it continues to improve (or something better replaces it). As Mac use and Linux proliferation continues, there will be more and more need for cross-platform language(s). - smhill, on 10/12/2007, -0/+0I haven't done enough stand alone apps to comment on that side of things, but most Java apps on the Mac are slow and crappy. (dunno if that is just because of the developers or the lang) But as a web server it is painful and ugly. Most of the folks who developed things like Tomcat and Ant have forsaken it in favor of Ruby/Rails. (and many use Cocoa now as well.)
http://www.onjava.com/pub/a/onjava/2005/11/16/ruby-the-rival.html?page=1 - Trepan, on 10/12/2007, -0/+0Where I work they have Java running a server on a machine that has to serve hundreds of machines in a transactional environment. The Java code can't even handle more than a couple hundred machines before it bogs down and dies.
If you think Java is the cure all for everything, think again. It is good for some things, but is very bad if used incorrectly. Java should never be used in a high performance transactional system nor any GUI app out there. C# is faster than Java too, read up - there's a very specific reason why too (when you run a C# app the first time, it's compiled into native code for your box, meaning it is not interpreted anymore after that). There's no such thing as one tool that does everything. Not even the butter knife can claim that. - Lingur, on 10/12/2007, -0/+0Swing is horribly slow. I program in Swing (forcefully) quite a lot and I find it horrible.
C#/C++ wins by a LONG RUN in the GUI category. Other aspects such as high performance transactional systems I can't comment on. - natemc, on 10/12/2007, -0/+0Popularity doesn't mean it's good. See the Billboard charts for evidence of this theory.
- spectre_25gt, on 10/12/2007, -0/+0So why didn't you import the package so you didn't have to call a fully qualified method?
- wysiwia, on 10/12/2007, -0/+0Just in case if anybody likes to code C++ cross-platform with a native look and feel, see wyoGuide (http://wyoguide.sf.net). I'm sure the result will be better than any Java solution.
- Skab, on 10/12/2007, -0/+0Most popular doesnt mean best, any linux fan will tell you that
-
Show 51 - 62 of 62 discussions



What is Digg?
Browsing Digg on your phone just got easier with our enhancements to the