The "One Laptop Per Child" project has a great device ready to ship, but there's no Java on there. Let's think about working together to put Java on OLPC!
Replies:
31 -
Pages:
3
[
123
| Next
]
Threads:
[
Previous
|
Next
]
So it really is a worthy question: why use Eclipse? I've heard a number of answers to the question over the years and I'm curious as to what the prime motivator really is behind Eclipse's wide adoption as a platform.
Probably the most common response I've heard is "it's the standard for Java IDEs", which really surprises me since it's by no means the standard. In fact, Eclipse isn't even *really* a Java IDE, it's a tool platform. I suppose this stems from the fact that people see Eclipse JDT when they look at Eclipse. However, that doesn't change the fact that it's an interesting perception. Why would Eclipse be considered "the standard" as opposed to IDEA or NetBeans, both more specialized platforms geared more towards Java in particular?
Another fairly common response is "it's free", but of course NetBeans also satisfies this requirement. "Native performance" is another answer which comes to mind, but Swing on Windows XP is darn-near native performance and fidelity (unless the developers screwed up, which they didn't with NetBeans or IDEA). Swing on Mac ain't bad either, and arguably more platform-native than SWT, since it can benefit from native Cocoa rendering, as opposed to SWT's Carbon underpinnings (look at the font face and size in Button widgets for an example). So native performance probably isn't a valid argument anymore except for perhaps on Linux or Vista.
I suppose I could accept that the choice of one's daily tool may be solely philosophical in nature. I mean, I'm not a fan of the NetBeans project for various reasons, maybe if I were a different type of person, that would be sufficient reason not to use the tool itself. Eclipse does seem to have a more vibrant community than NetBeans or IDEA, but honestly does that make too much of a difference in your day-to-day coding?
Actually, I use Eclipse because it's got far more tools (and better tools IMHO) available for it than either NetBeans or IDEA (and yes, I've tried them both many times). However, this line of reasoning is pretty specific to a) the work I do, and b) personal taste. So what motivates you? Why do you use Eclipse, and not other tools? Or, if you do use other tools, why use Eclipse in conjunction with those tools?
> (look at the font face and size in Button widgets for
> an example).
What is wrong with the Mac buttons? They use the right font and are the right size. If not, please enter a bug report.
If you want them to be smaller, this is possible by creating a smaller version of the control, which has nothing to do with carbon vs. cocoa. I suspect this is what you are seeing other applications doing.
> So what motivates you?
Eclipse gives the closest experience possible to a Smalltalk development environment.
It's the standard because it's used by more people. And it benefitted from positive hype early on, while Netbeans suffered from a lingering bad reputation. The differences are less and less these days, but I believe Eclipse is still riding the coattails of its early success.
Eclipse sure has more plugins, but in general they leave me unsatisfied.
> > (look at the font face and size in Button widgets
> for
> > an example).
>
> What is wrong with the Mac buttons? They use the
> right font and are the right size. If not, please
> enter a bug report.
>
> If you want them to be smaller, this is possible by
> creating a smaller version of the control, which has
> nothing to do with carbon vs. cocoa. I suspect this
> is what you are seeing other applications doing.
Bug 200079
I know I've probably mentioned this a dozen times without opening a bug report, and for that I apologize. Still, it's a bit of an annoying issue.
The defining feature of Smalltalk is dynamic typing and a pure object model. Types are not declared in methods. There is no C legacy syntax. Everything is defined in the language, including "while", "if" and "for" constructs. It has real closures, the environment is small enough to be understood, meta programming is trivial, data can be executed easily ... I can go on and have gone on enough already.
None of this matters. If ObjectiveC is the hoop that needs to be jumped through to get functionality to the programmers on the Mac, then I'm a jumpin'. Nothing could be worse than OLE.
"Eclipse users like Eclipse because it's free and they're cheapskate scum!"
The standard NetBeans user's reply:
"Eclipse users like Eclipse because they just haven't tried NetBeans yet! No, not the released versions, silly. You've got to get Version 6.0 milestone 22. Or even better, the nightly release. Actually you know what, check it out of CVS every 30 minutes. It's SO COOL. PS I am a Sun employee."
I have been using Eclipse since the early 2.0 days. At the time we were using Visual Cafe 4, and Eclipse was like a breath of fresh air.
As others, and yourself have pointed out, the amount of support for the platform in terms of plug-ins. Which leads into my last point, I do more with Eclipse than just Java. I use it for C/C++, PHP, etc...
In general, the platform is a wonderful tool, and it would take quite alot of persuasion to convince me otherwise.
> The standard IntelliJ user's reply:
>
> "Eclipse users like Eclipse because it's free and
> they're cheapskate scum!"
>
> The standard NetBeans user's reply:
>
> "Eclipse users like Eclipse because they just haven't
> tried NetBeans yet! No, not the released versions,
> silly. You've got to get Version 6.0 milestone 22. Or
> even better, the nightly release. Actually you know
> what, check it out of CVS every 30 minutes. It's SO
> COOL. PS I am a Sun employee."
lol The hilarious thing is that we've all heard that line in some form or another.
I've switched on Eclipse from "Far Manager" - "Norton Commander" like file manager. In Far I've had also Colorer installed for syntax highlighting.
I've started to use Eclipse because it was first IDE that was usable on computer with 128Mb of memory and was better, more logical than Far. All other IDE's that I've checked before Eclipse were slow, inconvenient and ugly.
Konstantin Scheglov - Java GUI developer SWT/Swing/
GWT Designer - SWT/Swing/GWT GUI designer for Eclipse
I use eclipse because it is a professional tool, with many features that focuses primarily on the java editing side. I first changed over from JBuilder in 2002, and haven't looked back. Don't get me started on the crap that JBuilder was -- I used it for 4 years on a 500kloc project and it used to cause such pain that I started looking around for alternatives. The first thing that won me over was the ctrl-shift-o for resolving imports. This made such a difference to me.
I've also tried many other Java IDEs, and have no problems paying the money if I think they are better:
I've tried:
1. IntelliJ -- nice and I would consider this, but I can't live without the Eclipse incremental compiles.
2. CodeGuide from Omnicore -- nice, with incremental project-wide error checking, but not quite there. Not enough vcs support.
3. Netbeans - getting better, but has performance problems and doesn't have incremental building.
I also like the look of eclipse, particularly under linux. It looks professional.
The plugin aspect is nice in principle, but in practice I can't get too many different plugins working correctly together at the same time. I get versioning issues even when trying to integrate the latest spring tools with some standard plugins. I appreciate the facility more as a single-vendor extensibility strategy (I use RAD/RSM and GWTDesigner).
The incremental build side of eclipse is very productive for me. I've extensively refactored a complex CAD tool, which took several weeks. I needed to make some breaking changes and in the process had to live with several hundred build errors for a few days. To my surprise, eclipse compiled the bits that weren't in error, allowing me to build out from a working core... that's valuable to me.
Andrew
p.s.
I used to be very upbeat on Swing (I've used it for 4 years or so), but in the last few weeks I have been working deep in the bowels of Swing to make a new palette component. the deep inheritance hierarchy and complex overriding and kludges in the code make me wonder about a better widget set... Maybe that's SWT, I don't know for sure...
> ObjectiveC is cool but Smalltalk is better.
>
> The defining feature of Smalltalk is dynamic typing
> and a pure object model. Types are not declared in
> methods. There is no C legacy syntax. Everything is
> defined in the language, including "while", "if" and
> "for" constructs. It has real closures, the
> environment is small enough to be understood, meta
> programming is trivial, data can be executed easily
> ... I can go on and have gone on enough already.
I used smalltalk for a couple of years, including some time at OTI. Although I liked it a lot and Envy rocked, I prefer Java for my practical programming tasks. I agree that Smalltalk has a much nicer object model, but I found these things annoying:
1. Environments were quite "siloed" and not multi-threaded. i.e. Envy was its own world, and it wasn't multi-threaded. sure you could use ACO and all that, but it wasn't real threads.
2. Smalltalk suffered from forks in the language and multiple proprietary, expensive products. that's why people need to ask you what smalltalk was like -- they weren't able to get a quality implementation to try it out for themselves.
3. I really like static typing when developing in a team. I could like with dynamic typing for classes and static typing for interfaces, but I don't know how that would work... Maybe this is just me, but I find statically typed interfaces indispensable. I got dropped into a medium (10kloc) smalltalk framework, and had to write some "plugin" code for it, and I struggled. The reason I found for this is that I couldn't work out what method selectors each parameter had to respond to. I eventually worked it out, but I find interfaces give you this for free, even before developing a mental model of the app...
4. Performance of java is better, no doubt about it. I remember Eric Clayberg and Eliot Miranda said in a post to me that there are theoretical reasons why smalltalk will eventually be faster than C++, but I still don't believe it. With dynamic typing at some point you have to look up the method in a hashmap, or jump and then test.
5. meta-model wasn't standardised. Sure you can use doesnotunderstand: to good effect, but that only gets you so far...
Anyway, enough ranting. I just wanted to add a dissenting view just for the fun of it.
> None of this matters. If ObjectiveC is the hoop that
> needs to be jumped through to get functionality to
> the programmers on the Mac, then I'm a jumpin'.
> Nothing could be worse than OLE.
OLE is pure crap. How did they manage to make it so low-level and ugly?
Andrew
p.s. for any non-work programming, I prefer Mozart/OZ. I can't really live without a logic paradigm.
Arguments 1), 2), 4) and 5) have nothing to do with Smalltalk the language but are observations that you are making about the commercial Smalltalks at the time. Java implementations can suffer from some of the same things.
Argument 3) is a matter of taste. Here's the deal: Smalltalk is a howitzer, Java a pop gun. The howitzer blows up anything you point it at, including the problem, but also yourself and your team mates. It takes great dicipline to use and not abuse it.
As for OLE, that's objects in C and that's never pretty!
> Arguments 1), 2), 4) and 5) have nothing to do with
> Smalltalk the language but are observations that you
> are making about the commercial Smalltalks at the
> time. Java implementations can suffer from some of
> the same things.
Certainly 4 is related to the type system. Strongtalk looked to remedy that, but required additional annotations. My point about the others is that it wasn't all roses in the smalltalk world.
> Argument 3) is a matter of taste. Here's the deal:
> Smalltalk is a howitzer, Java a pop gun. The
> howitzer blows up anything you point it at,
> including the problem, but also yourself and your
> team mates. It takes great dicipline to use and not
> abuse it.
(I note the implication that we were doing something undisciplined. It's a snide ad hominem argument). I was simply making the observation that Java interfaces offer something extra by way of information that isn't immediately available in smalltalk. I find statically typed interfaces a breath of fresh air, certainly relative to Smalltalk protocols.
> As for OLE, that's objects in C and that's never
> pretty!
Why use Eclipse?
At 2:27 AM on Aug 15, 2007, Daniel Spiewak
wrote:
Probably the most common response I've heard is "it's the standard for Java IDEs", which really surprises me since it's by no means the standard. In fact, Eclipse isn't even *really* a Java IDE, it's a tool platform. I suppose this stems from the fact that people see Eclipse JDT when they look at Eclipse. However, that doesn't change the fact that it's an interesting perception. Why would Eclipse be considered "the standard" as opposed to IDEA or NetBeans, both more specialized platforms geared more towards Java in particular?
Another fairly common response is "it's free", but of course NetBeans also satisfies this requirement. "Native performance" is another answer which comes to mind, but Swing on Windows XP is darn-near native performance and fidelity (unless the developers screwed up, which they didn't with NetBeans or IDEA). Swing on Mac ain't bad either, and arguably more platform-native than SWT, since it can benefit from native Cocoa rendering, as opposed to SWT's Carbon underpinnings (look at the font face and size in Button widgets for an example). So native performance probably isn't a valid argument anymore except for perhaps on Linux or Vista.
I suppose I could accept that the choice of one's daily tool may be solely philosophical in nature. I mean, I'm not a fan of the NetBeans project for various reasons, maybe if I were a different type of person, that would be sufficient reason not to use the tool itself. Eclipse does seem to have a more vibrant community than NetBeans or IDEA, but honestly does that make too much of a difference in your day-to-day coding?
Actually, I use Eclipse because it's got far more tools (and better tools IMHO) available for it than either NetBeans or IDEA (and yes, I've tried them both many times). However, this line of reasoning is pretty specific to a) the work I do, and b) personal taste. So what motivates you? Why do you use Eclipse, and not other tools? Or, if you do use other tools, why use Eclipse in conjunction with those tools?
31 replies so far (
Post your own)
Re: Why use Eclipse?
> (look at the font face and size in Button widgets for> an example).
What is wrong with the Mac buttons? They use the right font and are the right size. If not, please enter a bug report.
If you want them to be smaller, this is possible by creating a smaller version of the control, which has nothing to do with carbon vs. cocoa. I suspect this is what you are seeing other applications doing.
> So what motivates you?
Eclipse gives the closest experience possible to a Smalltalk development environment.
Steve
Re: Why use Eclipse?
I use Eclipse for three reasons:- great CVS integration, with diff and merge tools that are second to none
- it's the best tool for someone who codes in a bunch of languages (one single IDE for PHP, Perl, Java and C)
- I can add cool plugins, like DSDP's Remote Systems Explorer
Re: Why use Eclipse?
It's the standard because it's used by more people. And it benefitted from positive hype early on, while Netbeans suffered from a lingering bad reputation. The differences are less and less these days, but I believe Eclipse is still riding the coattails of its early success.Eclipse sure has more plugins, but in general they leave me unsatisfied.
Re: Why use Eclipse?
I suspect that Daniel might be thinking of the -Dorg.eclipse.swt.internal.carbon.smallFonts option that was in 3.2.Incidentally, Steve, what's your position on Objective-C? A cross between C and Smalltalk.
Alex.
Re: Why use Eclipse?
> > (look at the font face and size in Button widgets> for
> > an example).
>
> What is wrong with the Mac buttons? They use the
> right font and are the right size. If not, please
> enter a bug report.
>
> If you want them to be smaller, this is possible by
> creating a smaller version of the control, which has
> nothing to do with carbon vs. cocoa. I suspect this
> is what you are seeing other applications doing.
Bug 200079 I know I've probably mentioned this a dozen times without opening a bug report, and for that I apologize. Still, it's a bit of an annoying issue.
ActiveObjects: an Easier Java ORM; Fuse: Resource Injection for Java
Re: Why use Eclipse?
ObjectiveC is cool but Smalltalk is better.The defining feature of Smalltalk is dynamic typing and a pure object model. Types are not declared in methods. There is no C legacy syntax. Everything is defined in the language, including "while", "if" and "for" constructs. It has real closures, the environment is small enough to be understood, meta programming is trivial, data can be executed easily ... I can go on and have gone on enough already.
None of this matters. If ObjectiveC is the hoop that needs to be jumped through to get functionality to the programmers on the Mac, then I'm a jumpin'. Nothing could be worse than OLE.
Steve
Re: Why use Eclipse?
The standard IntelliJ user's reply:"Eclipse users like Eclipse because it's free and they're cheapskate scum!"
The standard NetBeans user's reply:
"Eclipse users like Eclipse because they just haven't tried NetBeans yet! No, not the released versions, silly. You've got to get Version 6.0 milestone 22. Or even better, the nightly release. Actually you know what, check it out of CVS every 30 minutes. It's SO COOL. PS I am a Sun employee."
Re: Why use Eclipse?
I have been using Eclipse since the early 2.0 days. At the time we were using Visual Cafe 4, and Eclipse was like a breath of fresh air.As others, and yourself have pointed out, the amount of support for the platform in terms of plug-ins. Which leads into my last point, I do more with Eclipse than just Java. I use it for C/C++, PHP, etc...
In general, the platform is a wonderful tool, and it would take quite alot of persuasion to convince me otherwise.
Re: Why use Eclipse?
> The standard IntelliJ user's reply:>
> "Eclipse users like Eclipse because it's free and
> they're cheapskate scum!"
>
> The standard NetBeans user's reply:
>
> "Eclipse users like Eclipse because they just haven't
> tried NetBeans yet! No, not the released versions,
> silly. You've got to get Version 6.0 milestone 22. Or
> even better, the nightly release. Actually you know
> what, check it out of CVS every 30 minutes. It's SO
> COOL. PS I am a Sun employee."
lol The hilarious thing is that we've all heard that line in some form or another.
ActiveObjects: an Easier Java ORM; Fuse: Resource Injection for Java
Re: Why use Eclipse?
I've switched on Eclipse from "Far Manager" - "Norton Commander" like file manager. In Far I've had also Colorer installed for syntax highlighting.I've started to use Eclipse because it was first IDE that was usable on computer with 128Mb of memory and was better, more logical than Far. All other IDE's that I've checked before Eclipse were slow, inconvenient and ugly.
SWT/Swing/ GWT Designer - SWT/Swing/GWT GUI designer for Eclipse
Re: Why use Eclipse?
I use eclipse because it is a professional tool, with many features that focuses primarily on the java editing side. I first changed over from JBuilder in 2002, and haven't looked back. Don't get me started on the crap that JBuilder was -- I used it for 4 years on a 500kloc project and it used to cause such pain that I started looking around for alternatives. The first thing that won me over was the ctrl-shift-o for resolving imports. This made such a difference to me.I've also tried many other Java IDEs, and have no problems paying the money if I think they are better:
I've tried:
1. IntelliJ -- nice and I would consider this, but I can't live without the Eclipse incremental compiles.
2. CodeGuide from Omnicore -- nice, with incremental project-wide error checking, but not quite there. Not enough vcs support.
3. Netbeans - getting better, but has performance problems and doesn't have incremental building.
I also like the look of eclipse, particularly under linux. It looks professional.
The plugin aspect is nice in principle, but in practice I can't get too many different plugins working correctly together at the same time. I get versioning issues even when trying to integrate the latest spring tools with some standard plugins. I appreciate the facility more as a single-vendor extensibility strategy (I use RAD/RSM and GWTDesigner).
The incremental build side of eclipse is very productive for me. I've extensively refactored a complex CAD tool, which took several weeks. I needed to make some breaking changes and in the process had to live with several hundred build errors for a few days. To my surprise, eclipse compiled the bits that weren't in error, allowing me to build out from a working core... that's valuable to me.
Andrew
p.s.
I used to be very upbeat on Swing (I've used it for 4 years or so), but in the last few weeks I have been working deep in the bowels of Swing to make a new palette component. the deep inheritance hierarchy and complex overriding and kludges in the code make me wonder about a better widget set... Maybe that's SWT, I don't know for sure...
Re: Why use Eclipse?
> ObjectiveC is cool but Smalltalk is better.>
> The defining feature of Smalltalk is dynamic typing
> and a pure object model. Types are not declared in
> methods. There is no C legacy syntax. Everything is
> defined in the language, including "while", "if" and
> "for" constructs. It has real closures, the
> environment is small enough to be understood, meta
> programming is trivial, data can be executed easily
> ... I can go on and have gone on enough already.
I used smalltalk for a couple of years, including some time at OTI. Although I liked it a lot and Envy rocked, I prefer Java for my practical programming tasks. I agree that Smalltalk has a much nicer object model, but I found these things annoying:
1. Environments were quite "siloed" and not multi-threaded. i.e. Envy was its own world, and it wasn't multi-threaded. sure you could use ACO and all that, but it wasn't real threads.
2. Smalltalk suffered from forks in the language and multiple proprietary, expensive products. that's why people need to ask you what smalltalk was like -- they weren't able to get a quality implementation to try it out for themselves.
3. I really like static typing when developing in a team. I could like with dynamic typing for classes and static typing for interfaces, but I don't know how that would work... Maybe this is just me, but I find statically typed interfaces indispensable. I got dropped into a medium (10kloc) smalltalk framework, and had to write some "plugin" code for it, and I struggled. The reason I found for this is that I couldn't work out what method selectors each parameter had to respond to. I eventually worked it out, but I find interfaces give you this for free, even before developing a mental model of the app...
4. Performance of java is better, no doubt about it. I remember Eric Clayberg and Eliot Miranda said in a post to me that there are theoretical reasons why smalltalk will eventually be faster than C++, but I still don't believe it. With dynamic typing at some point you have to look up the method in a hashmap, or jump and then test.
5. meta-model wasn't standardised. Sure you can use doesnotunderstand: to good effect, but that only gets you so far...
Anyway, enough ranting. I just wanted to add a dissenting view just for the fun of it.
> None of this matters. If ObjectiveC is the hoop that
> needs to be jumped through to get functionality to
> the programmers on the Mac, then I'm a jumpin'.
> Nothing could be worse than OLE.
OLE is pure crap. How did they manage to make it so low-level and ugly?
Andrew
p.s. for any non-work programming, I prefer Mozart/OZ. I can't really live without a logic paradigm.
Re: Why use Eclipse?
Arguments 1), 2), 4) and 5) have nothing to do with Smalltalk the language but are observations that you are making about the commercial Smalltalks at the time. Java implementations can suffer from some of the same things.Argument 3) is a matter of taste. Here's the deal: Smalltalk is a howitzer, Java a pop gun. The howitzer blows up anything you point it at, including the problem, but also yourself and your team mates. It takes great dicipline to use and not abuse it.
As for OLE, that's objects in C and that's never pretty!
Steve
Re: Why use Eclipse?
> Arguments 1), 2), 4) and 5) have nothing to do with> Smalltalk the language but are observations that you
> are making about the commercial Smalltalks at the
> time. Java implementations can suffer from some of
> the same things.
Certainly 4 is related to the type system. Strongtalk looked to remedy that, but required additional annotations. My point about the others is that it wasn't all roses in the smalltalk world.
> Argument 3) is a matter of taste. Here's the deal:
> Smalltalk is a howitzer, Java a pop gun. The
> howitzer blows up anything you point it at,
> including the problem, but also yourself and your
> team mates. It takes great dicipline to use and not
> abuse it.
(I note the implication that we were doing something undisciplined. It's a snide ad hominem argument). I was simply making the observation that Java interfaces offer something extra by way of information that isn't immediately available in smalltalk. I find statically typed interfaces a breath of fresh air, certainly relative to Smalltalk protocols.
> As for OLE, that's objects in C and that's never
> pretty!
Amen to that. This is also true in C++
Andrew