Fast Native Eclipse with GTK+ Looks 300
Mark Wielaard writes "The gcj team created a natively compiled build of the Eclipse IDE. The resulting binary starts up faster then with any traditional JVM since there is no virtual machine to initialize or slow byte code interpreter or just in time compiler involved. This means that gcj got a lot better since the last Slashdot story in December about gcj and Eclipse. Red Hat provides RPMs for easy installation. Footnotes has screenshots by Havoc Pennington of the Eclipse IDE with GTK+ widgets."
Startup sure, but how fast does it run? (Score:4, Interesting)
Re:Startup sure, but how fast does it run? (Score:2, Flamebait)
The class library is certainly complete enough to write nice, crisp, fast and beautiful native GUIs with SWT.
The true question is: What can you do with GCJ?
The answer is: everything you can't do with the JDK, because the JDK starts up too slowly, because Swing suffers from obesity, and because both memory and disk footprints of the JRE are a disaster.
Re:Startup sure, but how fast does it run? (Score:5, Insightful)
Swing suffers from obesity - what does that mean?
I've been developing Java applications for years (including a stint as project lead on a weather satellite imagery analysis program) and I know firsthand how much Java has improved. Spend some time writing applications in Java, using Swing (I use Netbeans for my IDE)...you'll see how sporty applications can be. Also check out Sun's Java Games [java.net] community for some links to games that really exhibit excellent performance.
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:4, Insightful)
two responses to that.
I write 95% of my work in Java. It's just as performant as anything else doing the same job. Most of my stuff (web applications) typically service small requests - very much like ls, albeit in a different environment. But the trick is, you don't start a new JVM for each invocation; you have a JVM running all the time and service the requests you receive within it. In this sense, the webapp is analogous ot a shell.
I'm not saying Java doesn't have problems - it does have a significant problem which is Sun's attitude to 'intellectual property' and their continued restrictive licensing. But speed and efficiency are no longer problems Java has.
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:2, Insightful)
Re:Startup sure, but how fast does it run? (Score:3, Insightful)
Re:Startup sure, but how fast does it run? (Score:2)
Furthermore, Python is more syntactically similar to Java than any other language (maybe perl). And the reason python takes less time is because it is an interpreter and not a virtual machive, unless you are using Jython, which is python inside the java vm. I do not think higher level means what you think it means. I suspect you are try
Re:Startup sure, but how fast does it run? (Score:3, Informative)
class bar(object):
def foo(self, obj):
obj.register(self)
bar::foo() is completely generic. It can register itself with any object, as long as that object supports the register() method. In Java, you'd have to define an interface and have all possible objects you're interested in registering with implement that interface.
Object oriented languages have similar capabilities, but they do *not* all offer the same ab
Re:Startup sure, but how fast does it run? (Score:3, Insightful)
Not necessarily; reflection could do this with any old Object. Admittedly, the interface solution is normally neater, but it's also a better solution for maintenance purposes - too much dynamism makes code easier to write, but can make it much harder to maintain and introduce subtle bugs unless you're very disciplined (and, more importantly, so are every one of your predecessors and colleagues...)
Re:Startup sure, but how fast does it run? (Score:2)
Isn't this a good thing? Don't you want to think about everything that wants to use register()? What about the posibility of name-space clashing, i.e. that register() registers itself with an object that supports the register() but in a totally unexpected way, and was never intended to be used in this way?
I wouldn't say it's another level of abstraction, but rather a
Re:Startup sure, but how fast does it run? (Score:2)
>>>>>>
Okay, thought about it. Decided that all the objects that could get passed to that function support an appropriate register() method. In Python, I'm done. The solution works. In Java, in addition to thinking about it, I have to now go and modify all those classes to add an interface to it. Now the there is talk about adding optional type declarations to Python, to both allow better code ge
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:2)
Well, Sun's Java tools, for one, are written all in java (javac, jar, etc.).
Umm... no (Score:3, Interesting)
Re:Startup sure, but how fast does it run? (Score:5, Informative)
Of course, I don't see myself as a "Java programmer" or a "carpenter" or a "brick layer". I wouldn't take any pride in that. I have a degree in computer science...
To further extend your knowledge in computer science, look into the Internet tool called "Google". Using it can save you from ridiculing yourself by publicly posting uneducated statements:
Embedded Java [google.ca]
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:2)
Complete and utter BS. I know for a fact that there are quite a few auto manufacturers currently working on Java in-car computing systems. I should know - I work with the team at IBM that is developing the technologies for them (and close to the team that originally wrote Eclipse).
Also, have you heard of Java running on cellphones? It's been all over the news lately.
Re:Startup sure, but how fast does it run? (Score:5, Interesting)
What utter garbage. I'd describe myself primarily as a Java programmer, and I've got a college degree, a masters degree and a bucketful of professional qualifications.
I don't know. Who are you that you can say the same? There are plenty of cases where Java can be used in shell scripts, or where the same functionality can be achieved using a tool such as Ant (which is very widely used these days). Startup time isn't always the be all and end all of what people need from their programs. If it is, then obviously there are better tools than Java. I'd have hoped that at some point they'd have taught you in your college degree that there are plenty of tools out there and that there's such a thing as picking the right tool for a given job. That tool may be Java, it may be perl, it may be lovingly hand-crafted assembly code.
The fact that you seem to ignore that means that you also ignore the things that you can do with the JDK that you can't do with gcj, and ignore the requirements people may have that your preferred way of working doesn't address. And also, it seems, the fact that some people [sun.com] don't agree with your blanket generalisations.
Re:Startup sure, but how fast does it run? (Score:3, Interesting)
Gee whiz, you're a raving spastic.
I have a degree in computer science. The day you will get a college degree, or at least some formal qualification, you won't need to go around saying: I am a "Java programmer".
Right, and the day you get around to pulling your head out of your own ass - or at least do something to stop you talking so much shit all the time - you won't need to go around pompously saying, "I have a degree in computer science."
Who are you that you can say what can be important in someone
Couple of hits, couple of misses. (Score:3, Interesting)
Well...no. I believe that embedded environments are a rather stripped down form of Java, but Java isn't all that uncommon in embedded systems. Take a look at Javacard -- you'd use it in environments where you typically have less than 64KB of memory.
That being said, I *still* think Java is a terrible language for most people to be using. There's something to the argument that there's "not much better out there".
Problem: C sucks f
Re:Startup sure, but how fast does it run? (Score:3, Interesting)
So do perhaps 90% of the people reading Slashdot. IMO it's not much to be proud of.
You're a pompous ass. He probably has better qualifications than you do.
Re:Startup sure, but how fast does it run? (Score:2)
Re:Startup sure, but how fast does it run? (Score:2, Informative)
Fast. Was:Startup sure, but how fast does it run? (Score:3, Informative)
increases the credibility of GCJ (Score:4, Insightful)
GCJ slower than IBM JDK (Score:2)
Five years from now, when gcj has sped up and can take advantage of the Java 1.5 typed container classes and disable bounds checking, Java may actually become usable, if still slower than C/C++ programs.
Re:GCJ slower than IBM JDK (Score:3, Insightful)
load times (Score:3, Interesting)
I leave stuff like mozilla, eclipse, and xemacs running for weeks on end.
Re:load times (Score:3, Funny)
Re:load times (Score:3, Informative)
Of course, java tends toward handling this differently, where java programs invoke each other inside the same runtime, but it makes mixing java and non-java tools annoying.
Re:load times (Score:4, Informative)
I wrote a simple JVMPI method tracer. It's mind-blowing what all happens before your code is actually run. Here's a method trace I just ran with 1.4.2 for a simple program. [visi.com]
-Kevin
load times *do* matter in the real world (tm) (Score:5, Insightful)
For those who start up their IDE in the morning and close it down in the evening (or at the end of the week, whatever), then long startup times are just a minor cost of doing business.
For someone like me, however, who is ambivalent about this IDE or that IDE, and whose fingers are too hard-wired for one particular editor [vim.org] to use the brain-damaged editors foisted by most IDEs, startup time IS a big issue. When you are going in and out of tools all day long, it becomes a major annoyance to have to wait for the darned thing to start up.
Re:load times *do* matter in the real world (tm) (Score:2)
Yup, And there's also stuff like daemons started from inetd, tools launched from cron jobs and shell scripts and data manipulation programs - the general UNIX philosophy favors launching these kinds of things as short-lived processes.
I know java advocates who would probably recommend that all the other code that interfaces with these things just be written in java and run as
Re:load times *do* matter in the real world (tm) (Score:4, Informative)
Re:load times (Score:2)
Modified GCJ Required (for now) (Score:4, Interesting)
"A team of hackers from Red Hat has released RPMS for a version of Eclipse, a free software IDE written in Java, that has been compiled with a modified gcj. You can find more information here. We'll be integrating the required gcj patches into cvs in the near future."
ps
Slashdot preview is buggy today...can't do HTML format preview and links one or more spaces get embedded in URLs (like the one below).
---
My most underrated Slashdot post is http://slashdot.org/comments.pl?sid=68610&cid=627
What is yours?
Another FOSS IDE. (Score:4, Interesting)
There is another FOSS IDE called gps [act-europe.fr]. They call the unsupported version the "academic edition", but you can download the source, and a peak at a few files shows that it's GPL'd. (Their economic model is to give it away for free and sell support for those who need it.)
It's a cross-platform IDE, with binaries available for Linux, Solaris, and various versions of Windows, and in principle you should be able to build it on any *n*x system where you can get GTK2 to run.
The bad news is that language support is still limited. It has full support for Ada and partial support for C and C++, which are lower priorities for the authors. It comes with instructions for setting up support for your language, but that looks like a non-trivial task.
I've just started playing with it so I can't give a good review, but so far it has been very helpful. The features listed at their Web site are:
Screenshots are available at the link above.
Please Read Parent!!! (Score:4, Funny)
Let's take a look:
Automatic generation of body files
Hot *damn*! It writes my code for me!
Source code reformatting
Then it reformats it to fit whatever standard I need!
Automatic code fixing
Then it *debugs* the code!
Application builder
Finally, it *builds* the program I'm working on!
All this, from a piece of software that the ignorant layman might consider no more than a wrapper for an editor and a compiler.
Truly, a groundbreaking achievement.
Plugins? (Score:4, Interesting)
Re:Plugins? (Score:4, Informative)
That was the case last time I looked at GCJ about a year ago. I ended up being unable to use it because of lack of windowing toolkit support. Anyone know the status on all that?
Re:Plugins? (Score:5, Interesting)
Eclipse uses its own SWT toolkit, which works well under GCJ. SWT is a combination of native code and Java, and is said to both be fast and integrate well with other window systems, as it uses native widgets when available.
The implementation of AWT (including applets) is coming along very quickly, but it isn't complete yet.
Total GCJ performance (Score:5, Insightful)
I don't know how much of this potential is actually realized in JITs (it's insanely hard to do) and how much of a difference it makes in the end. How substantial would the difference between a specialized AMD vs Intel optimziation be, for example (which would presumably depend on the task)?
I suppose the best possible world would be to have the optimization run exactly once, the first time you install a program. (Yeah, you could conceptually move the same installation to a different CPU, or add more RAM, or some such, but let's not make an already messy issue even messier.)
I doubt such things are easy to benchmark, and the best test may well be something like this (gcj'd Eclipse), where the end result to the user is "which one feels faster?" and "which one actually runs faster?"
Isn't that how .NET languages like C# work? (Score:3, Informative)
I don't know how well it works but I can see the potential.
Re:Isn't that how .NET languages like C# work? (Score:2)
My understanding (I may be wrong) is that the way that Microsoft's "managed code" works is that the installer creates a native compile of your application on your computer right when it installs.
I think .NET is just in time compiled, similar to Java.
If what you said is true, we wouldn't be able to copy an executeable from one computer to another. It would have to be installed.
Optimizing JITs are very common (Score:2, Insightful)
> can be optimized for your exact configuration (AMD vs
> Intel, particular kinds of RAM, etc.) It can even
> (conceptually) optimize the same program differently at
> different times depending on usage. At, of course, a
> startup penalty and runtime compilation overhead.
True, the optimization for hardware platforms are less significant than the overall optimizations.
> I don't know how much of this potential is actually
> rea
Re:Total GCJ performance (Score:2, Interesting)
That's not nearly as interesting as using runtime feedback to further optimize code. Static optimizing compilers need to make guesses about things, like how often loops are expected to r
Re:Total GCJ performance (Score:2, Insightful)
That's what makes GCJ so interesting: it's a Java compiler that, unlike most other Java compilers, compiles directly to native code without the VM in between. Thus, you potentially lose some of the advantages that the VM can provide you
Re:Total GCJ performance (Score:2)
The main advantages of Java and the VM have never been thought to be performance by anyone. It's definately an issue, especially for real-time interactive applications. A common way to solve all sorts of problems in software engineering, especially when part of the problem is completely out of your control, is to create an abstraction - a layer of indirection. For example, you might have to develop a 3D gra
Re:Total GCJ performance (Score:3, Interesting)
Oh, but there are a few fallacies associated with that.
The first and bigggest one, a pet peeve of mine, is that people claim that they can reoptimize the application repeatedly on the fly
Re:Total GCJ performance (Score:2)
Re:Total GCJ performance (Score:2)
Branch prediction and OO languages (Score:4, Insightful)
There's an interesting claim I have seen made: Apparently the late binding feature of object-oriented languages -- virtual methods in C++, any non-static method in Java -- works against branch prediction, effectively resetting the prediction state whenever such a call is made, because the target jump address must be resolved -- read from a memory location -- only at the time of the jump. If this claim is accurate, this means typical OO code is inherently slower to execute than non-OO code on modern processors. Of course, the problem will equally apply to any language that supports function pointers, and in particular to C programs "emulating" OO with structs and function-pointer tables.
Re:Branch prediction and OO languages (Score:2)
I don't think GCs move code around very often, and code addresses are all that matters for branch prediction.
UltraSPARC III has a "prepare to branch" instruction that can allow the processor to correctly prefetch past an unpredictable unconditional branch like those found in virtual method calls.
Re:Total GCJ performance (Score:3, Informative)
You get all the advantages of Native compilation, and system specific JIT compilation combined - at the expense of more complexity and lots more disk space.
As other
Re:Total GCJ performance (Score:3, Insightful)
Probably the biggest downside is that OS/400 simply isn't particularly user friendly. Leaving aside for a moment the existence of Client Access, OS/400 is completely command line and/or menu driven. Everything is "green screens" and dumb terminals (or terminal emulators running on a PC ). There really isn't any GUI, except the "psuedo-GUI" you get by running Client Access on a PC.
I spent about 4 years working primarily with AS/400's, and I can
Re:Total GCJ performance (Score:2)
You do now get websphere on it, so you can run java stuff on it, and apache and various other bits and pieces have been ported, but 99% of software out there will simply not work on OS400 without major rewrites.
Ewa
Re:Total GCJ performance (Score:2)
Disclaimer - I've never actually played with an AS/400 due to the price :-) I just read about it and like
GCJ performance is a myth. Benchmarks inside. (Score:5, Informative)
Often the JVM will out-perform GCJ with a factor of 3. Check out the numbers on this page [shudo.net].
I fail to see why people want to run a GCJ compiled evrsion of a development tool and run at at one third of the speed of the JVM, just in order to save a few seconds of startup time.
Re:GCJ performance is a myth. Benchmarks inside. (Score:3, Informative)
They don't have figures for memory usage, installation profile, etc., and I bet in those areas GCJ beats Hotspot for end-users. And you can't beat an install with no library dependencies.
Re:GCJ performance is a myth. Benchmarks inside. (Score:3, Insightful)
Let's assume for a second that you are correct, and Java limits the platforms you can distribute to. Tell me again exactly how GCJ improves on that?
The JRE is 13 MB last I looked. And you only have to download it once and it works for all your Java apps. Most Java applications are offered in a package both with an
Good for QNX (Score:3, Informative)
obligatory pun (Score:5, Funny)
View-based programming (Score:2)
Once of the advantages of this aspect-oriented approach is that menu items and UI elements change as your view changes. You keep the same oouter wrapper at all times, but your available choices very. I found it very confusing in the beginning, but once you get used to it it makes life a lot easier and keeps things cleaner.
Why JVM? (Score:3, Interesting)
What's the purpose of the JVM?
Dynamicity? No. Java is a aggressively static language. Meanwhile, highly dynamic languages like Lisp, Dylan, and Scheme (among others) can be efficiently compiled to native code.
Speed? While in theory a JIT can be faster, its not the case in practice. In the "Great Computer Language Shootout" (which isn't bad, as far as these things go) Java has an average CPU rank of 14, behind other static languages like C, C++, Ocaml, and SML, and behind dynamic languages like Scheme and CL as well! In reality, Java can only get within 90% of the speed of C for inner-loop numeric-type stuff (which lends itself to JIT optimization).
Flexibility? Java is highly inflexible. Its almost as as inflexible as C. It requires you to manually specify pretty much everything. You even have to do manual boxing/unboxing! Java is so highly structured, it should be compilable to native code that hits 90% the speed of C, without a very smart optimizer at all.
Safety? Given Java's lack of pointer types, it shouldn't need a JVM monitoring it to be safe. Again, there are lots of safe languages (Haskell, Clean, and the aforementioned dynamic languages) that don't require a runtime monitor.
Actually, I don't see much of a point in Java at all. Its got statically typed, but can't use that advantage to be as fast as C++. It runs in a VM, but can't use that advantage to be as dynamic as Python. Its syntax isn't any easier to use than something like Dylan (kinda like Lisp with a Pascal syntax) or Python. It doesn't have the development environment advantages of Smalltalk. Heck, its not even a very good compromise language ---- Dylan is as easy, often faster, and more powerful, Python is much easier (and thanks to Psyco) often as fast, C++ is much more powerful, as well as much faster, etc.
Re:Why JVM? (Score:2)
- Dynamicity? No.
I don't think 'Dynamicity' is a word. But hey, enlighten me?
- Flexibility? Java is highly inflexible. Its almost as as inflexible as C.
Nup, not even. See 'instanceof' - which, although considered hackish among OOP elites, gives volumes compared to using void pointers in C. Then there's the whole polymorphism thing, but hey - C is procedural.
- Safety? Given Java's lack of pointer types, it shouldn't need a JVM monitoring it to be safe.
Someone correct me if I'm wrong, but AFAIK
Re:Why JVM? (Score:2)
>>>>>>>>
It's not a word. But I'm referring to how dynamic the language is. In Java, dynamic method invocation is very limited --- just basic single argument polymorphism. Other languages have much greater dynamic capabilities: For example, in Dylan (chosen because its syntax is easier for most people to follow), I can do the following:
let vec = make(, size: 100);
for(i from 0 below 100)
do-foo(vec[i]
Re:Why JVM? (Score:3, Informative)
I don't think 'Dynamicity' is a word. But hey, enlighten me?
>>>>>>>>
It's not a word. But I'm referring to how dynamic the language is. In Java, dynamic method invocation is very limited --- just basic single argument polymorphism. Other languages have much greater dynamic capabilities: For example, in Dylan (chosen because its syntax is easier for most people to follow), I can do the following:
let vec = make(
Re:Why JVM? (Score:5, Informative)
Static types perhaps, but very dynamic when it comes to linking. Java has a lot of support for things like dynamic class loaders that lead to a very nice plug-in architecture, and extreme flexibility when it comes to deployment of code updates to a running application. Not to mention fun with diddling bytecodes on the fly.
Re:Why JVM? (Score:3, Interesting)
If I understand the myth/history correctly, it was made to run arbitrary code from an arbitrary source in an arbitrary environment, in a safe manner.
Sun needed something to load up additional code within a program which the original programmer didn't know anything about, get it from somewhere in the network at runtime, then run it in anything from a toaster to a cable-box to a PC to a cell-phon
Re:Why JVM? (Score:2)
>>>>>>
Not looking for the strengths, but why it requires a VM.
Flexibility? Once more, it's not about the type-system. It's about loading arbitrary code into your application server without shutting it down, or worrying too much that the code will crash your system.
>>>>>
But why does it require a VM? C/C++ can do the dynamic code loading via dlopen() and kin, and L
Re: Why JVM? (Score:2)
The big deal is that unless you have the source, you're restricted to those platforms that the maker happens to support. Which is usually a depressingly small number, and if you're not running Windows XYZ, can be a pretty frustrating experience.
Permissions is usually the domain of the OS kernel, not the language runtime. How is putting the thing in a VM any more secure than putting t
Memory Usage vs Eclipse Running in JVM (Score:2)
Re:Memory Usage vs Eclipse Running in JVM (Score:5, Informative)
Eclipse 2.1.1 with JVM
- Second start: 13 seconds
- Memory Eclipse: 80 MB
- Memory JVM: 65 MB
Eclipse 2.0.1 without JVM
- Second start: 9 seconds
- Memory: 96 MB
The download page seems to indicate you're downloading an Eclipse 2.1.0 version, but the about dialog says 2.0.1. Which one is it?
Cheers,
Thimo (back to coding in Eclipse 2.1.1
BitTorrent url (Score:2, Informative)
jit is not a slowdown... (Score:3, Informative)
Just so you all know. A good jit/hotspot compiler can make things quite a bit faster than any static build compiler. This is because at runtime certain optimizations are possible that simply cannot be done at build. These optimizations are typically very aggressive, to that extent that later on in execution it may turn out so that those snippets have to be thrown away and recompiled. And thus they usually target only the hotspots, i.e. portions of code that are being executed inside tight loops, which is usually where compile time savings occur anyway. The speed of the rest of the code is pretty much governed by the programmer anyway along with his choice of algorithms and data structures.
A good example of such snippets would be the inlining of a virtual method, turning a virtual method recursion into a loop along with some unrolling, inlining function pointer call (which is basically the same as virtual method call).
Mind you, ofcourse a hotspot compiler could also be implemented to a C/C++ runtime environments, but I haven't heard of anyone actually taking that path.
(for the record, I'm a C programmer and rarerly write much with java)
Re:Looks great! (Score:2, Interesting)
Re:Looks great! (Score:2)
On the flip side, most of my Java coding counterparts claim that Eclipse crushes VS.NET. I've tried Eclipse, and although it was good (and free) I wasn't extremely impressed (no offense to OSS, but my experience has always been that a commercial IDE is far better than it's OSS counterpart). I'll have to try out Intel
Re:Looks great! (Score:3, Interesting)
Unfortunately one of the reasons IntelliJ has got more expensive is because of its success. Its about 100$ more expensive now than when I purchased it. If you a
Microsoft's IDEs? You have GOT to be kidding (Score:2, Offtopic)
Have you used Metrowerks Codewarrior [metrowerks.com]? Now there's an IDE. It's a joy to use. Runs on Mac and Windows. I think there is a Linux version that uses gcc, but I haven't tried it.
(I admit I haven't tried Eclipse yet, but I would be very surprised if it were better than CodeWarrior.)
Everything Just Works in CodeWarrior. I've even got my wife, a web designer who prefers to hand-code her HTML, to use it to write her
Re:Microsoft's IDEs? You have GOT to be kidding (Score:2)
I now can't stand working without xemacs, and haven't really seen the point of an IDE for years (though I use one at work, just because that's what everyone else is using).
CodeWarrior for the Mac has been a wonderful IDE, if you like IDEs, for years upon years. However, you claimed that it worked on Windows. From what I've seen, the Windows version of CodeWarrior (keep in mind that my experi
Re:Microsoft's IDEs? You have GOT to be kidding (Score:3, Informative)
While IDEs can be quite a personal preference thing, you don't quite mention anything specifically about what is so good about the Metrowerks IDE other than it being cross platform and easy to author web pages in(!). I mean come on neither of those are core IDE functionality. I would have given you more credit if you had any pointed thing
Re:Microsoft's IDEs? You have GOT to be kidding (Score:2)
You will be surprised.
Maybe not for C/C++ development: The Eclipse support (which is implemented, just the Java stuff, exclusively with plug-ins) currently consists of just the basics: syntax-aware editor, code outline, debugger, makefile support. There are no source code tools, no code completion, no cross-referencing tools (Doxygen/JavaDoc lookup, etc.).
The Java personality, however, is extremely
Re:Looks great! (Score:2, Funny)
1) Lead developer has a cool name, like "Anders Heljborg".
2) Lead developer earns a cool salary, like $1,000,000+ a year.
3) Lead developer has legion of microsoft's code monkeys implementing and testing features out the yang, and they still can't burn up all the money they extort from, err, i mean charge, their customers.
4) Anders Heljsborg rewite and maintainence has been going on for four or five years. Give eclipse a chance to ketchup.
Re:Looks great! (Score:2)
Re:Looks great! (Score:2)
Dammit, Anders, aren't you supposed to be coding instead of posting to Slashdot?
Re:You sir are a troll.... (Score:2, Insightful)
Re:You sir are a troll.... (Score:2)
Emperor has no clothes (Score:3, Insightful)
Just getting a program to
Re:Emperor has no clothes (Score:2)
Re:Troll...Troll...Troll... (Score:5, Informative)
Java is still some 40 times faster than Python. As hardware speed continues to obey Moore's law, performance per clock cycle becomes less important. (For many areas of computing anyway.)
Re:Troll...Troll...Troll... (Score:2)
Re:Troll...Troll...Troll... (Score:2)
And this is horse shit.
What you meant to say was "for some tasks, java is faster than python, but python is clearly much faster for the vast majority of tasks that the programmer must solve. more importantly, however, python saves programmer time, which is far more expensive and valuable than CPU time."
or something like that.
if i wasn't so lazy today, i'd dig up the link to put you in your place. but you wouldn't believe it, so why bother?
Re:Troll...Troll...Troll... (Score:2)
Re:Troll...Troll...Troll... (Score:2)
But then again, once it goes to hardware, it's not about the language, it's about the skill of the hardware designer.
Sun abandoned java-in-hardware, but with all the server-side java code, why not have a java bytecode machine?
Re:Troll...Troll...Troll... (Score:2)
Re:Annoyed with the post (Score:5, Insightful)
Probably not. Nor would it have kill him to explain that a compiler turns source code into a binary executable for a particular architecture, or that IDE stands for Integrated Development Environment, or that a JVM is a Java Virtual Machine, or that RPM stands for Redhat Package Manager, or that GTK+ stands for GIMP ToolKit, or that now it is now used for far more than just GIMP, or that GIMP stands for GNU Image Manipulation Program, or that the included acronym stands for Gnu's Not Unix, or that GNU is a project to write free implementations of operating system components derived around the POSIX model, or that POSIX is a collection of operating system standards based around tradional Unix interfaces.
Doing all of these at once, however, would probably piss everyone off. Explaining just the particular missing piece of information that a specific reader is going to need would be better, but would require Slashdot readers to be more homogenous and Slashdot posters to be more psychic than they are.
The compromise, wherein the word "gcj" is linked to a web page entitled "The GNU compiler for Java", seems to be hard to improve upon.
Re:Annoyed with the post (Score:2)
Simon