“It’s official. Java has taken the top spot away from C++ to become the top language on SourceForge. Mats Henricson points out in his blog that as of yesterday, Java has 16738 projects on SourceForge, compared to the 16731 of C++.”
“It’s official. Java has taken the top spot away from C++ to become the top language on SourceForge. Mats Henricson points out in his blog that as of yesterday, Java has 16738 projects on SourceForge, compared to the 16731 of C++.”
You know what this really means? Time for us to all run out and get more memory. LOTS OF MEMORY. ๐
Not really needed… Java doesn’t require that much. Even the cheapest screwed up PC system has enough resources to handle Java.
But it’s still a good idea to buy more memory. Can’t get enough of that ๐
You missed the point of my statement. I wasn’t thinking Java takes a lot of memory. I was thinking about all the Java applications and servers I have used where they make thousands of objects in order to run and suck up enormous amounts of memory.
This is not a Java specicic issue, but is an issue with object oriented programming in general. C++ tends to do the same thing, and there are ways to avoid the problem in all object oriented languages through the use of various design patterns.
Actually it’s quite easy to make advanced applications in Java and other OOP languages without swallowing a lot of memory.
> Actually it’s quite easy to make advanced
> applications in Java and other OOP languages
> without swallowing a lot of memory.
Exactly. And that’s my point. Excessive object creation is not a Java phenomena. It is an issue associated with all object oriented langauge. And there are design patterns that can be used to avoid it.
Yes, that’s a good idea, that way you may be able to run Windows Vista. On the other hand, if you have a PC bought in the last two or three years, you almost certainly have enough memory to handle java unless you somehow special ordered a very low memory configuration.
Besides java is getting leaner and leaner with respect to memory consumption by each new release, so nowdays it there is not much reason to worry about it.
No. What it really means is that you are way behind the times. I can easily run an IDE, an application server for local testing with a Java database backend, 3 or 4 other Java applications, and several native applications at the same time in 512Mb of RAM on Linux with absolutely no performance problems.
The typical system today has more than enough RAM to run multiple Java applications at the same time with no problems at all.
I would be interested to see the breakdown of developer activity and downloads between java and C++.
My guess is that there are a lot of crappy Java projects that nobody uses and never get updated. Not that there aren’t similar projects under C++, but I bet there are more written in Java that are like that.
# Java (16738 projects)
# C++ (16731 projects)
# C (15934 projects)
C++ + C > Java (don’t hurt me!)
Edited 2005-11-25 21:35
>> C++ + C > Java (don’t hurt me!)
True but C++ != C
True in some way, but valid C code is also valid C++ code, shouldn’t that count for something?
I personally don’t care how many OSS Java projects there are, on average I rarely see more than two or three Java applications on any given computer.
>True in some way, but valid C code is also valid C++ >code, shouldn’t that count for something?
This is not true, valid C99 is not valid C++. Just take this construct as an example
doSomethingWithAPoint ( &(Point) { .x = 1 } );
valid C99, invalid C++.
“I personally don’t care how many OSS Java projects there are, on average I rarely see more than two or three Java applications on any given computer.”
Java’s biggest area of usage is on the server side, with J2EE, both for large ecomerce sites and for large, distributed corprate business applications. J2EE, even with it’s complexity, is one of the areas where Java really shines.
Also, Java is starting to really shine on the desktop. Better Swing based apps are coming out, Swing itself has become better optimized, and people are using Swing with Java threading better, producing more responsive applications. Also, Swing is looking a lot better these days. Then there is SWT, led by the Eclipse IDE, which looks and performs magnificently (and uses native GUI libraries).
Through my programming career, and general computer usage, I’ve generally preferred C and C++, as the natively compiled code produces faster, more compact applications. And I used to not like Java and/or Java based apps, having the impression that Java is too slow, Java GUI apps were ugly and bloated, and J2EE too complex. However, all that has changed. I’ve been using some really nice Java GUI apps (Limewire, Azureus, NetBeans, Eclipse, DrJava, jEdit, HotJava Browser), and I’ve been coding more with J2EE, using JSPs, Servlets, EJBs, JDBC, and employing MVC structure. Thus, I’ve developed a greater appreciation for Java.
But at the end of the day, it doesn’t matter. The old cliche’ applies: Just use the right tool for the job. All programming languages are good for certain problem domains, and not so good for others. Language religion is just plain silly.
As for popularity – SourceForge is only a metric for Open Source projects. In corporate computing, Java is practically a de facto standard. For shrink wrappeed software, C++ is practically the defacto standard. For systems level programming (OS, compilers, drivers, embedded programming) it’s mostly pure C.
“Through my programming career, and general computer usage, I’ve generally preferred C and C++, as the natively compiled code produces faster, more compact applications”
C++ is faster, but Java produces very compact bitecode files. Have you ever checked the size of a .class file, it is usually in the low hundreds of Kilobytes as far as size is concerned. The problem is the 42+ Mb JRE; however, if you use enough Java programs, having one big JRE and several small applications is a fair trade off.
“C++ is faster, but Java produces very compact bitecode files. Have you ever checked the size of a .class file, it is usually in the low hundreds of Kilobytes as far as size is concerned. The problem is the 42+ Mb JRE; however, if you use enough Java programs, having one big JRE and several small applications is a fair trade off.”
Agreed. And please do read the rest of my post. It was very pro Java. I was trying to explain how I was once an all C/C++ kinda guy, preferring the native compiled stuff and staying away from runtime languages. But that has changed due to having used lot’s of Java apps and learning more and more about programming with Java.
Now I like C, C++, Java, Ruby, Perl, PHP, VB, bash, and well, all languages for the various things these languages are good for.
“Agreed. And please do read the rest of my post.”
I did, if I reiterate things, it’s so that others don’t get read my replies out of context and misunderstand.
“The problem is the 42+ Mb JRE; however, if you use enough Java programs, having one big JRE and several small applications is a fair trade off.”
The JRE is ~15 MB, the JDK is 42 MB. An end user would be downloading the JRE which is very reasonable in size.
Even though broadband penetration is growing like dough on some yeast, Sun is still actively minimizing the JRE download, primarily for space constrained devices.
Much of what JRE requires can (and some are considering it) be refactored into bundles, whereby end-user will only have to download the required bundles (process will be automated), instead of the kitchen sink.
Kitchen sink is a plus, as it provides all the developer would ever need, but for purposes of minituarization, and specialization, bundles are welcome.
Not likely in Mustang (1.6), but more likely in Dolphin (1.7) some of these optimizations are going to appear, making not only download smaller, but startup times much better and overall performance even closer to a native environment.
I knew someone would say it (“don’t hurt me!”).
Ok, revised:
Use of the family of C languages still trump Java ~2:1. Thus Java’s usage is now on par with only a single derivation of C.
>> Use of the family of C languages still trump Java
Java is part of that language family, if you want to compare language families try c to pascal
Ok, revised revised:
Usage of the several derivations of C still trumps Java’s ~2:1.
Christ, you people. God forbid a phrase make sense in another context.
Hehe…well, since you’ve mentioned derivations. Lets get some Java derivations into the mix shall we?
JavaScript
Groovy
Jelly
C#
Personally, I couldn’t care less if Java was #1 or #10, at least when it comes to SF metrics anyway.
Javascript has no relation to Java short of an unfortunate name collision and the common C-like syntax. They are very different languages.
It was meant to be a satirical.
Besides, no-one knew what languages original poster was going to equate to C. Heck, he might have had Pascal in mind, where calling conventions are about the only thing that relates the two.
Lastly, I think C++/Java hybrid is the best of both worlds.
> True but C++ != C
lol, what currently all c++ developers are programming is C with several extensions available via a C++-compiler. Or tell me why there are still so many char*s in the code?! Where is the std::lib?
I wonder how the results would look like if you’d use another metric, e.g. lines of code. I think most of the larger projects are still C/C++, whereas the smaller ones are Python/Java/….
Small in lines of code? That metric suckes! I had a small project in C, Java and Python.
Lines of code
Python 50
C 150
Java 300
exactly. because you are doing small projects.
Lack of OO in the project helped. But be honest, Python will always use less code then C, C++, Java or any other compiled language because it’s dynamic. Same goes for Ruby and other so on, then OO might be a burden for some projects and a boon for others, lines of code sucks as a metric.
P.S. To be honest, number of projects suckes as a metric too. PHP with 12186 projects, now tell me how many of those are not half done CMS…
I agree with you. There probably isn’t a valid way to see which langauge is more popular/used. But I do know one thing; I have more than 30 programs installed and none of them are written in Java.
If you have to write more code in java than in C to do the same thing, you are probably not doing it right.
Python could probably do it in fewer lines as you can avoid a lot of declarations, but that is usually only true for small projects. A non strong typed language will require more rigourous test code as some basic errors will not be caught during compilation and the number of lines of code used in you testrig will soon be far more than what you use for declarations in java.
Besides the number of lines of code is not always a good measure of what language is best, or even the time required to create an application using that language. Things like good tools also enter into the picture, and here java excels.
Watch out Java here comes C#
So what? Give me a full implementation of C#/.NET on another platform besides Windows and *maybe* I would start looking over my shoulder.
What about activity percentile or released files?
The number of undead projects on SourceForge is staggering. How many of those projects are realy active, developing and releasing files. that is a far more interesting number than non-existant projects claiming to “use” a language.
I’ve read one to many times that they are in planning stage and haven’t released any files since 2001.
By the way, I couldn’t care less about the language, as long as the software does the thing it was written for.
The significance of this is… not null, but limited.
Knowing there’re so many projects abandoned or forgotten on Sourceforge (no matter what language they use), a margin of 7 projects more is probably not enough to say if there’s really more alive projects using Java or C++.
OTOH, we shouldn’t -as someone suggested- asume a different percentage of dead projects for one language or the other. There’s reasons for both to have more dead projects than the other one, so without having good and detailed statistics it’s quite difficult to argue in favor of one or the other.
Anyway, it is significant for it puts Java and C++ on the same aproximate level of use, and that still is something to consider.
Great, so the language they teach those crappy AP Computer Science classes in has become as popular as C++. I wonder how many of those Java developers can actually program.
Actually Java is a good programming language, in many aspects matter than C++ (though I prefer the latter one).
I don’t see any reason to get religious about programming languages. Just fcuking write your code, and do it properly.
KISS is the word.
Here comes ObjC with gnustep !!!
I still like C and C++ , very efficient. You want Java? Give ObjC and Tcl a spin !!!
lots of java trolling going on, i think i won’t bother and just let the statistics do the talking:)
Java also has a big repository of projects in java.net. Currently there are 2398 projects.
http://community.java.net/projects/
As someone who’s used it I wouldn’t say Java is better or worse than your average programming language; however, I do have an opinion on this.
First of all Java is quickly becomming the standard programming language for teaching computer science, primarily because it doesn’t discriminate against students who don’t use Windows. Secondly because the internet is a big part of computer usage now, and Java was designed with the internet in mind.
I started off learning Java all on my own, I picked it up fairly well but later decided to switch over to C++, and now I’m going to learn Ruby to complement C++ as a prototyping language and for writing simpler apps. I’m glad I switched, but that doesn’t mean I hate Java, I just dropped it because I wanted something faster.
i did the opposite, i was a C++ programmer. But i got sick and tired of things like memory management and not having a solid standard platform independent library at time and switch to Java. i am happy with the language and never suffered from performance. never missed C++.
other than azureus ad limewire, i know of not manyother Java apps that are actually useful to people. sadly.
http://java.sun.com/products/jfc/tsc/sightings/
Are you a living in a cave up in the far hills? How come you dont know Eclipse..
He said not many “useful” ones!
*ducks
Seriously though, eclipse is pretty good. It’s not a gift from the gods the way people make it out to be, but It’s pretty damn good.
I think Sun has done a good job in academia again. Their Java language gains a great deal of popularity in colleges. So many young guns simply have Java in their skill set now. But I seriously doubt if those professors have taken a close look at the new standardrized C++ since the early days when you had to include stdio.h instead of cstdio. Anyway I now more and more prefer C++ because of its unlimited flexibility.
You are missing the point: You can dress a monkey in a silk dress, but it is still a monkey.
The reason that people like Java is memory management and the extensive standard library, neither of which C++ provides (and will never provide).
There is another reason, and that is the explosion of the Internet and Internet enabled applications. And the simple fact is that it is not safe to write networked applications in C++ that expose you to the entire Internet connected world. Java, on the other hand, protects you from man of the most common bugs in programs that cause exploitable holes. Java applications, for example, are immune to such things as buffer overflow attacks–a problem that has long plagued C and C++ applications.
Java is alright as a language. So are C and C++. What bugs me more are the “Java” developers out of college who tout every new buzzword that comes along and tries to incorporate it into everything they do.
What was wrong with the good old days when you designed your code to be simple, and reusable. Now everything is a flippin’ exercise in theoretical development techniques and hyper-freakin’ abstraction.
Ptui.
Give me a good FORTRAN compiler that integrates with a GUI library and a database and I will show all you whipper-snappers how to code!!!
Edited 2005-11-26 06:22
Java is an okay language, but still there are times that C++ is the better language. Hey, every major game out there is C/C++. I’m currently doing video coding, and I would never even consider Java because it is so far from the hardware. Java is great for database and simple applications, but start talking about heavy graphics/multimedia stuff, forget it. Go with a real programming language (oops, that was a troll).
C++ is poetry for me – it’s beautiful.
Man, you are a geek ๐
You’re all going on as if programming something in Java is a bad thing. It’s only a language, a tool. When I download an app, I couldn’t care less what language it’s written in. Plus, Java has the added bonus that it’s cross platform. Being a Mac user, if I find a project that I’d like to download, I have to see if there’s a Mac port for it. There usually isn’t but with Java, it’s automatically ported to several platforms.
I think the reason for Java’s growing popularity is because it’s being taught in colleges. It’s the first language I learned.
“I wonder how many of those Java developers can actually program.”
Come on now. That’s just being silly. Verging on the point of trolling.
Browser: Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240×320)
C++ != C may be true, but interestingly enough, C == C++ is also true.
C aproximates C++ == TRUE
C equals C++ == FALSE
That should be about right
…I think someone missed the joke.
Actually, C == C++ is TRUE for all C at all times. Since the ++ operator is postfix, the comparison happens before C is incremented.
But seriously, many of the projects on source forge are fairly small, niche programs (note that’s many, not all) and what they happen to be written in is probably not the best indication of the overall popularity or usefulness of a language. Java does tend to lend itself very well to reasonably simple applications that for some reason or another need a cross platform GUI, so I’m not at all surprised to see it rising in popularity at sourceforge.
And for anyone arguing that Java sucks, well, for some things it does. I certainly wouldn’t want to write highly complex 3D modeling software in it, but networking and database interaction software is fine. What matters is using the right language for the job.
“And for anyone arguing that Java sucks, well, for some things it does. I certainly wouldn’t want to write highly complex 3D modeling software in it”
Tell that to the U.S. Navy, which built a very complex 3D battlefield simulation system entirely in Java. They gave a demo at JavaOne. The framerate was totally smooth. No jumping, etc.
Sorry, but the “Java sucks for complex 3D apps” argument is based on old and outdated information. It’s based on problems that no longer exist. And Java can, and is very capable of producing very complex and well performing 3D apps these days.
I stand corrected. It’s been about two years since I had to use Java for doing 3D work and we were using a fairly early version of java3D. At the time it was absurdly slow (read about 4-5x slower than C++ with OGL for very similiar operations), though still usable if you had very good hardware. The newer JOGL wrapper that just lets you call OGL functions directly from Java that’s out and in use now looks like a much better solution. I have no doubt that it could be used to write good, efficient 3D rendering software and games. I’m sure java3D has gotten better too, but I don’t know enough about any recent versions to talk about its current speed and usefulness.
Looks like Java keeps getting better all the time.
> I’m sure java3D has gotten better too, but I don’t
> know enough about any recent versions to talk about
> its current speed and usefulness.
Java3D basically just a wrapper ontop of OpenGL or DirectX. There are two versions. One wraps OpenGL, and the other wraps DirectX. But either way, it is just a thin abstraction layer ontop of industry standard, hardware accelerated standards. This is why 3D applications written in Java really can perform just as well as 3D applications written in C++ these days.
This is not even remotely true. Java3D is a _large_ OO-abstraction layer over OpenGL/DirectX. It provides OO and a scene graph by default, which OpenGL and DirectX do not, and is not thin by any means. It is bloaty and it is slow, and Java3D most certainly CANNOT perform just as well as an app coded in DirectX or OpenGL C reference API.
On the other hand, JOGL is a truly a thin abstraction layer over OpenGL. It’s not even OO, it just maps the C reference API onto a few classes as static members. As such, it is very comparable to performance of a natively compiled OpenGL app. The only loss is in the JNI overhead, not any extra OO abstraction slop. This I know for a fact, because I am currently in the process of writing a 2D game tile engine in JOGL, and it is extremely fast.
“Actually, C == C++ is TRUE for all C at all times. Since the ++ operator is postfix, the comparison happens before C is incremented.”
Wrong. It is undefined according to the C standard. In fact, gcc will tell you it is false. See http://www.eskimo.com/~scs/C-faq/s3.html
So how many Java programs do you actually use?
Is your favorite…
… smtp/pop/imap server written in Java?
… web server written in Java?
… ftp server written in Java?
… secure shell written in Java?
… dns server written in Java?
… DBMS written in Java?
… file sharing application written in Java?
… web browser written in Java?
… mail client written in Java?
… editor written in Java?
… IDE written in Java?
… instant messenger written in Java?
… office suite written in Java?
… [insert your favourite category here] written in Java?
For my part, I really don’t know of many useful Java applications and the high number of sourcefource projects really doesn’t have much meaning in my opinion.
“I really don’t know of many useful Java applications”
Here are a few Java apps:
Eclipse IDE
http://www.eclipse.org
Limewire
http://www.limewire.com
Imagery
http://www.xerto.com/imagery.php
MoneyDance
http://www.moneydance.com/
JAlbum
http://jalbum.net/screenshots.jsp
Azureus
http://azureus.sourceforge.net/
BlogBridge
http://www.blogbridge.com/
Autofocus
http://aduna.biz/products/autofocus/screenshots.html
JDiskReport
http://www.jgoodies.com/freeware/jdiskreport/
DbVisualizer
http://www.dbvis.com/products/dbvis/screens.html
SmartCVS
http://www.smartcvs.com/smartcvs/screenshots.html
JEdit
http://www.jedit.org/
NetBeans IDE
http://www.netbeans.org/
Yahoo Sitebuilder
http://webhosting.yahoo.com/ps/sb/
He said *useful*
You’ve listed jEdit and…..yeah that’s about it
“Here are a few Java apps:”
Great post. I’ve already used a number of those apps, and tried some more from your list.
All of those are very good apps, that can run on any platform (thanks to Java), and they look good, and perform well.
In particular, I’ve been very very impressed with NetBeans IDE (Eclipse too, but NetBeans more so). NetBeans is probably the most polished, most attractive, most easy to use, and most powerful IDE I’ve used (and that includes many years of using MS Visual Studio, as well as Eclipse, JBuilder, KDevelop, Glade, QT Designer, and others).
Yes, most certainly there are great Java GUI desktop apps.
What matters is not the language. Really.
Yeah, all those “Hey, I’m a [C|C++|ASM|ObC|Python|Whatever] programmer! I’m better than those [Whatever else] kids who know nothing” is just stupid and meaningless.
I’ve done lots of stuff but for the last 4 years I’ve been doing J2EE. Since the beggining of the year my desk is actually sorrounded by C and C++ programmers with (supposedly) good experience. They haven’t done anything else but C and/or C++, ok? For years about 4-5 years here, I’d say. Probably more before that.
Well, just the other day I heard this conversation:
A: Hey guys, what’s this static thing for? I found it here and I don’t know…
B: What? Mmmm… I don’t know… I think it’s something related to memory…
C: Uh, I’ve got some stuff which is declared static, but I don’t really know why…
D: Just try without it, if it won’t compile, put static and see if that helps.
Really, that’s a real conversation, word for word. That was around 10 AM. At 4:30 PM a couple of guys decided to look it up, in case it was something that actually meant something, you know, if they invented the keyword it must have some meaning.
Even when they finally looked it up, they didn’t even bother to say if it was C or C++ they were talking about, so the two guys found different meanings… they chatted about it for a bit and then decided that it probably wasn’t that important, that if static was there in that file, well, just leave it alone. Somebody must’ve known when they put it there.
This is probably a pretty extreme case (unfortunately I have plenty of others around here xD), but the point is that what matters is you, the person. Sure, some languages are better than others, more powerful, or cleaner, or they force you to think more, or they are more comfortable, or whatever, but in the end is mostly about how you use them and how good you are, and only a bit about how good is the language.
for god sake ppl, stop mixing java with javascript, java and javascript are two totally different languages.
suprising how many ppl flame java and get this mixed up, if don’t know about something don’t flame it.
even some major websites usually put java/javascript in one section.
It was a joke, calm down.
Besides, Jelly is even less related by that argument.
Hi,
well, it’s important to realize, that C and C++ is older than Java. So the increase in the last month is more important than the sum.
So, there is also another language called C# Would be interesting to see the difference between those two languages in the last e.g. 2 years.
Which project sum is increasing faster? Java, or C#?
Greetings
Mike
most C# projects don’t end up on SF.
I can also guarantee that most java projects on SF are either:
1) wheel reinventing. Why, oh, why, does the almighty ‘cross-platform’ ‘standards-based’ java interoperate so HORRIBLY with non-java?
2) dead.
Thanks for the list of Java apps. I’ll try some of them.
What really makes me wonder is the jump in Java popularity over the last month. Was there a special event that caused it?
http://www.tiobe.com/tpci.htm
its not some special event thats has increased java’s popularity its just that more and more people are becoming aware of java’s advantages and how much better it is to develop with than some other programming languages.
To all the squabbling Java and C++ benighted fools, I issue you an invitation to step out of the darkness and over into the light and start programming Ruby as soon as possible. You’ll be so happy programming that you won’t even have any time to squabble on idiot chat-boards any more.
No, Ruby may not be high on the SourceForge lists, but that’s because it’s only for the elite and especially brilliant. The rest cringe from it like a dungeon-prisoner from the sunlight. Let the beautiful red glow of Ruby (yes, maybe just a wee bit communistic red glow) enter your hearts, my brothers. You have nothing to lose but your chains.
I thought it was Python, or Delphi before that, or Objective C before that, or Smalltalk before that, or Lisp before that…
Is it a surprise that a language designed to appeal to “average” programmers comes out on top? I loathe it. Even C# is better, and it sucks. C# is richer syntactically and the .NET libraries are much more coherent than Java’s.
But screw .NET. I prefer Dylan, LISP (CLOS), Ruby, Objective C, and Rebol. Too bad there’s no money to be made in any of those languages, so I’m stuck writing C# code for a living.
“Is it a surprise that a language designed to appeal to ‘average’ programmers comes out on top?”
Java was created as a Object Oriented language in a platform that commercial entities could use to produced large scale application services, mostly web based. If you’ve every used a very large website that a company uses for E-Business then you have probably used a Java application. Java was not designed for the basement dwelling geeks that claim they are the only true programmers. It was designed for an emerging industry of developers that want to make a good living in the most effiecent manner possible. Stop trolling.
I have to say I find the amount of Java haters on OSNews to be interesting. Its even worse here than over on Slashdot.
What I’m mostly curious about though, is why? Is it because of the “fad hatred” of Sun among the open source crowd because they don’t like the Java license since it is not open source enough for them? Or is it because of ill-informed ideas about Java’s performance that are based on problems it has not had for the last two major version releases? Or maybe it is the “eleetist syndrome”? “Real programmers only code in C or C++, and productivity enhancers such as memory management are only for the lazy or the wannabes who don’t know how to manage memory or use pointers.”?
Whatever it is, there seems to be a very vocal group of people, who, for whatever reason, cannot stand the fact that it is not 1990 anymore, and that computers have enough power and memory today where it simply doesn’t usually make sense to write applications in C or C++ anymore.
I would suggest that a lot of the java haters and C / C++ defenders have probably never worked in a real IT environment with deadlines, cost considerations, etc. where shortening development time is far more critical than any small amount of performance that might be gained from doing it in C or C++ (and with modern JIT optimizing runtimes, that performance gain of C or C++ is usually extremely small, sometimes non-existant, and occasionally. Java is even faster because it can runtime analyize what code is actually doing, and do a better optimization than a static C or C++ optimization.)
Whatever the cause, a lot of the comments on this thread are clearly nothing more than Java haters who some reason feel the need to deny the reality that java is a more popular language than C++ or C today. That has been true in the business world for several years now according to job statistics. There are far more job postings that want Java skills than that want C++ or C skills. The only thing that has happened here, is the open source world has caught up to the business world when it comes to C and C++ gradually falling out of favor because the benefits of using either language are small to non-existant on today’s hardware, and with todays optimizing JVMs.
Edited 2005-11-26 19:17
No one hates the Java language.
Here is the acid test.
If I can run a program that is written in Java and not say “The reason that program is using a non standard ugly and sluggisg GUI is down to java” or “The reason that program is dog slow on my dual Athlon 64 is down to java” THEN and ONLY THEN will java have succeeded.
I cant believe people who think their choice of language is more important than what it creates.
“If I can run a program that is written in Java and not say “The reason that program is using a non standard ugly and sluggisg GUI is down to java” or “The reason that program is dog slow on my dual Athlon 64 is down to java” THEN and ONLY THEN will java have succeeded.”
Now you are just trolling, becauise you are spewing nothing but lies. The JGoodies Look and Feel is not at all ugly. It puts many non-Java looks and feels to shame. If you don’t like the default look and feel for Java, use a different one. Swing is 100% skinable.
And when it comes to dog slow… That’s just a flat out lie. I have a 1.2 Ghz Celeron M with 512 Mb of RAM, and my Java applications running under Java 5 are no slower than native applications. So stop trolling and stop spreading lies.
Edited 2005-11-26 21:20
Classic case at work today waiting for a web monitoring system to refresh its display.
The comment was heard “Thats written in Java, thats the reason its so slow.”
Also the java GUI may look great now (and that is debatable) but we have put up with years and years when it most certainly did not.
Yep, its possible to write slow programs in Java.
Also, its possible to write (relatively) slow programs in ASM. Number of years ago, I was doing some asm for 68k and was constantly surprised as I was learning more, some atrocious things people did in asm, making their results on average twice as slow as programs developed with more skilled asm. (incorrect jumps, using opcodes which were more cycles than necessary, using incorrect registers, etc)
Just to quench the potential (“Java’s no way faster than asm”) … indeed, asm is the next level above microcode, but the moral of the story is clear.
They’re just busy fixing memory leaks.
C has an elegant simplicity. Java allows one to focus on algorithms rather than petty niggling with memory management.
C++ is just a big kludge. Yes, I understand why people defend it. To become a master with it takes a long time. It’s a huge investment, and nobody wants their investment to be for naught.
I’m cheering for C#. *Finally*, it looks like a big commercial company is going to push programmers toward something that’s LISPish. Enough of these half-assed implementations–a little OOP here, GC there, argh.
We need something more powerful than C++ in the abstraction department if we ever hope to conquer AI.
“C++ is just a big kludge. Yes, I understand why people defend it. To become a master with it takes a long time. It’s a huge investment, and nobody wants their investment to be for naught.”
True. And historically this has been a serious problem for the industry in general. Dijkstra publlished his classic “Go To Statement Considered Harmful” paper in Communications of the ACM back in 1968. And was two years before that even, in 1966, that Bohm and Jacopini demonstrated that any program could be written using only structured programming. But both these papers were largely ignored by the industry until the early 1980s, and as such, they continued to write unstructured code riddled with goto statements, because it was they knew. And because of that, deadlines continued to slip, maintainability continuted to be near impossible, etc… All because people didn’t want to learn new ways to do things…
“C++ is just a big kludge… I’m cheering for C#. *Finally*, it looks like a big commercial company is going to push programmers toward something that’s LISPish.”
Then why is MS Office still written in C++, with no announced plans to port to C#? And the Windows executive+kernel is written in C/C++/assembly language. What major products does Microsoft sell (as opposed to services) that are primarily written using CLR-based languages?
Paul G
“Then why is MS Office still written in C++, with no announced plans to port to C#? And the Windows executive+kernel is written in C/C++/assembly language. What major products does Microsoft sell (as opposed to services) that are primarily written using CLR-based languages?”
Because for a long time it was the best thing available. And please… If you don’t recognize that C++ is a kludge, you have been living under a rock. It’s not exactly a model of a good object oriented language. The desire to maintain backward compatibility with C made it a horrible mess.
And as far as your claim that Microsoft is not selling products written using CLR languages, I guess you haven’t been paying much attention there either. Office .NET is already running on inside Microsoft, and future versions of office will be based on the .NET, not written in native languages.
Is Office 12, scheduled to ship in the fall of 2006, coded using .NET?
I didn’t think so. It’s easy to talk about vaporware, like their object-oriented file system that was going to ship with “Cairo”.
Paul G
> I didn’t think so. It’s easy to talk about vaporware”
It’s not vaporare. It does exist inside Microsoft, and there have been screenshots of it published. I don’t know when they plan to release it to the public.
But you seem to forget that the Vista API *IS* a superset of .NET. As in the new Windows API is entirely run ontop of a managed CLR. Microsoft is clearly intending to phase out native applications with the deprecation of the Win32 API in favor of WinFX.
You are really cheering for C#? Why? Unless you are talking about the hobbled ECMA version it only runs on Windows.
So there are a lot of useless/unused/bloated Java projects now. So what?
“So there are a lot of useless/unused/bloated Java projects now. So what?”
Which is balanced out by the fact that there are just as many, and most likely more adbandoned C++ projects on SoruceForge that haven’t had any activity in like forever, something you nicely ignore.
And as I pointed out, what it means is that open source has caught up to the business world. In the business world, Java has been more popular for several years now.
Good read, clears up some of this memory usage hoopla:
http://weblogs.java.net/blog/xiaobinlu/archive/2005/08/perception_r…