Eclipse 2.1 Released
insomnia writes "Eclipse 2.1 has been unleashed to the world today. Eclipse is an open-source Java IDE environnement and I highly recommend it; developing under your favorite text editor feels like comparing Eclipse to the dinosaur age - I can't live without refactoring now. You can see what's new in this release here."
I really liked eclipse 2.0, with the improve c# plugin, but that gtk-2.2 progress bar bug was a pita...I tried one of the rc's and it was fixed though. Look forward to using this version.
---
Always standing, I am a tree awaiting the lightning. -Samael, Crown
Is the name "eclipse" a not so subtle reference to overtaking the Sun?
Im totally addicted to vi.
That's all I can say... they've certainly packed an awful lot into this release. The JDT team, in particular, seems to be consistent about picking up some of the best features of other IDEs and editors and incorporating them into Eclipse.
If you do Java development, I'd recommend giving Eclipse a try. I've been using it for about a year now, to do plugin developent for Eclipse itself, and I'm still finding out new tricks and shortcuts to make my life easier.
If you do C/C++ development, check out the CDT project. While the current incarnation (1.0.1) of CDT is definitely usable, there's a lot of work going on to expand the capabilities of the C/C++ support and bring it up to par with the Java development tools - adding in things like incremental compilation, source navigation/browsing, refactoring, and all the other IDE goodies that Java devlopers already enjoy.
Plus - there's over 250 plugins available for Eclipse, including things like an RSS channel monitor for slashdot in your IDE.
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
My company's entire business model is centered around making enterprise applicatons in Java. It's extremely efficent and performant for server-side apps and web services. We also have Java client side apps that are as fast and memory efficent as any of our competitor's products (that are not written in Java).
Java will run as fast or as slow as you make it. We've re-written C applicatons in Java and actually made them run faster by improving the architecture. If you try to write a Java app using C/C++ programming techniques, it will suck. If you take the time to learn how Java is supposed to work, you'll be 10 times more productive and create a product of equal (or better) quality.
Is java really worth developing for? I think it is great for its ease of programming and library support, but it's requirement of running on virtual machines leads to huge memory requirements for the simplest programs, and GC while nice, can lead to slow apps.
I would not recommend Java for small programs. But my company sells a scientific application that is written in Java. It handles large amounts of data and applies clustering algorithms that are computationally intensive. Compared with the sheer amounts of work that our own code is doing, the VM overhead is hardly noticeable. Our customer base is evenly split between academia and the pharmaceutical industry. Almost a third of our installs are on the Mac, and there's a few percent who are using Linux. The rest are running Windows.
Our leading competitor sells a Windows-only product. We have three times as much market share.
Why would anyone want to write a serious "enterprise" application in Java vs. say C++??
Because C++ sucks.
Having worked on WSAD at IBM using Eclipse 2.0.1 for development, I have been waiting for this release for quite some time! The main improvement I noticed in RC1/2 was significant speed improvement, especially upon loading.
People may think Java is dead, but it is far from it, and Eclipse will keep those who must (or want to) code in it very very happy. If you know the features, it makes life so much easier. You can have your VI if you want, but when developing REAL applications you need more than a text editor if you want the software released before it's obsolete. I strongly urge you to just test it out and give it a chance - it is by far the best IDE I have ever used.
It would be great if it were included as a default plugin.
But seriously, it looks good, and their replacement for Java's bloated and slow Swing GUI toolkit should be adopted by Sun yesterday.
Actually Java sucks because it doesn't do enough of those things you mentioned.
You want a serious enterprise language? Try LISP or Smalltalk.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
I'm no programmer... I can hack out ugly code in PHP, Perl, and JavaScript, and that's about it. And I can't answer your question w/ regards to developing in Java...
But... I do know that Eclipse is a general-purpose IDE which happens to be written in Java... You can use Eclipse to develop in other languages by installing the appropriate language plug-in.
I just installed Eclipse last week & I'm going to use it for PHP development...
--
Think Green... Burn only 100% recycled dinosaurs in you car.
And here I thought there were no replies to the WinXP story because nobody cares. *sigh* I can always hope, right?
High-speed Road Trip (18.000KPH)
Also.. the number of comments from the other stories have not changed as well. I'm guessing they made the front page semi-static for some reason.
I recently switched over from NetBeans to Eclipse 2.0.x and am downloading 2.1 as I type. As far as Java IDE's go it is the best I've found. All the improvements in 2.1 are welcome. Using Eclipse is like having a well ordered workshop witj all the stuff you need close at hand. I think Eclipse has fewer features than NetBeans, but the features that are there are done better.
I still break out vi for basic text editing, but for Java coding this is where it is at.
I'm using IDEA by IntelliJ, which is excellent, but they are getting a bit expensive, they just jacked the price up quite severely you don't even get point upgrades unless you buy a years subscription.
Anyhow, it looks like Eclipse is catching up very fast, has anyone used IDEA and the latest Eclipse? Can anyone comment on how they compare?
--
So far as I can remember, there is not one word in the Gospels in praise of intelligence.
-- Bertrand Russell
Downloading...
political_news.c: warning: comparison is always true due to limited range of data type
If you log out and view the front page, the number of comments appears normally.
As it stands, Eclipse has more features than Idea, plus a whole bunch of plugins. Eclipse has tools for working on big, complex projects. Idea shines as a more basic editor, where it leaves everything else behind. It's just much more nicely done, with a much cleaner interface. I especially like how it automatically adds import statements, AFAIK the only IDE that does that.
The best way to find out which is better for you is to download both and try them.
its not a question of whether people would like to write enterprise applications in java. most of the consulation industry atleast is already doing that.
I am sure language per se can not be such a deciding factor when designing enterprise applications and the fact that it runs on VM or the fact that users of app would have to purchase Big IRON machines to run it. No, there are never the deciding factors!
Java is certainly not suitable for certain kind of applications but so is any other language. and this false 'macho' sense that i am doing it on metal in 'C/C++' is well false, thats all. [ there would be thousands of instances of brain-damaged C++ code written by brain-damaged programmers!]
Its not that just writing it in C/C++ makes you a more capable programmer! Java is much more cleaner. Things that suck most are primarily in libraries.
And, anyway, extending the logic, why not write everything in assembly ? or make your own ADDER from NAND gates ? or do you know how the electrons tunnel through to make a transistor work ?
No
I have gone backwards in terms of developing software when it comes to using an IDE. Although I don't develop using Java I do work with C++ on a variety of platforms with several IDEs and text editor. When I began I used bloodshed's dev-cpp then moving onto M$'s VC++ as my projects required a better compiler and ide to handle all the files. Now, have gone back to using text editors, notepad and emacs, because I am using the compiler tools, flex and bison, in some of my work. In some ways a basic text editor is easier to work with, of course the nice color coding makes reading your code easier but really your code, when properly formatted(indenting and so forth), should be easy to read in a text editor. In addition, MDI text editors make it a breeze to program because you can have many windows open at once and still have your screen organized. Next to my text editor I have my console in which I type make and my app gets compiled as easy as 1,2,3. GCC is great to work with because it works exactly the same on windows as it does on linux. In addition, if you work on both linux and windows making the transition is easier when you don't have to deal with the clutter of all the features of an IDE no matter how well laid out they are. One of the things that attracts most people to IDEs is that a lot of them come with code wizards and so forth that help with the basic layout of applications. I have never found these to be of much use because I end up scrapping much of the code because it usually isn't as concise as I like it. So for now I will stick with my text editors.
Checking out my form of escapism.
Your c++ page certainly shows a certain maturity about you. Bjarne was right on with his response to your email.
Gee, I don't normally troll so blatantly, but you're an idiot. Mods, please mod this down, but not before giving me a fair hearing by reading that link of his. All the way to the painful, immature, and ignorant end.
I've had this sig for three days.
You think that's my page?! C++ didn't even exist back when I was in high school.
I especially liked the part where he explains to Bjarne why JavaScript has a better type system.
The bank where I work (30000 employees) uses only mainframe (PL/1) and Java. Gradually mainframe functions are moved to very large (partitioned) Sun servers running solely Java software and Oracle databases.
All business logic for this large enterprise is being developed (or redeveloped) into Java. This has been going on for 3-4 years, and has already proven itself very much.
For "enterprises" the fact that you need 50% more RAM and 20% more CPU compared to C++ is insignificant. UNIX hardware is very cheap compared to mainframes, and especially compared to people. If you get better code that is easier to develop and maintain, it is by far worth it. Also Java offers lots of rich standard API's (in J2EE) that "everyone" uses, avoiding difficult choices and gambles if you base your software on the 'correct' standards.
Since banks often rely on 3rd party software/components (e.g. that implement some reporting according to international banking standards) and all vendors offer components that fit into the std. Java frameworks, there is hardly another option.
I tried Eclipse a month ago, and was severly disappointed. First off, I had to read the tutorial to figure out how to build HelloWorld with their system. Not intuitive. Also, the SWT library is a complete joke -- it doesn't look like the host OS, and requires native code. No java program using SWT is cross-platform, so what's the point?
Are we using two different Eclipses? From unzipping the binary distribution to setting a couple preferences to a System.out.println("Hello world"): 2 min.
Also, how can SWT not look like the native OS when it's a JNI wrapper around native widgets? Furthermore, to write SWT apps no native code has to be written by the developer, you simply need to include the SWT native library in your java.library.path. SWT is cross platform! The widget classes are nicely abstracted so that each implementation of the JNI library for each platform requires no code changes on your part. Please learn more [SWT FAQ] before dismissing it wholesale based on incomplete information!
See above; it's not my link. I found it and thought it was funny.
Have anyone made a plugin for eg. PHP for Eclipse? And is it easy to switch (I develop both Java and PHP). What advantages would it give a developer not developing Java full time?
My <1000 UID is with a hot chick
Bah! Yet another Emacs, er, GNU/Emacs clone ;-P
My other Beowulf cluster is... er...
Ah, hell, and I thought I was going to get frist post! Oh, well.
political_news.c: warning: comparison is always true due to limited range of data type
heh. heh. mmm... the pure simplicity of var...
i don't read slashdot anymore.
It is unbelievable how rude some people are. I read this guy MillionthMonkey (240664)'s fscking page thinking I might get a well-reasoned report on why, exactly, C++ sucks, possibly similar to the XML sucks article
It is simply un-fricking-believable that this goddamned script-kiddie can have such disregard for nearly 20 years of computer science, and a language that is virtually ubiquitous. Hey Monkey, if you can't learn C++ (I learned it on my own no teacher required, it's not all THAT hard) I suggest you give up the profession for something a little less stressful. Shoveling shit is nice and doesn't make you do that really hard thing... you know, using that brain.
I cry for the future of my profession
std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
I have a problem with eclipse and the tomcat plugin for it: I can't get localization to work at all. I'm doing JSP-development and all non-English characters (i.e. in my case Finnish) come out as ??? and some English characters after them are missing on all pages when I use the plugin to start tomcat from eclipse. Eclipse itself shows them correctly when I've set LC_ALL=fi_FI@euro and the same thing if I run tomcat separately but not when I start it from eclipse. Then it runs so badly that strings with such characters in java classes cause nullpointerexceptions - due to incorrect lenghts caused by the characters missing after ???, I assume. Does anybody know how to fix this? Is there some additional locale setting in eclipse (well hidden since I haven't found it...) ?
Karma. Moderation. Is my
I wasn't trolling, I just thought the kid's letter to Bjarne and the response he got were amusing.
You're the third person who thought that was a link to my own page. I guess I have to start using those smileys in my posts.
grammar nazi hat on
Am I the only one who reads IDE environment and cringes at the redundancy? It's the same as people saying they need a NIC card for their computer.
Eclipse is an open-source Java IDE. My computer can talk to other computers because it has a NIC.
grammar nazi hat off
Sorry, but that's just one my my pet peeves.
Well then, my apologies to you.
:)
sed 's/MillionthMonkey/andraskonya@hotmail.com/g' $last_slashpost > $next_slashdotpost
std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
The idea is to get an indication of how much people are influenced by the possibility that their comment will be a first post or come near the top of the pile. If you look at the total number of comments for these kinds of stories, you'll notice there are more comments on the articles without a comment tally. The collected data will be useful in the fight against first post spam and trolls.
I sure hope that wayback machine is still doing its thing in another 4 years when that kid graduates from college. He's sure done a good job of demonstrating his ignorance. Just read his rant on why mozilla is just a way for AOL to steal from opensource programmers. His stuff is just too funny that there is no way it could be a joke.
When information is power, privacy is freedom.
You can have a better IDE doing refactoring as well.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
Yes. It has had a bug for several weeks now (going on months) where if the story has more than 400 to 500 comments, it is impossible to get a nested listing of them. This is the third time I've commented on this, and I'm fairly certain this, like the others, will be totally ignored.
The language is open source for the most part, but the license isn't free. You can modify it and use it but you cannot redistribute the modified work without permission from Sun. If you download the JDK from Sun or blackdown.org there is a file called src.zip guess what it has inside...
That is unprofesionaly and rude. If I dislike something I would never insult the author if he/she did alot of work towards it and knows a hell of alot more then I do about the subject.
Especially I would not insult someone that can code rings around you and the kids website. If you do not know much about c++/c then don't bitch. You have no idea what your talking about. Also the kids website mentioned he had a poor instructor who could not even read c++ code. This might have something to do with it.
I know python and javascript and I am learning c++ and perl now. C++ is an incredibly powerfull and langauge. I had no idea I could declare an identifer as type "register" and bypass the ram and use the cpu registers directly! Try that in any other language? For writing cad apps this is essential for speed.
Also I love calling functions by reference and using type "const" identifers to get the speed advantages of using call by reference and protecting the original values. In most programming languages if you use call by reference you could corrupt the orginal value and fuck up the program. Tail recursion is also cool and I am learning that now. Alot of goto statements in c could be gone with it.
C++ rocks and power comes complexity. If you want to create apps simply and quickly use VB. If you want to learn cs and hard core programming learn c/c++.
http://saveie6.com/
"After all, I must be a complete idiot since it's not like I have made my own website or anything, oh wait, I did!"
This is classic.
I'll have to try the new eclipse release....again.
I first looked for alternatives to IBM's VisualAge for Java and Metroworks Codewarrior when Eclipse was first released. I was hoping it would be enough, but then I got fed up with it & started using jEdit. I like having a decent functioning editor and then customizing it into a developing environment that suits my needs. Plugins are being released for the two at a comparable rate.
I tried out Eclipse when it was in beta and didn't like it. The ui felt uncomfortable and I did not like the everything is a plug-in method.
I use netbeans and find its a perfect ballance between functionality and slimness. You may want to download and give it a shot. Eclispe seemed to bloat very quickly if you add all the plugins and the fileview gets clogged easily. Of coarse this was the beta version so I will give it another shot.
http://saveie6.com/
Sir,
An excellent troll, you are to be commended.
Seriously. It looked really clunky to me, but you hooked 'em AND the daft fuckers got modded to +5.
Sweet.
Dave
I write a blog now, you should be afraid.
I've been using eclipse since 2.0, and have been closely following its development - at first out of curiosity (when I discovered Erich Gamma of the Design Patterns fame was on the project), but have over time learnt a great deal from their articles and best practices...
Anyway, one of my favourite features is its scrapbook that lets you execute Java statements on the fly like an interpreted language.
Worth a try if you haven't experienced it. I should know... there's an unused paid JBuilder license still sitting in my drawer.
I have my doubts as to whether he'll actually graduate.
I know that that is a common possibility in all Open Source projects, but Eclipse makes it really practical, using their plug-in system. I mean that you don't have to learn the whole damn bloat of code to start adding some menu point to it. I'm developing a plug-in, and while not trivial, it's affordable.I've been developing for more years than I care. And never sensed the same kind of power as now, when I can modify my IDE to suit my preferences. Efficiency is starting to climb, even considering the time developing the plug-in. And it'b bound to skyrocket as it gets perferctioned. I mean, most of my development has a high percentage of repetitive work, that is probably different for other developers. I'm now putting all that repetitive work in automated code generation routines. It will save me ages. And Eclipse offers a lot of built-in functionality that allows you to concentrate on the real issues.
Plus, the documentation is good. I would almost call it first-class.
I've been waiting for something like Eclipse since I did my first C code to generate COBOL list programs. So it's a while. Well, I must leave you, gentelmen, I think my download of the 2.1 is finished
Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
" Is java really worth developing for? I think it is great for its ease of programming and library support, but it's requirement of running on virtual machines leads to huge memory requirements for the simplest programs, and GC while nice, can lead to slow apps."
A quick check of pricewatch shows that a 512MB stick of DDR2700 is $49. So for less than $100, you can have a gig. Ram isn't an issue any more. 2GHz+ CPUs are floating in the low hundred dollar range, so CPU power won't be an issue by the time any program started now is released.
A quick look at what java is used for shows it isn't made for prepackaged, store bought programs like Photoshop (Sklyarov), Warcraft (BNetD) or Word (to many to mention, the messages probably cap at a gig in length). These are the domain for C. Java is used for business logic, multi-tiered client/server programming, and interfaces for knowledge workers. That is where it rules. It has connectivity, net-awareness, security and a general lack of bugged code built into it's genes in a way that other languages simply never will.
When you write in java, most of the crap simply isn't there. You can write components easily, and deploy them across a corporation with a large, hetrogenous computing infrastructure with little if any porting. This is what gives CIOs wet dreams, and saves cubic dollars for companies. Add that to the fact that you can run it on damn near everything from a cell phone to a sun 15K, and you have a good deal of flexibility.
You are looking at this from a perspective of someone writing an app for a user to run on a PC. This is a very valid programming model, but not the one that java is aimed at. While it will work, you are missing out on what makes java shine.
-Charlie
To upgrade this GTK I had to rebuild some pieces which in binary RPM form were built against a newer glibc than what I had.
There is a plethora of plugins for Eclipse here.
The correct solution is to code everything out of the performance critical loop in whatver language is easy and cheap to work with, and then you write what actually matters in the fastest and most efficient way. Actually for the easy and cheap, you can find scripting languages like Perl, Python or Ruby are as good as Java if not better. Java is often a little faster though (but not always).
What Java does have is the ability to run on multiple client platforms, otherwise you have to roll out specific binaries. The joke is for serious applications, your Java often has to call down through JNI to some special stuff that is platform specific anyway so you lose that advantage.
See my journal, I write things there
I'm guessing they made the front page semi-static for some reason.
Because it was posted on Slashdot (somewhere %), it runned the risk at being slashdotted, so they put in a static page.
"We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
Why would anyone want to write a serious "enterprise" application in Java vs. say C++??
/.) with a "Java sucks C++ is better" and see what happens
:-)
Pass
But you could always try asking some of the plethora of the massive global banks (i.e. MSDW, CSFB, UBS, HSBC, Lehmanns, Barcleys, RBOS, HBoS, LloydsTSB, DKW, DB, etc...) who use it for many things including real-time global trading systems
Or go onto any jobsite (i.e. Jobserve) and search under "C++" and then "Java" and see the numbers (when i did 29th/03/03 at 11am uk time the numbers were 1201 [java] and 1251 [c++])
Or troll on comp.lang.Java.* (or
I'd like SWT to be released separately from eclipse so that I can develop/distribute SWT based apps easily.
Also an SWT gui builder wouldn't go amiss....
-- Thorin sits down and starts singing about gold.
With the release of Eclipse 2.1 Xored has released version 0.3.4 of the WebStudio plugin that is compatable (Finally we can stop using 2.1 M5...)
:-) )
Excellent Cross platform PHP/HTML IDE
Now all I need is a -good- XML/XSLT editing plugin and I can have all of my dev work in one integrated tool.
(Guess I'll have to pick up some esoteric language so I can have a reason to keep vim open, wouldn't feel right to be so efficient
I used to think like you, but now I disagree - malloc problems in complex applications aren't always simple. If you want massive code reuse you end up unnecessarily copying, or generally doing large amounts of allocation/deallocation. It's pretty hideous.
Some of the problems can be fixed by massive redesign, but half of the time this simply makes the application harder to understand.
However, I've been having problems with disappearing cvs log messages using Eclipse.
Perhaps this has been fixed in this release?
This kills it dead for a lot of people...Is there no way to debug jsp's with Eclipse?
Invoicing, Time Tracking, Reporting
You can't. You can only give a hint to the compiler to use a register. But modern compilers know much better which variables to put in registers, so they just ignore the hint.
I work for a company that has chosen WebSphere App Server (WAS) as its J2EE platform and WebSphere Studio Application Developer (WSAD) as its IDE. One of the primary advantages to WSAD, in my situation, is that it helps you manage a lot of the application deployment "overhead" (like data source/EJB bindings, WAS-specific config settings, etc.)
I was wondering if someone here knowledgable about both tools could provide insight as to what I'd find missing if I switched to Eclipse? As a developer, I'm always eager to get the latest IDE improvements... and my company has been stuck on an older version of WSAD for a long time.
Another advantage is when your company gets bought out and the hardware politics change. The company I work for develops large scale server solutions for transactions (I won't mention the industry). Up to now we have been running on Sun machines. The new parent companies now insists that all servers be Intel based. They originally mandated the OS should be MS-Windows, but they ended up accepting Linux. Having already had to bang my head in the past porting C/C++ code from one Unix to another, moving the Java code was a godsend in ease.
As I once said to someone else, porting code is hard work and expensive. In relative terms upgrading the hardware to the best out there without caring for your porting issues is very cheap. Not only that but you also minimize downtime.
Use what you want and understand everyone else's reason for using what they want.
Jumpstart the tartan drive.
For all you guys that switched to Eclipse as a primary IDE, what did you switch from? I'm considering spending some time learning to use it, but first I think it would be helpful to see why people chose it vs. other IDEs.
For what it's worth, I've started using IntelliJ lately and it's the best editor I've ever used by far. Has anyone else tried it?
-Fatty
Isn't that a city in Portugal?
ba dum ching
If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
Being an American, I am protesting all things French, including mangling their language.
Speaking of redunancy, how many of those letters in 'aux jus' are silent?
If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
There's a reason other popular IDEs like Eclipse and JBuilder include support for Ant build.xml files!
Anyone have a miror?
I've tried both the FTP and HTTP links. I'm currently getting 2.58kb/sec on my fancy broadband connection.
SWT is an interesting "under the covers" bit of information, but its not important to the way you're using the application. Eclipse (unlike most branded IDEs) doesn't have, in addition to its main features, this hidden motive to get you to use their vendor-lock-in widgets and toolsets.
If you want to use SWT, fine, its interesting, but don't get the idea that using Eclipse somehow leads you to SWT.
I'd use Eclipse if they decided to write it in cobol, so long as it works the way it does. CVS integration, and so many things that "just work the way you'd want them to", and good linux support. I don't have a lot of things left on my wish list, really.
-Zipwow
I don't know which is more depressing, that 2/3 didn't care enough to vote, or that 1/2 of those that did are crazy.
Eclipse is an open-source Java IDE
err, no it's not. from eclipse.org:
"Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular"
Granted, i'm sure at this point that the most popular use of Eclipse is as a Java IDE, but let's not limit it's potential!
Frankly, I dont give a damn what toolkits the eclipse developers have used. It is a great, free, open source product. I'll worry about the SWT when I develop for eclipse and not with eclipse.
I think this is an important point, so if someone with a little more knowledge of the subject can confirm this, please do so. Or please educate me if I am wrong.
Move on. There's nothing to see here.
I know we're meant to be talking about Eclipse but if you're in the market for an IDE and you don't look at IntelliJ IDEA you're missing out. At work we have saved the purchase price ($700, far less than so called "Enterprise" tools) many times over. The whole tool works so cleanly and unobtrusively it doesn't get between you and your code. The only downside is it tends to turn its users into partisans in the same way that emacs does. If you're worried that you'll end up posting to Slashdot praising a commercial product then stay away.
development.lombardi.com
I've been using Eclipse for a year now as my primary Java development platform. My primary client loves Macs; I run Linux; we test on Windows -- all using one set of projects and Eclipse 2.x. Yesterday, while testing a largish Java application, I ran Eclipse on both Win2k and Linux boxes, against a single copy of the code residing on a share; it was a dammed fast way to test the code across platforms.
And our application is 100% Pure Java, 100% Swing -- no SWT. None.
While I prefer Nedit/xterm for my C/C++/Fortran coding, Eclipse works very well for Java development. I do revert to Nedit/xterm when I need to work fast (as in banging out raw code).
Which brings up some of the few problems with Eclipse: slow performance and a lousy search/replace facility. Even on a 2.8GHz Pentium 4, it takes Eclipse more than a minute to start up. And the search/replace mechanism is primitive at best and ineffective at worst.
Eclipse can do lots of hand-holding -- all sorts of context-sensitive documentation and help is available, but you can turn it all off if it annoys you or slows the editor down.
I've tried other Java IDEs, both free and commercial, and I didn't really like them. Eclipse does its job well, costs nothing, and is portable across the platforms I need. And that is enough to make it one of my primary programming tool.
All about me
The only comparison I can give between my favorite text editor and Eclipse is that it feels as if it takes a dinosaurs age to open Eclipse. On my machine (AMD 1.2Ghz, 764mb RAM) my favorite text editor GVIM loads in 0.22s whereas Eclipse 2.0 loads in 27.00s. I must say however that Eclipse is the absolute best Java IDE I have ever used, I just wish it opened a little faster.
It also does code coloring, flexible auto-indent, browsing to a given tag (like Browse Symbol in JBuilder), make from within the editor allowing a jump right to each error, ditto for file grepping, etc, etc, etc.
And Vim's had all this for years, runs equally usably on my home machine (pathetic K6-333 laptop w/128MB of RAM) and my work machine (P4 1.5GHz w/512MB of RAM) and runs equally well in Linux, *BSD, Windows, and umpty-gazillian other OSs.
It's not as pretty as an IDE, though. Also lets you keep working away w/o having to stop and grop a rodent (unless you're into that sort of thing, in which case it'll give you what you want).
Frankly I wish Java would have started out with the native widget approach
uhm, AWT?
where there's fish, there's cats
I have also had the same experience that if you criticize something that has its defenders on these pages, you get moderated down as "troll." It is the famous "if you don't know how to use it you must be stupid" attitude that places a persons preferences ahead of how user interfaces play out in the real world (while developers are perhaps a more sophisticated set of users than many, a developer's tool is basically a user interface).
Also, why can't such matters be debated with reason. Do I see replies to your post "Yes, it is counterintuitive, but they did it this way because . . ."
While saying "SWT library is a complete joke" may provoke a hostile response, your concerns are valid in that SWT is not the official SUN party line regarding multiplatform, and SWT looks suspiciously more complete on Windows than other platforms. This is an issue that merits some legitimate debate.
Which VisualStudio are you using? VS.NET is pretty damn nice...
(I've use Eclipse & Websphere on a frequent basis, so, I'm basing my opinion on the use of both IDEs)
I have never seen the Eclipse.org server to be so slow. Normally it makes 80k/ses without problems, now is crawling with 2-3.
Even the IBM Internet connection can not keep with the Slashdot power.
A simple example: You're working on a bit of code that needs to call a method on another class, but with a different number of parameters than the method currently has -- you can go ahead and write the call, then ctrl-1 and Eclipse will offer to create the method for you.
Here is the result:
:-(
This presentation contains content that your browser may not be able to show properly. This presentation was optimized for more recent versions of Microsoft Internet Explorer.
Cross platform IDE, Single platform documentation
I wish I had mod points right now... Anyway, I've tried Eclipse about three different times in the past. This "project focus" is the reason I switch back to jEdit every time. I work on a product that has thousands of source files, my focus is on a relatively small part. But, Eclipse forces me to make a project, and it then proceeds to compile it all, which takes hours to complete...
Maybe Eclipse 2.2 will be better, I understand there's an option to edit files outside a project...
Then you don't understand the power of flexible deliverables. The .class file strategy along with the .jar concept basically blows lisp and smalltalk out of the water when it comes to product delivery time.
:)
Admittedly, there may be a way to rethink lisp and smalltalk such that compiled code can be easily separated and independently manipulated, but enterprise Java applications are just so much easier to manage largely because of the strategy chosen for breaking up deliverable units.
As for syntax, I tend agree with you, both lisp and smalltalk have more powerful language metaphors than Java (and other C derivatives). Though, that can be a two-edged sword (have you ever tried to read newbie lisp?
Regards,
Ross
It evades me why so many Java developers lean so much towards one single program to try to work effectively and solve all their problems. I often get people in my office saying, "How can you possibly work effectively using more than one tool?" It really amazes me. If you make some programmers use more than one tool, they simply fall apart. As if Visual Basic style programming is all they can do.
:
I cannot stand to have one tool that has everything built into it. I would much rather just combine two or three tools together and use them effectively. The idea of the fully-integrated development environment has never made sense nor appealed to me.
I have tried Eclipse repeatedly, and probably won't ever use it regularly. I think the project management is very cumbersome. And FORGET trying to use external VCS tools with Eclipse. Eclipse caches so much crap, that if anything VCS-related happens outside the environment, Eclipse goes nuts becuase it is out of sync. Not to mention that I have seen people get burned by Eclipse's dependency checker not actually compiling all the files. That's another problem. You can't compile _just one file_. It has to try to compile everything -- every time. And sometimes, that isn't what you want to do. And personally, I think the DIFF in Eclipse sucks. It has no colors whatsoever, so it is difficult to see what has changed. When diffing, it also does not ignore file changes that span across lines. So if you use a code formatter like Jalopy or Jindent, you get hosed if it formats long lines into multiple lines. These changes show up as differences -- when they really aren't. Eclipse does have some sweet features, but it really has some warts, too, IMHO.
If you are a programmer's programmer, and want a good, free IDE to use on Win32, I would highly recommend Gel. It isn't open-source, but it is freeware (the author will probably go commercial at some point). It is written in Delphi, so it is totally native. It is extremely fast and intuitive. Lightweight. It has the features you NEED. Not the kitchen sink. It doesn't do refactoring -- although some actually think refactoring by hand is better. Its VCS supports is really non-existent (although I use WinCVS -- so it doesn't matter).
It is a very solid Java IDE. I'll take it over Eclipse any day. I love having a native editor that only takes up 20 megs of RAM at the worst.
My regular Win32 working combo is
Gel - Java IDE
WinCVS/Command-line CVS - Source Control
GVim - General purpose text editing
Jikes - Compiler
JSwat - remote debugging (if I need it)
One aspect of development tools in general that hasn't been discussed as much is the education value. In teaching programming, I don't want to become too bogged down in the tools and the equipment I use. Every class period I spend fixing Windows problems or getting the environment to work is a wasted period, because it is one less period I spend teaching the language.
.
Don't get me wrong, dealing with your "tools" is a part of programming and programmers need to learn these things. However, for an entry level C++ or Java programming course, I would rather spend a week at the end of the semester teaching some interesting language concept than spend a week at the beginning of the semester teaching the environment (which will inevitably change).
Beyond that, I want students to be able to use these tools at home. The automatically makes me prefer an IDE over a string of tools, because that everything I have to do to get the environment to work is what I have to write in a descriptive help file. Beyond that, students (of varying levels of maturity and motivation) have to follow this help file.
The things that I really like about Eclipse (as a teacher) are:
1) The simple setup/install -- Install the JRE and expand the eclipse.zip file and you're basically good to go. When I send burned CDs home, this minimizes the number of students who mess up the install because they missed an instruction. Students who do have problems end up having significant ones that I have to fix via VNC.
2) Focus on the language -- Eclipse does so many things for you that it really allows you to focus on your programming, rather than the host of tangential things related to programming. Granted, sometimes I think Eclipse does a little too much for you....for instance, creating class and method headers in new files prevent students from knowing how to write it
3) Projects and CVS -- Oh God do I love how Eclipse does projects and CVS. The projects FORCE students to be organized, rather than throwing all of their files into one file. CVS' is so well integrated that students get all of the benefits of using CVS without having to jump through 15 hoops. Once again, there is an educationl benefit to learning how to jump through hoops, but that I have 67 hours a semester with these kids and I would rather focus on the language than the environment.
-Troy
For example, you could say, "your statement is non-factual because there is this excellent tutorial about Eclipse and newbies need to go to that tutorial." Saying "I tried Eclipse and didn't have any problem with it" doesn't qualify because I don't have your resume, training, experience and life experience. And if as an evangelist of a product, even a product that takes sophistication on the part of the user such as a development tool, you suggest that people who have difficulties with that product are stupid, missinformed, or otherwise need to shut the heck up or keep their opinions to themselves, you are going to anger, discourage, or turn away potential users, and then you are going to wonder why that product does not catch on.
The choice of a development environment and GUI toolkit combination (such as Eclipse together with SWT) is a very important matter from the issues of ease of learning, ease of use, productivity, portability vs platform tie-down, features, capabilities and performance of the applications you develop. I spend whatever time I can spare looking over my shoulder at other platforms than what I am using to see if there is anything better out there. I also spend a fair amount of time on Slashdot because I can quickly get a feel for what is out there: from testimonials, from criticisms, and from the arrogant pose of some evangelists.
I am currently using C#/.NET because 1) I get to reuse all of the Delphi software I have developed for signal processing as ActiveX controls, 2) it has a C-like, Java-like syntax, and 3) the runtime performance and GUI responsiveness of this combination is very, very good. This setup has very bad vendor tie-in. Java is attractive because 1) it has C-style syntax and it is being taught in every CS department, 2) it is highly portable and is not Microsoft, 3) improvements are constantly made in its runtime performance. Eclipse/SWT is attractive because SWT tries to use more native GUI capabilities and not be as sluggish as Swing. On the other hand, it may have more Windows tie-in than you think. These issues need to be discussed and debated.
I develop engineering applications software, teach, and conduct engineering research, and in between all of that I try to evaluate development systems other than the ones I am using to see if it is worth making the switch, for myself and for my EE students. I found Eclipse non-intuitive, and I am certain I can figure it out, but then I have to teach it to electrical engineering students without taking up half the semester in a DSP class.
I find that Eclipse proponents, instead of trying to explain what Eclipse is about go around telling people who have difficulty with it that they are ignorant weenies, and I say I don't have time to waste on this. I think I will take a wait-and-see attitude -- if the thing is that good and gets enough mind share, I will invest the effort required to integrate it into my DSP class, but if its proponents are arrogant so-an-so's, I only need to wait for it to whither on the vine and I won't have wasted much time on it.
I've used Eclipse on W2k, Linux, and MacOS X.
As near as I can tell, it is best on Windows,
worst on Linux, mostly because of problems
with cut-and-paste.
Eclipse is the first IDE that got me pried loose
from emacs. I've tried others, used MSVC++ for
debugging, but this is the first time I've happily
edited in the IDE, and I now find myself getting
annoyed with emacs where it fall short of
Eclipse's many editing features.
As far as integration goes, between the debugger,
junit, ant, and cvs, I'm relatively impressed.
Downsides: I think it takes too long to learn.
The 3rd-party plugins are a little random in their
quality. It uses more memory than you will find
in an old machine, at least for projects that
get into the 100kloc range.
So, no download from me. Thanks.
A couple of weeks ago I finished a couple thousand lines of Java code for a pretty simple app a friend of mine needed. Heavy use of Swing throughout--Eclipse handled it just fine. In fact, I would've been more surprised if Eclipse hadn't handled it just fine.
Especially I would not insult someone that can code rings around you and the kids website. If you do not know much about c++/c then don't bitch.
Oh please. It was a joke in response to the parent. The kid is obviously a moron.
C++ is an incredibly powerfull and langauge. I had no idea I could declare an identifer as type "register" and bypass the ram and use the cpu registers directly! Try that in any other language?
Like C?
You generally shouldn't use the register keyword. It interferes with compiler optimizations and the compiler can usually do a better job of mapping variables to registers than you can.
Tail recursion is also cool and I am learning that now.
I know the IBM Java compiler implements tail recursion. I don't know if Sun's compiler does.
...version 1.3 on Linux, which quite up-to-date. If there is any laziness, it is on the part of those who speak before checking the facts.
I hate C++ as much as the next guy, so I was hoping to read that Andkon page and find a good, well-thought-out flaming, but really it was pathetic. No real technical points whatsoever. Its embarassing that you use that as your justification for using Java over C++. There are many good critiques of C++ out there. This is not one of them.
I hate C++ as much as the next guy, so I was hoping to read that Andkon page and find a good, well-thought-out flaming, but really it was pathetic.
If you clicked on that link hoping to get a well thought out argument about why C++ sucks, you have my apologies. I should have explained it was a joke because now I've got people who think I wrote that page myself.
Why would anyone want to write a serious "enterprise" application in Java vs. say C++??
(a) Most of the time, computers are powerful enough for the task, and using Java shortens development time
(b) Most programmers are pretty piss-poor (especially "business", "database" and "web" programmers), and using Java makes things easier for them.
(c) Freaking big set of libraries.
Obviously, if your thing is writing codecs or high-load servers, Java isn't all that appropriate. But if you're writing a lightweight client or a distributed app, it can be convenient.
That being said, I've never seen an application where I wouldn't prefer to use an equivalent C program.
GC nuts say that you can get good performance with GC. I'm pretty sure that it isn't GC that makes Java so slow -- Ocaml uses GC, and it runs about as quickly as C.
May we never see th
I posted the link as a joke. A guy I work with found that letter to Bjarne Soustroup and thought it was funny, and I thought it was funny too, in a Beavis and Butthead sort of way.
C++ is a fine language. The only things I don't like about it are
This is not to say that a language is only good if it is tolerant of bad programmers. The job market is bad enough that there are lots of resumes from good programmers on our desks. But sorting these people out isn't easy.
Java will run as fast or as slow as you make it.
Oh, bull and shit. I heard that same line from Sun for *years*. First it was "Yeah, Java may *seem* to be slow as hell, but that's because VMs aren't mature enough". Then it was "Yeah, Java may *seem* to be slow as hell, but that's because you're not using a JIT/native code compiler". Then it was "Yeah, Java may *seem* to be slow as hell, but that's because you're using yesteryear's computer and don't have enough memory". Now it's "Yeah, Java may *seem* to be slow as hell, but that's because you're using bad programming techniques." It's pretty clear to everyone involved except (a) people that have committed to the "Java can be fast" line and (b) Sun salespeople that Java *is* slow as hell. Doesn't mean that it doesn't have good uses, but it's not for high-performance stuff.
We've re-written C applicatons in Java and actually made them run faster by improving the architecture.
Yes. And you could have done the same rearchitecting of the code in C, and had even better performance.
If you try to write a Java app using C/C++ programming techniques, it will suck.
Oh, like having actual allocation and deallocation going on? Yeah, you can get better Java performance if you create all your objects in a huge pool and then just hand around references to the thing. It's also a pain in the ass.
If you take the time to learn how Java is supposed to work, you'll be 10 times more productive and create a product of equal (or better) quality.
Uh, huh. As evidenced by all those high quality horizontal Java apps. Oh, wait.
The only place I see Java being popular is in vertical market stuff, where you need fast development time. Java does speed up development, I'll give it that. It has a nice library set, and a clean syntax.
But when it comes to speed...no, Java is a dog, no matter how you paint it. And uses more RAM than just about anything else.
May we never see th
I thought that something inherent to the JVM design made tail recursion difficult, if not impossible. I know an ML fan who was complaining about how unsuitable the JVM was as a target for his language because of the inability to do tail recursion.
Might be something to do with the security model...
May we never see th
Yes. And you could have done the same rearchitecting of the code in C, and had even better performance.
On the two re-architecture projects I've worked on, we considered implementing our improved design in C++ (no classes in C, so that wasn't an option). However, we found that it would have been cost prohibitive, due to portability and maintence costs, and the limitations of the STL vs the Java 2 JDK. So, yeah, we _could_ have done it in C/C++, but we wouldn't be selling it now, we'd still be writing it.
Yeah, you can get better Java performance if you create all your objects in a huge pool and then just hand around references to the thing. It's also a pain in the ass.
Object pools are a bad idea in Java, but I can't even count the number of C/C++ programmers who I've heard say thats what's needed to "fix" Java. I'll say it again...If you take the time to learn how Java is supposed to work, you'll be 10 times more productive and create a product of equal (or better) quality.
Uh, huh. As evidenced by all those high quality horizontal Java apps. Oh, wait.
Considering Java has 54% of the software development market, I'd say there's probably more Java out there than you think. It's just mostly on the backend, so you don't see it (unless you bother to look).
Is a for() loop in Java faster than in C? No. But if raw performance was the only consideration, we'd all be writing in assembler. Development costs, maintainence costs, deployment costs, portability, security....in all these other respects, Java beats C/C++ hands down.
Object pools are a bad idea in Java, but I can't even count the number of C/C++ programmers who I've heard say thats what's needed to "fix" Java.
I didn't say Java needs to be "fixed", just that it's not a high performance language. And the person who told me that he ended up having to use object pools on his project (urging my comment) to get enough performance was a PhD specializing in computer language design.
Uh, huh. As evidenced by all those high quality horizontal Java apps. Oh, wait.
Considering Java has 54% of the software development market [fawcette.com], I'd say there's probably more Java out there than you think.
Dammit, I said "horizontal Java apps", not vertical market stuff. Yes, most development is in vertical markets (even if most *installed copies* of software and the most money are in horizontal markets). The needs of vertical markets generally put emphasis on short development time, not performance. If you're paying at least tens of thousands of dollars for your code, you don't have a problem putting a few extra thousand into hardware to shorten dev time. That doesn't support the performance argument.
we'd all be writing in assembler
While I agree that there's a point of dimishing returns in dev time/performance, I'd like to point out that it's currently pretty damn hard to outperform a compiler. Maybe for a few instructions, you can pull it off. I remember Rasterman (Enlightenment, imlib) writing how he couldn't manage to outcode gcc any more with hand-tweaked assembly.
However, consider this. How often do you buy or seriously upgrade a computer? Every three to five years is pretty par for the course, and probably on the conservative side. So you're buying a new computer that's got maybe at *most* eight times the processor power, and maybe a little less than than in memory increase. Java software that I've used tends to be in that ballpark next to the closest C equivalents (particularly in memory usage). So basically, you're throwing out that last upgrade you did if you're chosing to use Java-based software.
Development costs, maintainence costs, deployment costs, portability, security....in all these other respects, Java beats C/C++ hands down.
I'll agree when it comes to development costs. Maintenance costs can go either way -- minimal maintenance ("library foo broke") is certainly better with Java. I've found that if you need to add a not-originally-anticipated feature to code down the road, you're much better off with C -- Java (and even C++) put an emphasis on heavy design at the start, which can result in pretty code -- as long as you don't have to change your design much. I hate the term "extreme programming", but the constant revision that it references fits C much better than Java. Deployment costs -- I'd have to say C/C++ wins if you're not using natively-compiled code (because you have an extra dependency on a JVM), and otherwise the two are the same. I'll give you portability and security (though most of the security problems in C code stem from *old* C code with statically-sized arrays...modern C tends to look more object-oriented and have better library functions available to avoid sticky situations -- take a look at glib, which I love dearly).
I tend to be cynical about Java. Java has several notable characteristics. It's quite inefficient when it comes to CPU cycles and memory usage. It's very easy to write distributed apps with it. It has a lot of libraries for common business-task related code. It's also developed and promoted by Sun, a company that makes money by selling hardware. So, yes, Java "scales" well. It's very attractive for business apps, so businesses buy it and use it...and then pay out the nose for the associated hardware platform. More load? Just buy more hardware!
May we never see th
Malachi, I have had the same experience with Eclipse as you. It may be the most powerful development editor on the planet, but the menus and dialogs are non-standard relative to the pattern established by other IDE's.
.zip file from the site and unzip it into my favorite location and launch it. It does its setup bit and is ready to go in about 5 seconds.
This just doesn't jive with what I've seen.
Here's my Eclipse experience:
I download the
My screen has a standard menu bar (File, Edit,... Help) and four panels (a tabbed browser pane with a "Welcome!" message, Tasks, Outline, and Packages). So far so good. What now?
Well, just like with every new program, start with File >> New. I do that. There's a submenu on New where the first thing is Project. Projects are a very common IDE concept and that's what I want. I select it.
I'm asked if I want to make a Java project or a Plug-in project. I'm not writing a plug-in, so I choose Java. I'm asked the name of the project, and I call it "Hello World". It offers to switch to the Java Perspective and I accept.
(60 seconds have gone by since I started the program.)
The Navigator pane has been replaced with a Package Exporer containing a folder called "Hello World". Now I want to write a class. I went back under File >> New and saw there were also "Package", "Class", and "Interface". I want to write a new Class. So, I select it.
I'm given a dialog asking for the Source Folder. It prefilled with "Hello World". Good enough for me. It asks for the Package (its set to "default" since I didn't make one). I'm asked for the name of the Class. I tell it "HelloWorld". There's boxes for if I want to make the class abstract/final, or a subclass of something other than Object or if it should implement some interfaces. I ignore those.
Down at the bottom of the dialog, there is a checkbox for automatically including a main. Cool. I select it and click "Finish".
(90 seconds have gone by since I started the program.)
Half a second later, the tabbed editor pane now had a new tab with my stubbed out class. I close the "Welcome" tab by clicking on its [X].
The class now appears in the tree list in the Package Explorer pane, an outline of my class appears in Outline.
I add System.out.println("Hello World!"); to the main() and do a CTRL-S without thinking about it. It saved and compiled.
I want to run it now. I went to the Run menu and (I admit) I was disoriented for about 10 seconds. I settled on Run As >> Java Application.
Less than 1 second later, the tasks pane is replaced with a console pane that says "Hello World!".
(*click* 2 minutes flat)
The bottom line is -- everything is exactly where I expected them to be. The menus and dialogs are very normal and do what I expect. The keybindings do what I expected (without me even thinking about it, really.) I was productive within seconds of starting it up.
Since writing this missive, I noticed shortcut buttons on the menu bar for creating projects, packages, and classes as well as running the application that would have saved me the trip to the menus too.
The IDE is very responsive and cleanly organized. I can move the panes around or combine them (or close them) easily enough when I need them out of my way.
I can't, for the life of me, think of what is unstandard about this IDE.
The
I wonder how many posts it will take before you just say "fuck it" and let all these people believe thats your C++ page. I thought it was funny as hell, especially Bjarne's response. That was great.
There is some other reasons why Sun isn't supporting Eclipse:
- NetBeans was open-sourced by Sun before Eclipse
- Eclipse is based on the SWT GUI framework which is an alternative to the official AWT/Swing framework bundled with Java
- The name of the project is not just a joke, and Sun is not crazy to eclipse itself!
... is that it is painful. There is almost never a good reason to go around renaming classes or methods. It is a pointless timewasting exercise that confuses your coworkers. The fact that modern IDEs like Eclipse make it easy is not a good thing.
Well, it looks like I put out all the flames... and my original post is still at +5 despite two "Troll" moderations.
:-)
I should have realized that link would be a magnet for C++ programmers, and that people might think I wrote that stuff. I had just assumed it was obvious that it wasn't me when I clicked "Submit".
Have you seen some of these responses? It's almost as if these C++ guys have no sense of humor about their language!
I apologise for not understanding the joke.
I would like to say a few words though about C++: the one thing that counts is the design. If things are designed well enough, no programmer can make a mess of it. It's not a matter of language, it's a matter of engineering.
Too many features never hurt anyone, since there is no obligation to use them in the first place. The preprocessor is hardly needed. No proper C++ lib needs the preprocessor except for compile-time stuff like _DEBUG and the like.
That C++ is difficult is a myth. OOP needs discipline, that's all. I've seen a great deal of problems with Java, too, due to lack of design.
I tried out Eclipse 2.0, although it seemed to have a number of good features, on the whole I found the user interface very clunky and confusing to use (as well as a bit slow). It certainly didn't make me want to swap from Emacs and ant.
Open a new 'Perspective', change your 'View', select an 'Implementor', navigate 'Resources'. Sure these concepts may be useful ideas for people wanting to add new components to the Eclipse platform but why should you need to understand these terms to use the software itself?
It feels Eclipse was designed by a group of architecture astronauts) with the target audience being developers who will extend the platform more than the actual end users themselves.
Since WSAD 5.0 is based on Eclipse 2.0, does anyone know if it is possible to upgrade WSAD 5.0 to use Eclipse 2.1 instead?
Thanks!
Chikli Consulting LLC - http://agileshrugged.com