Domain: eclipse.org
Stories and comments across the archive that link to eclipse.org.
Stories · 69
-
Fast Native Eclipse with GTK+ Looks
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." -
Eclipse in Action
Simon P. Chappell writes "The Eclipse IDE has thundered into the collective consciousness of Java developers since its release by IBM as Open Source Software. Up until this time, the majority of available documentation at the Eclipse website has been for plug-in developers, with scant attention given to the rest of us that actually want to use the tool for anything else. This book restores the balance and brings much needed help to those interested in this IDE." Read on for the rest of Simon's review, about which he says "Full Disclosure: I received a free, review copy of this book, so feel free to assume that I've been bought off and have traded my technical integrity to put about an inch of dead tree on my shelf." Eclipse in Action author Gallardo, Burnette and McGovern pages 383 (15 page index) publisher Manning rating 8 reviewer Simon P. Chappell ISBN 1930110960 summary A good book that lives up to its name.
Overview With a book like this it's difficult to know where to pitch the level. Do you aim for the lowest common denominator or do you assume some experience on the part of your reader? This book seems to have pitched itself well, not pandering to the absolute Java newbie, not afraid to get down into the code and yet gentle enough that newer Java developers can follow easily. The heavyweight chapter on writing plug-ins is at the back where it shouldn't frighten those of a sensitive nature.The book is divided into two sections. The first and largest section concerns actual use of Eclipse during Java application development. The second section is for those who wish to write plug-ins for Eclipse.
The book takes a very 'Test Driven Development' approach to Java development and this shows in the manner that Eclipse is presented and taught. Emphasis is given to the tools that come with Eclipse, especially Ant, Junit and the CVS client. For those already skilled in these tools, this might seem like filler, but remember that there are still pitifully few Java developers using even these simple and free tools. My hat is off to the authors for their TDD evangelism, skillfully disguised as Eclipse usage instruction.
What's To Like I liked the progression followed in the book, first teaching the basic operation of Eclipse and then moving on to the tools that come with the base install. What's To Consider Some may consider that the material on Ant, Junit and CVS is filler. The 'Test Driven Development' theme may be a little too much evangelism for some.I use Eclipse on a Mac OS X box and I felt that there was very little discussion concerning the cross-platform attributes of the tool. All of the screenshots were from a Microsoft Windows build of the software; a Linux or OS X screenshot would have been helpful.
One more niggle and then I'm done. There is no information on using Eclipse with other programming languages (a couple of paragraphs in the introduction chapter doesn't really count). I've recently started tinkering with Ruby and have used a Ruby plug-in to allow me to work within Eclipse as I learn the language. This is a wonderful testament to the power and extensibility of Eclipse.
Summary This is a good book. You know it's a good book when you already use the tool (both pure Eclipse and IBM's WSAD) regularly and you find yourself learning things that you had not previously been aware of. If you are working with Java and want a good free IDE that's going to grow with you, then Eclipse is a tool you should try -- and consider this book the User's Guide that would have been in the box if Eclipse came shrink-wrapped.
Table Of Contents- Using Eclipse
- Overview
- Getting started with the Eclipse Workbench
- The Java development cycle: test, code, repeat
- Working with source code in eclipse
- Building with Ant
- Source control with CVS
- Web development tools
- Extending Eclipse
- Introduction to Eclipse plug-ins
- Working with plug-ins in Eclipse
You can purchase Eclipse in Action from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mono & SourceGear Move Forward
miguel writes "The Mono project keeps evolving and is quickly becoming a mature platform for running .NET applications on Linux. SourceGear and Ximian have entered into a partnership to make their .NET-based Vault client software available to Linux and Unix users by implementing the missing web services support in Mono. The formal announcement is here and a developer overview is here. OpenLink has also contributed the functionality to turn Wine into a library that Mono is using to implement the System.Windows.Forms namespace. Another recent progress bit is the fact that Mono can run Eclipse with the IKVM Java VM for .NET" -
Mono+Ikvm Runs Eclipse
miguel writes "Today Zoltan Varga announced that he got Eclipse running on Mono using the open source IKVM Java virtual machine for .NET by Jeroen Frijters. This is the first time a complete free software JVM implementation can run eclipse in a reasonable time. This runs with our latest Mono release. Mandatory screenshot" -
Sun to Amp Java for Desktop Performance?
mactari writes "Java client application developers should take a look at Sun's J2SE Client Developer Survey. Swing's relative slowness has always made a Java app with a GUI look and feel slow, and Sun might finally be doing something about it. Questions on the survey suggest Sun is considering moving away from a crossplatform look and feel (eg, Metal) towards native looks by default. If Sun is going to follow the suit played by IBM's native widget toolkit, SWT, or do things on individual platforms like Apple has done with its hardware accelerated version of Aqua-Swing, Java might finally find its way to becoming a competitor on the desktop." -
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." -
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." -
Aspect-Oriented Programming with AspectJ
Verity Stob writes "There is a turning point in the emergence of a programming methodology. It doesn't matter how big and popular the website is, nor how many papers have been published in the ACM journals or development magazines, nor even whether the first conferences have been a sell-out. A methodology hasn't made really made it until somebody has published a Proper Book. With Aspect-Oriented Programming with AspectJ author Ivan Kiselev is bidding to drag AOP into the mainstream. He is motivated, he says in his introduction, by the recollection of the 25 odd years it took for the object-oriented concept to spread from its Simula origins in frosty Norway to being the everyday tool of Joe Coder. He aims to prevent this delay happening to AOP." Read on for Verity Stob's review of Kiselev's book. Aspect-Oriented Programming with AspectJ author Ivan Kiselev pages 274 publisher SAMS rating Excellent reviewer Verity Stob ISBN 0672324105 summary Introduction to a new programming technique using an extension to JavaHe has divided the book into four parts. Part I provides a brief sketch of AOP and introduces its concepts. AOP builds on OOP, asserting that we need a new programming entity called, wait for it, an aspect. Mr Kiselev's explanation of aspects reminded me of that bit in The Hitchhiker's Guide to the Galaxy when the planet Golgafrincham divided its population into A types (who were the leaders, the scientists and the great artists), the C types (who were the people who did all the actual making of things and doing of things), and the B types, who comprised everybody left over: telephone sanitizers, advertising account executives and hairdressers. As I understand Mr Kiselev, the AOP view of things is that objects and classes (A type thinkers) and low-level procedures and APIs (C type doers) can be nicely encapsulated using traditional components. But aspects, software's little hairdressers, get their fingers into everything, and until now there has been no way to encapsulate them. This of course is what AOP in general and specifically the AspectJ superset of the Java language set out to do.
AspectJ's eponymous aspects are constructs not unlike ordinary classes. Mr Kiselev has not resisted the temptation to make an aspect Hello World example, and it looks reassuringly so-whatish:
package intro;
import java.io.*;
public aspect HelloWorldA
{
public static void main(String args[])
{
System.out.println(Hello, world!);
}
}Mr Kiselev then lays out his stall of New Things. A join point is any point in execution flow that AspectJ can identify and -- to get slightly ahead of ourselves -- execute some extra code. The most frequently used kind of join point being the call to a method. Pointcuts specify collections of join points; as a regular expression is to an instance of matched text, so a pointcut is to a matching join point. An advice (with horrid plural 'advices') is the code to be executed when a given pointcut is matched. If you are familiar with Eiffel's pre- and post-conditions, then you'll understand if I say that it is common for advices to run in the same way, topping and/or tailing the execution of a method. The differences are that aspects are specified from outside the method without touching the method or its class's code, and that aspects can be applied to multiple methods in one go. Mr Kiselev concludes this section of the book with a few simplistic examples of 'here is class A, here is class B' kind.
In Part II Mr Kiselev rolls up his sleeves and takes us through an extended, realistic example. I did wonder if perhaps it weren't a wee bit too realistic, as it is a miniature website application for news story submission and reading -- sort of Slashdot Ultralite -- all done using JSP and a MySQL database. Just explaining this setup, without even using any AspectJ, consumes a 15-page chapter. Since I am a C++ programmer who has not had any contact with JSP, I was initially anxious that I might not be able to follow this. However, recalling that www.[name withheld].com, the clumsiest, ugliest corporate website on the Internet, is programmed in JSP, I reasoned that if the dolts that programmed that site could understand JSP then it couldn't be very hard. So it proved.
The first example comprises adding password protection to the application. This is achieved by adding an advice that intercepts calls to doStartTag() methods. The advice can test if the user is logged in and, if he isn't, throw an exception that will dump him back at the login page. (Who says exceptions aren't 21st century gotos?) At this point Mr Kiselev admits that the cute 10-line implementation that he initially shows is in reality a non-starter; for one thing not all pages that must be secured define doStartTag() methods, for another the aspect can't reach an instance variable it needs to read because it is declared in protected scope. The second problem is easily overcome. AOP offers a mechanism by which extra classes can be bodged ('introduced' is the preferred verb in the AOP community) into the hierarchy as parents of existing classes. He uses this to add an accessor method for the field in question. The other problem is not so neatly smothered, and it is somewhat ruefully that Mr Kiselev produces his final, two-page solution. But I think that it is greatly to Mr K's credit that he does this - it tastes like programming in the real world as I have experienced it.
For the rest of Part II, Mr K demonstrates other applications of AOP using the AspectNews code. This includes Eiffelish design-by-contract stuff, improved exception handling, various debugging and tuning techniques (specifically logging, tracing and profiling) and a chapter on runtime improvements - stream buffering, database connection pooling and result caching - which show the AOP way to do things, usually where I would expect to be putting in proxy classes.
In part III we get down and dirty with the AspectJ language. This is the part where the book explains the obscure stuff: how to make a pointcut that picks up object preinitialization, or make an advice that goes off only when you are exiting a method on the back of an exception. I skimmed this bit - I guess it will become vital when I start using AspectJ in earnest. It looked good and clear on a flick through. A brief part IV contains some patterns, to give one a start when engaging AspectJ in earnest. Apparently it is horribly easy to create infinitely recursive situations, so if you here a faint popping sound from your machine it will be the stack colliding with the heap. There are seven appendices, supplying such things as a summary of the API in AspectJ's packages and hints on obtaining and using the Open Source supplementary tools mentioned in the book (Tomcat JSP container, MySQL database and Ant make replacement). AspectJ itself, now escaped from Xerox PARC, can be downloaded from the Eclipse website.
Complaints? None really. Oh all right, here's a nitpicklette because it's you: at page 75 Mr Kiselev adopts the irritating Internet habit of writing 'loosing' when he means 'losing'. Note to publisher SAMS proofreaders: do I win 25 cents?
For the rest, this is a lucid and readable book that describes the Next Big Methodology. I'm a bit alarmed at the prospect of squeezing new actions into the cracks of existing code, but I dare say I'll grow to love it.
A word of warning to the eager: since this technology is currently implemented as a species of preprocessor that relies on having all the source code available at once, so it is rather slow and probably isn't going into production shops for a while. There again, I seem to remember the comparable Cfront C++ compiler doing rather well, before we had platform-native C++ compilers.
And to the sceptics: if you think you can ignore AOP, don't forget the fate of the A and C type inhabitants of Golgafrincham, who having sent their B type telephone sanitizers into exile were all wiped out by a germ caught from a particularly dirty telephone.
You can purchase Aspect-Oriented Programming with AspectJ from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
GNU Christmas Gift: Free Eclipse
Mark Wielaard writes "Your friendly neighbourhood GNU did it again. A year ago IBM made much noise about placing $40 million of its software tools under a free software license. Technically these tools, called Eclipse, are great for developing (java) software. There was only one catch, it was build on top of the proprietary java platform. This made it useless for the Free Software community. Luckily the GNU project has two projects that come to the rescue. GNU Classpath, core libraries for java, and gcj, the GNU Compiler for Java. We are now able to run Eclipse on a completely free platform! It is not yet complete, but you can already edit, compile and browse CVS with it. And since Eclipse uses GTK+ it also looks very nice. I setup a page with instructions on how to get this working so you can help us make it work even better or just so you can view a couple of nice screenshots." -
MS .net vs Mono, Open Source
vinsci writes "Sometimes, reader comments to reporter-written stories are just as good as the stories themselves. Such as David Mohring's comment yesterday on ZDNet.com's story Mono & .Net: The odd couple. Since Microsoft are now using their licensing terms to stop GPL and LGPL free software, it would be a welcome sign of free software maturity at Microsoft if they actually resolved the Mono issue. The gist of his comment: 'Microsoft's CEOs have made it 'patently' clear that they intend to restrict competing .Net implementations by cultivating Microsoft's patents, [...] Mono also implements parts of .NET that have NOT been submitted to ECMA and ISO standards. Those parts of Mono lack even the protection for IP infringement with re-implementation that ISO documentation licensing implies. [...] There [are] those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET re-implementation represents a pending legal mindfield.' While on the subject of C# development, users of the GPL'd C# development environment SharpDevelop may also want to try Eclipse together with the Open Source Improve CSharp plugin for Eclipse. Eclipse also support C/C++ these days using GCC and GDB, thanks to the CDT. There are about two hundred add-on plugins available for Eclipse. Eclipse itself is available for many platforms, including Linux with native GTK 2 support." -
MS .net vs Mono, Open Source
vinsci writes "Sometimes, reader comments to reporter-written stories are just as good as the stories themselves. Such as David Mohring's comment yesterday on ZDNet.com's story Mono & .Net: The odd couple. Since Microsoft are now using their licensing terms to stop GPL and LGPL free software, it would be a welcome sign of free software maturity at Microsoft if they actually resolved the Mono issue. The gist of his comment: 'Microsoft's CEOs have made it 'patently' clear that they intend to restrict competing .Net implementations by cultivating Microsoft's patents, [...] Mono also implements parts of .NET that have NOT been submitted to ECMA and ISO standards. Those parts of Mono lack even the protection for IP infringement with re-implementation that ISO documentation licensing implies. [...] There [are] those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET re-implementation represents a pending legal mindfield.' While on the subject of C# development, users of the GPL'd C# development environment SharpDevelop may also want to try Eclipse together with the Open Source Improve CSharp plugin for Eclipse. Eclipse also support C/C++ these days using GCC and GDB, thanks to the CDT. There are about two hundred add-on plugins available for Eclipse. Eclipse itself is available for many platforms, including Linux with native GTK 2 support." -
Java Development with Ant
smarks writes "Java Development with Ant effectively shows the reader how Ant can be used as the foundation for the most complex Java software configuration solutions. The book is divided into beginner, intermediate and advanced sections, which makes it appropriate for a variety of audiences. The book has a comprehensive survey of tools that can be used with Ant such as JUnit, CheckStyle, Middlegen and XDoclet Even the experienced Ant user will find these sections helpful. Overall, Java Development with Ant is an excellent resource." Read on for the rest of Spencer's review. Java Development with Ant author Eric Hatcher, Steve Loughran pages 634 publisher Manning rating 8.5 reviewer Spencer Marks ISBN 1930110588 summary How to use Ant to meet all (or most of) your poject's software configuration needs
Pros:- Excellent coverage of optional Ant tasks
- Good division of beginner, intermediate and advanced content
- Thorough discussion of how to use Ant to solve a variety of software configuration management situations
- Shows how to use Ant for tasks outside of typical configuration management roles such as the automated code generation of EJB and Application Server deployment descriptors
- Shows how Ant helps with a variety of software development methodologies including XP's suggested best practices of continual integration and JUnit testing
- Catalogs IDEs that integrate well with Ant including my personal favorite, Intellij's IDEA development environment
Cons:- Some of the examples could have benefited from more detail. For example, the section on the PropertyFile task could have shown how to solve the problem of platform specific path separators in Java property files.
- At the time of this review, the book's accompanying website was a bit meager. For example, a comprehensive list of Ant on-line resources would have been helpful.
What the book offersI consider myself an intermediate Ant user and when books on Ant first appeared I thought they would add little to the excellent free documentation and examples readily available. With its clean, straight forward syntax and structure, Ant has a low of cost of entry, and being rooted in Java and XML it is extremely flexible and extensible. I found Ant refreshingly easy to use as part of a configuration management system that included continual integration and a unit testing strategy. It was much better suited for Java development than the tool I previously used which was make. So when I agreed to do this review, I was skeptical that I would find the book useful. However, the book proved to be rich in valuable information that is well organized and clearly presented. Java Development with Ant, written by Erik Hatcher and Steve Loughran who are both committers to the Apache Ant project, is a great resource for anyone wishing to learn how to integrate Ant into his personal set of best practices for software configuration management solutions.
Coming to the book as a long time Ant user, I was glad to see that it offered material appropriate for others than just those approaching Ant for the first time. The book is divided into three sections each of which could probably find a niche as useful (and thinner) separate book: Learning Ant, Apply Ant, and Extending Ant. Only the first section of the book is devoted to first-time users, or those Learning Ant. The reminder of the book is about Ant in action. It covers an interesting variety of third-party Ant tasks, various ways of applying Ant to software development projects, and an in-depth section on how to extend Ant writing your own Java classes.
After a short but helpful introduction to the general topic of software configuration management, the first section, Learning Ant, launches into a thorough explanation of Ant's fundamental concepts and operation. JUnit test integration is treated as part of of the basic operation of Ant, which I was happy to see because unit testing should be a fundamental part of any software configuration management process.
Despite having used Ant on a number of projects since the summer 2000, at no point have I had to become truly expert with it in order to solve the wide range of software configuration problems I encountered. This is because Ant is easy to use. Typically, I figure out what I want the software configuration management to do, and then look for Ant examples that I can easily tweak to get the job done. I think it is a great credit to the Ant and its designers that I can do this successfully. Even though I've had this success with Ant, the introductory material filled in some of the gaps I had in my understanding of Ant's operation. For example, I was introduced to the PropertyFile taskdef which up until then had escaped my notice but which solved a problem for which I previously had a less elegant solution.
The most interesting part of the book was the second section that talked about a variety of Ant add on programs (called taskdefs) like Middlegen (an EJB descriptor tool) and XDoclet. XDoclet had been on the periphery of my radar for a while now, so I welcomed the book's thorough discussion of it in both a general and Ant specific sense. In addition there are helpful chapters devoted to using Ant as an aide to production deployment, web site generation including the compilation of JSP pages and the automatic generation of EJB descriptors. There are also chapters on working with Web Services using SOAP and a section on how Ant can be used as part of a continuous integration process complete with email notification. There is even a section on using Ant for Java projects that have a native code component. (Ant can be used to compile native code and the book shows how it can be helpful in dealing with the complexities surrounding JNI.) The book works well as a reference text. There's no need to read it from cover to cover in order for it to be extremely helpful.
The third part of the book also looks interesting, but it is intended for a more hardcore audience than myself. I've been fortunate to find ready made solutions for all the configuration management services I wanted to provide my clients. So, learning how to extend Ant has never been an issue. Every time I think I might have to develop my own answer, I find that someone else has already beaten me to it. Such is the nature of successful Open Source projects. However, I am glad this section exists, because I am sure at some point I will use it myself or refer a student or client to it.
The book even has some material on using Ant outside of the context of Java. Not having much experience with these technologies, I didn't pay close attention to these sections. (I am sure I'll be amused when I encounter my first .NET project that is using Ant for its configuration management solution).
In closing, if you are more than casually interested in software configuration management for Java projects then I recommend this book with enthusiasm. Beginners will be up and running with Ant in short order, while the book contains many interesting and useful nuggets for more experienced Ant users.
Ant on the web- The Ant Project -- be sure to see their resources section.
- Ant FAQ at jguru.com (moderated by the book's co-author: Erik Hatcher)
- Ant forum at jguru (moderated by the book's co-author: Erik Hatcher)
- JUnit: A regression testing framework written by Erich Gamma and Kent Beck. It is used to implement unit tests in Java.
- CheckStyle: A development tool to help programmers write Java code that adheres to a coding standard.
- Middlegen:A general-purpose database-driven code generation engine.
- XDoclet: An extended Javadoc Doclet engine. It's a generic Java tool that lets you create custom Javadoc @tags and based on those @tags generate source code or other files (such as xml-ish deployment descriptors) using a template engine it provides.
- Intellij's IDEA "Develop with Pleasure" with this award winning Java IDE featuring full Ant integration that Marin Flower says: has succeeded in really moving forward the state of the art...
- The NetBeans and Eclipse Open Source IDEs also integrate nicely with Ant.
-
Eclipse 2.0 Released
Smelroy writes "The Eclipse IDE version 2.0 was just released. There were several earlier articles on Slashdot found here and here." -
QNX Releases Eclipse-based IDE
RoosterT writes: "QNX released its new IDE, called Momentics, for the QNX Neutrino RTOS today. Why is this significant? It is the first commercial product based on the Eclipse platform. The new version of the OS and a 'Standard' version of the IDE are both available here. There is also a nifty reference platform for hacking QNX onto an iPAQ." -
First Thoughts on the Eclipse IDE?
OpenSourcerer asks: "Has anyone used the opensource IDE Eclipse. Initial impression is that of a slightly slow but very modular and configurable IDE. Anyone else has any experience using this?" I must say that the idea is novel enough, instead of building an environment around a specific language/compiler, you build a framework and have plugins support the specific features that you want. Java development tools have already been released and it looks like the C/C++ project is just getting under way. For those of you who have given the Eclipse project a quick look, what do you think? -
First Thoughts on the Eclipse IDE?
OpenSourcerer asks: "Has anyone used the opensource IDE Eclipse. Initial impression is that of a slightly slow but very modular and configurable IDE. Anyone else has any experience using this?" I must say that the idea is novel enough, instead of building an environment around a specific language/compiler, you build a framework and have plugins support the specific features that you want. Java development tools have already been released and it looks like the C/C++ project is just getting under way. For those of you who have given the Eclipse project a quick look, what do you think? -
Eclipse's First Plugin A Reality
Irish writes: "Eclipse, IBMs open sourced development tool donation (which is now supported by an organization of a number of companies), just got a little stronger as the released their first plugin. The C and C++ IDE will focus on Linux development and deployment. On a similar note, developerWorks is offering a trial download for WebSphere Studio Application Developer for Linux which is a pluggable tool-development and integration platform that is very similar to Eclipse. I was wonding is Eclipse trying to block SUN?" -
Eclipse's First Plugin A Reality
Irish writes: "Eclipse, IBMs open sourced development tool donation (which is now supported by an organization of a number of companies), just got a little stronger as the released their first plugin. The C and C++ IDE will focus on Linux development and deployment. On a similar note, developerWorks is offering a trial download for WebSphere Studio Application Developer for Linux which is a pluggable tool-development and integration platform that is very similar to Eclipse. I was wonding is Eclipse trying to block SUN?" -
IBM Launches Public Domain Project "Eclipse"
ccf writes "NY Times is carrying an article about how IBM is launching a new developer organization (Free Reg blah blah blah) called Eclipse, for open source development. The article is not rich in details; it says the stuff will be in the "public domain" but makes no mention of specific licenses." If anyone can find some links that make more sense about what this actually is, please post them.