Java Forum / General / February 2006
development environments (non-integrated)
Jacob - 08 Feb 2006 22:26 GMT I am doing a research project on development environments using the Unix philosophy of development (see for instance http://www.faqs.org/docs/artu/ch01s06.html) with the hypothesis that an environment of small, simple, exchangable tools might outperform the use of heavyweight IDEs.
I am setting up a test environment and am planning to do performance measurments (in terms of # keystrokes, time, robustness) on typical development scenarios like check-outs, bug-report-fix-test- deploy-cycles, create development area for new user etc, management reporting etc.
An initial task includes defining the term "development environment" and exactly what it covers (operating system, version control system, programming language, editor, compiler, debugger, test environment, build system, bug tracking, document handling, project control and so on).
The environment must be scalable to 10+ developers and at least a million lines of code. The current state of my setup is as follows (including short rationale for each choice):
OS: Linux - fast, secure, availability of development tools, free.
VCS: Subversion - State of the art, simple, robust, free.
Language: Java&JDK - Versatile, multi-platform, well-documented, easy to use, free.
Compiler: Jikes - Fast.
Deployment: JavaWebStart - Simple, fast, user-friendly.
Tools scripting: Python - Simple, well suited, state of the art, free.
Code documentation: Doxygen - Feature-rich, high quality documents, good error reporting.
Editor: Whatever the developer prefers - Efficient, developer satisfaction.
Unit testing: JUnit - State or the art.
Bug tracking: Flyspray - Simple, good quality, free.
Building: Make - Simple, versatile, free.
Coverage: Cobertura - Simple, fast, report quality, free.
Document collaboration: twiki - Simple, free.
I'd like feedback on the selection, and experience with these and alternative tools.
I do miss tools for code metrics, debugging, profiling, and project management (hours, calendar, resources, time estimates etc) among others. Also, no particluar project process (like RUP) w/tools, has been chosen. Suggestions and experience appreciated.
Thanks.
PS: Excuse me for being slightly off topic.
Daniel Dyer - 08 Feb 2006 23:39 GMT > OS: Linux - fast, secure, availability of development tools, free. > > VCS: Subversion - State of the art, simple, robust, free. Agreed.
> Language: Java&JDK - Versatile, multi-platform, well-documented, > easy to use, free. > > Compiler: Jikes - Fast. Fast, but not up-to-date. Development stagnated for a while, and even now there hasn't been a release in 16 months. If you want Java 5 support you will probably have to settle for javac. Previous versions that I used were fast but often buggy, and there seems to be a lot of unresolved issues with the last release.
> Tools scripting: Python - Simple, well suited, state of the art, free. What are you using the scripting language for?
> Code documentation: Doxygen - Feature-rich, high quality documents, good > error reporting. Why not Javadoc?
> Unit testing: JUnit - State or the art. I'd argue that TestNG is much more state of the art. JUnit 4.0 might not be so bad when it gets released.
> Building: Make - Simple, versatile, free. Apache Ant is the de facto standard in Java land, though some people will tell you that it is evil (see the thread "make not needed" from last week).
> PS: Excuse me for being slightly off topic. You could also try comp.lang.java.softwaretools.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Roedy Green - 09 Feb 2006 05:32 GMT On Wed, 08 Feb 2006 23:39:13 -0000, "Daniel Dyer" <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly quoted someone who said :
>> Unit testing: JUnit - State or the art. > >I'd argue that TestNG is much more state of the art. JUnit 4.0 might not >be so bad when it gets released. for other possibilities, see http://mindprod.com/jgloss/testing.html
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Daniel Dyer - 09 Feb 2006 19:46 GMT > On Wed, 08 Feb 2006 23:39:13 -0000, "Daniel Dyer" > <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly [quoted text clipped - 7 lines] > > for other possibilities, see http://mindprod.com/jgloss/testing.html I've been name checked on the Java Glossary, I've finally made it in the Java world :)
Are you sure your readers are interested in my preferences?
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Jacob - 09 Feb 2006 07:15 GMT >> Compiler: Jikes - Fast. > > Fast, but not up-to-date. I am developing on 1.5 and rely on a robust compiler, and at the moment I am actually using javac. I used to use jikes, and thought it were finally up to speed on 1.5. If that's not the case I'll stick with javac. Are there other alternatives? What about the the gcj?
>> Tools scripting: Python - Simple, well suited, state of the art, free. > > What are you using the scripting language for? Simple administration tasks, like extracting a clean version from the VCS and build everything from scratch every hour. Make does the bulk of the job, but it needs to be kicked from somewhere.
>> Code documentation: Doxygen - Feature-rich, high quality documents, good >> error reporting. > > Why not Javadoc? I prefer the layout of Javadoc and it simplifies a lot to have it as part of the language tools, but when comparing features Doxygen seems far ahead (class hierarchy diagrams being one). Check the rich options set of the Doxyfile and compare it to the rather limited options of javadoc.
>> Unit testing: JUnit - State or the art. > > I'd argue that TestNG is much more state of the art. JUnit 4.0 might > not be so bad when it gets released. I'll check TestNG as I don't really like JUnit that much. The API is wide and documentation is bad; Both hints of a badly structured project.
>> Building: Make - Simple, versatile, free. > > Apache Ant is the de facto standard in Java land, though some people > will tell you that it is evil (see the thread "make not needed" from > last week). Ant is not evil, but perhaps a bit to complex to fit my philiosophy, and make is far more versatile. In short: For all the tasks a development environment consists of you'll need make anyway. So then you might as well use it for building too.
Roedy Green - 09 Feb 2006 11:44 GMT >I am developing on 1.5 and rely on a robust compiler, and at the moment >I am actually using javac. I used to use jikes, and thought it were >finally up to speed on 1.5. If that's not the case I'll stick with >javac. the key for speed with JavaC is to use Ant so it loads once and recompiles the universe.
For debugging there is the compiler internal to Eclipse which is blinding fast.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Jacob - 09 Feb 2006 19:44 GMT > the key for speed with JavaC is to use Ant so it loads once and > recompiles the universe. Using Ant doesn't change the speed of javac. Whatever build tool that is used should be configured so that it gives javac the smallest workload possible. And Ant might not be the most clever in that respect...
> For debugging there is the compiler internal to Eclipse which is > blinding fast. Eclipse bundles many different tools/tasks and is therefore not target for my study.
Roedy Green - 09 Feb 2006 22:16 GMT >Using Ant doesn't change the speed of javac. It changes it in this respect. Ant does not use exec or invoke javac from the command line. It invokes it with programmatically.
See .http://mindprod.com/jgloss/javacexe.html@MAIN and http://mindprod.com/jgloss/onthefly.html
This means Javac gets loaded once to handle all the classes. In bat files or traditionally makes javac will be loaded over and over.
It makes a HUGE difference.
I have done it six different ways:
1. bat files 2. make 3. generated bat files 4. how brew make that uses MAIN technique. 5. ant 6. generated ant scripts
I have ordered them in what found was increasing order of desirability, including ease maintenance and speed.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Daniel Dyer - 09 Feb 2006 19:27 GMT >>> Tools scripting: Python - Simple, well suited, state of the art, free. >> What are you using the scripting language for? > > Simple administration tasks, like extracting a clean version from > the VCS and build everything from scratch every hour. Make does the > bulk of the job, but it needs to be kicked from somewhere. Probably better to use a specialised continuous integration solution for this, such as Cruise Control or Luntbuild.
>>> Building: Make - Simple, versatile, free. >> Apache Ant is the de facto standard in Java land, though some people [quoted text clipped - 5 lines] > a development environment consists of you'll need make anyway. > So then you might as well use it for building too. I use Ant. It's not perfect, but it does enough to dispute your assertion that "you'll need make anyway".
Also, as Roedy pointed out, if you use Ant you will get better performance from javac and other tools written in Java than you would with make. Each separate invocation of javac (and the other tools like jar, javadoc, javah, etc.) in a make file incurs VM initialisation overhead. Ant by default runs each task in the same VM that Ant runs in, thus avoiding the JVM start-up penalties.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Jacob - 09 Feb 2006 19:50 GMT >>> What are you using the scripting language for? >> [quoted text clipped - 4 lines] > Probably better to use a specialised continuous integration solution > for this, such as Cruise Control or Luntbuild. I've used AntHill, and I am currenty using CruiseControl for a different (VS.NET) project. Both nice.
However, the script I am referring to is about 15 Python LOCs plus a crontab, so I really don't see much of a reason to throw a bag of technology after it.
Thomas Weidenfeller - 09 Feb 2006 08:42 GMT > I am doing a research project on development environments > using the Unix philosophy of development (see for instance > http://www.faqs.org/docs/artu/ch01s06.html) with the hypothesis > that an environment of small, simple, exchangable tools > might outperform the use of heavyweight IDEs. If done right, and if given to the right people, yes.
> Tools scripting: Python - Simple, well suited, state of the art, free. State of the art is not an argument. Particular not in your scenario. Because, IDEs are officially the "state of the art", but you have explicitly set out to do it differently, because state of the art is not what you want.
Admit it, you want Python, because you know Python.
I would consider more of the classic Unix tools. The whole bunch of awk, sed, m4, etc. If that isn't to your (or your user's) liking, Perl.
> Code documentation: Doxygen - Feature-rich, high quality documents, good > error reporting. Ok, Doxygen is more powerful than e.g. JavaDoc, but JavaDoc is the standard tool, comes with the JDK, and is simply the thing most Java programmers use. Doxygen is largely compatible with JavaDoc (Doxygen treats JavaDoc markup as a subset of its markup syntax). So if it later turns out that JavaDoc is really not up to the task, you can still change to Doxygen later.
> Editor: Whatever the developer prefers - Efficient, developer > satisfaction. Still, for the novices, provide a "standard" one for your environment, and provide the necessary integration (check out, check in from the editor, start of the build system, on-error got-to, etc.).
> Unit testing: JUnit - State or the art. Again, I would not use the term "state of the art" :-) Regarding testing, see also my remarks for the Wiki below.
> Building: Make - Simple, versatile, free. Good, but not without some problems when it comes to Java. Prepare for some extra work. The big problem is dependency declarations. java source code often has circular dependencies, but make doesn't like if you declare circular dependencies. You have to group your source code into clusters, where each cluster has internal dependencies, but the clusters form a DAG. Or you rely on javac's feature to find and compile dependencies by itself (up to a certain limit), if set up right.
> Document collaboration: twiki - Simple, free. Hmm, do you mean "project collaboration", or how do you want to link that to Doxygen/JavaDoc documentation?
If you want to link testing and a wiki, maybe FitNess is for you http://fitnesse.org/
> I do miss tools for code metrics, debugging, http://www.lambdacs.com/debugger/debugger.html
Last time I looked at it very interesting debugging concept, but not complete. Probably complete now.
> I do miss tools for code metrics, debugging, profiling, and > project management (hours, calendar, resources, time estimates > etc) among others. Also, no particluar project process (like RUP) > w/tools, has been chosen. Suggestions and experience appreciated. The usefulness of a particular project management tools depends very much on the management process you apply. Maybe dotProject (written in PHP for a LAMP environment, not in some .NET stuff) is useful for you: http://www.dotproject.net
> PS: Excuse me for being slightly off topic. IMHO you are very much on topic.
/Thomas
 Signature The comp.lang.java.gui FAQ: ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq http://www.uni-giessen.de/faq/archiv/computer-lang.java.gui.faq/
Jacob - 09 Feb 2006 19:32 GMT >> Tools scripting: Python - Simple, well suited, state of the art, free. > > State of the art is not an argument. Particular not in your scenario. > Because, IDEs are officially the "state of the art", but you have > explicitly set out to do it differently, because state of the art is not > what you want. Admit it, you want Python, because you know Python. Given that you need a scripting language for assembling the environment tools, then, yes, I want that scripting language to be "state of the art".
This is due to maintainance and in order to easily get people that knows the technology. I didn't know Python when I started, but knew that it was "lightweight" and could fulfill the task.
> I would consider more of the classic Unix tools. The whole bunch of awk, > sed, m4, etc. If that isn't to your (or your user's) liking, Perl. This suite of tools is one of the reason Linux is the preferred OS in the first place. But what I *don't* want to use is bash, sh or csh or their likes (which I do know quite well). Python is choosen to replace these traditional Unix shells. (And Perl is *not* an option. Never! :-)
>> Code documentation: Doxygen - Feature-rich, high quality documents, good >> error reporting. [quoted text clipped - 5 lines] > turns out that JavaDoc is really not up to the task, you can still > change to Doxygen later. Compared to Doxygen, JavaDoc is not up to the task already. Unfortunately. There is so much valuable information that could potentially been there, but you have to admit, it hasn't really evolved much since the start back in '96. (That said, I dislike Doxygen too, especially the layout)
>> Editor: Whatever the developer prefers - Efficient, developer >> satisfaction. > > Still, for the novices, provide a "standard" one for your environment, > and provide the necessary integration (check out, check in from the > editor, start of the build system, on-error got-to, etc.). True. Emacs comes to mind...
>> Building: Make - Simple, versatile, free. > [quoted text clipped - 5 lines] > form a DAG. Or you rely on javac's feature to find and compile > dependencies by itself (up to a certain limit), if set up right. I already have a simple make setup that handles about half a million LOCs smoothly. It outperforms Ant by any standard. But of course it takes some effort to assemble it in the fist place (it's public btw).
>> Document collaboration: twiki - Simple, free. > > Hmm, do you mean "project collaboration", or how do you want to link > that to Doxygen/JavaDoc documentation? The assumption is that there is a web server running and that there is a single entry point to the development tools, status, logs etc. Part of this site will be a collaboration area where "other" information will live, such as external documents, analysis documents, MOMs, etc. Twiki should fulfill this task.
> If you want to link testing and a wiki, maybe FitNess is for you > http://fitnesse.org/ First impression: Several things "integrated". I don't want tools to be "integrated".
>> I do miss tools for code metrics, debugging, > > http://www.lambdacs.com/debugger/debugger.html Strange site. Silly slogan. This is where I'd rather go "state of the art". What about DDD?
> The usefulness of a particular project management tools depends very > much on the management process you apply. Maybe dotProject (written in > PHP for a LAMP environment, not in some .NET stuff) is useful for you: > http://www.dotproject.net This seems very close to what I want. First impression though: Ugly GUI.
Thomas Weidenfeller - 10 Feb 2006 08:34 GMT [...]
Strange, first you ask about opinions, then you apparently can't live with opinions which differ from yours. What a waste of time.
/Thomas
 Signature The comp.lang.java.gui FAQ: ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq http://www.uni-giessen.de/faq/archiv/computer-lang.java.gui.faq/
Jacob - 10 Feb 2006 09:29 GMT > [...] > > Strange, first you ask about opinions, then you apparently can't live > with opinions which differ from yours. What a waste of time. Not quite sure what you refer to, but I do value all opinions.
As a practical matter however we need to choose a sample platform, and many of the tools has already been chosen based on the experience (and skills :-) of many people.
I am primarily looking for adequate tools where I did not have any; code metrics, debugging, project management, code browsing and application profiling.
Hendrik Maryns - 10 Feb 2006 09:06 GMT -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message
Jacob schreef:
>>> Editor: Whatever the developer prefers - Efficient, developer >>> satisfaction. [quoted text clipped - 4 lines] > > True. Emacs comes to mind... Isn?t that an IDE also?
 Signature Hendrik Maryns
================== www.lieverleven.be http://aouw.org
Lasse Reichstein Nielsen - 10 Feb 2006 19:45 GMT > Jacob schreef: >> True. Emacs comes to mind...
> Isn?t that an IDE also? No, it's a Lisp based operating system.
/L :)
 Signature Lasse Reichstein Nielsen - lrn@hotpop.com DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html> 'Faith without judgement merely degrades the spirit divine.'
Monique Y. Mudama - 09 Feb 2006 20:14 GMT >> I do miss tools for code metrics, debugging, > > http://www.lambdacs.com/debugger/debugger.html > > Last time I looked at it very interesting debugging concept, but not > complete. Probably complete now. What about JSwat?
... although I haven't looked at it in a few years.
 Signature monique
Ask smart questions, get good answers: http://www.catb.org/~esr/faqs/smart-questions.html
Thomas Weidenfeller - 10 Feb 2006 08:36 GMT > What about JSwat? > > ... although I haven't looked at it in a few years. I thought about it, but AFAIK it is build on NetBeans components. And my understanding was that the OP wanted to have not even parts of an IDE.
But anyhow, as it has turned out he apparently has already made up his mind, and was just looking for a confirmation of his selection, not for any suggestions.
/Thomas
 Signature The comp.lang.java.gui FAQ: ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq http://www.uni-giessen.de/faq/archiv/computer-lang.java.gui.faq/
Chris Uppal - 09 Feb 2006 12:32 GMT > I am doing a research project on development environments > using the Unix philosophy of development (see for instance > http://www.faqs.org/docs/artu/ch01s06.html) with the hypothesis > that an environment of small, simple, exchangable tools > might outperform the use of heavyweight IDEs. [...]
> I do miss tools for [...] One important thing that strikes me as missing from your list of tools (and also from your list of programmer activities), is anything which will aid code browsing. Something that can answer questions like, "where is this class referred to?", "what overrides are there of this method?", "where is this method called?", "what code uses this constant?", "which classes implement this interface", etc. Answering such questions (with or without tool support) is a major part of programming; it's central to code /reading/ and comprehension, so if you don't have support then it'll skew your results.
Unfortunately, the only browsing tools I know of for Java are the rather clunky search features built into some IDEs. I know of nothing that will work as a standalone tool or will integrate into an editor ("which editor?" one asks ;-). That doesn't mean there aren't any, though. Maybe someone can suggest something.
-- chris
Roedy Green - 09 Feb 2006 12:52 GMT On Thu, 9 Feb 2006 12:32:56 -0000, "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> wrote, quoted or indirectly quoted someone who said :
>Unfortunately, the only browsing tools I know of for Java are the rather clunky >search features built into some IDEs. I know of nothing that will work as a >standalone tool or will integrate into an editor ("which editor?" one asks ;-). >That doesn't mean there aren't any, though. Maybe someone can suggest >something. I have see two such tools, Juliet and JGuru
Both left me wanting to rewrite them, extending the basic idea.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Thomas Kellerer - 09 Feb 2006 12:57 GMT > Unfortunately, the only browsing tools I know of for Java are the rather clunky > search features built into some IDEs. I know of nothing that will work as a > standalone tool or will integrate into an editor ("which editor?" one asks ;-). > That doesn't mean there aren't any, though. Maybe someone can suggest > something. There is ctags and it integrates e.g. into TextPad. It can be used to jump to methods and classes. I'm not really familiar with ctags, but I assume its output could also be used for the other "queries"
Thomas
Roedy Green - 09 Feb 2006 13:45 GMT On Thu, 09 Feb 2006 13:57:05 +0100, Thomas Kellerer <WVIJEVPANEHT@spammotel.com> wrote, quoted or indirectly quoted someone who said :
>There is ctags and it integrates e.g. into TextPad. It can be used to jump to >methods and classes. I'm not really familiar with ctags, but I assume its output >could also be used for the other "queries" the features I would like are:
1. find me a constructor or factory for this kind of object, broadly defining factory.
2. Now I have a Blot object, what method in the known universe will eat one, not many, then how about next level superclass?
3. who implements this Interface? Thankfully Javadoc now includes this.
4. who subclasses this class? Again Javadoc now tracks this.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Stefan Ram - 09 Feb 2006 14:25 GMT >the features I would like are: What I am looking for is:
Given a source tree with several packages and source files:
Print all source files sorted topologically by their interdependency, for example:
Layer 0 Entries depend on no other source files, except source files from this layer 0 ./alpha/beta/Gamma.java ./alpha/delta/Epsilon.java ./zeta/eta/Theta.java
Layer 1 Entries depend on no other source files, except source files from this layer 1 ./alpha/beta/Iota.java
Cycles The following source file was excluded from consideration to avoid a cyclic dependency ./alpha/kappa/Lambda.java
im - 09 Feb 2006 13:43 GMT > Unfortunately, the only browsing tools I know of for Java are the rather clunky > search features built into some IDEs. I know of nothing that will work as a > standalone tool or will integrate into an editor ("which editor?" one asks ;-). > That doesn't mean there aren't any, though. Maybe someone can suggest > something. http://sourcenav.sourceforge.net/ I find Source Navigator very useful. I use it for code browsing only, but technically it is an IDE, so that may disqualify it for your purposes :-) The UI is probably not too intuitive by today's standards, it takes some time to learn it, but it is fast and effective. It is included in some Linux distributions and available for windows.
Imre
Chris Uppal - 16 Feb 2006 13:04 GMT > http://sourcenav.sourceforge.net/ > I find Source Navigator very useful. I use it for code browsing only, [...] Thanks for the suggestion, it looks very interesting.
But it may not actually be usable. I've just installed it (on Windows) and I'm attempting to import the JDK platform source into it (a particularly good subject for browsing tools, IMO). Unfortunately it seems to be a little slow. It's currently importing Java files at the rate of about four per minute, and with about 10K files to go, I anticipate it finishing sometime on Saturday morning. Somehow I don't think I'll wait that long ;-)
Presumably it runs much faster on Linux. If it's forking/execing lots of Cygwin processes (as I guess it is) then that would do much to explain the slowness.
-- chris
Thomas Weidenfeller - 09 Feb 2006 13:55 GMT > One important thing that strikes me as missing from your list of tools (and > also from your list of programmer activities), is anything which will aid code [quoted text clipped - 4 lines] > major part of programming; it's central to code /reading/ and comprehension, > so if you don't have support then it'll skew your results. To a certain extend the documentation generated by JavaDoc can answer these questions. However, the documentation is static (needs to be generated first), and doesn't answer all of them.
If you have a large amount of code, you probably anyhow need to first generate some database or index. Which leads to the next useful tool in this area: ctags and/or etags. They are primarily intended to support source code navigation inside editors. Which can answer some of the above mentioned questions. E.g. a ctags version on speed :-) can be found at http://ctags.sourceforge.net/
> ("which editor?" one asks ;-). One which supports tag files for source code navigation (e.g. vi, emacs, nedit) :-)
/Thomas
 Signature The comp.lang.java.gui FAQ: ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq http://www.uni-giessen.de/faq/archiv/computer-lang.java.gui.faq/
Jacob - 09 Feb 2006 19:38 GMT > One important thing that strikes me as missing from your list of tools (and > also from your list of programmer activities), is anything which will aid code [quoted text clipped - 4 lines] > major part of programming; it's central to code /reading/ and comprehension, > so if you don't have support then it'll skew your results. Good point.
There seems to be a few "plugins" for emacs, in particular ECB (http://ecb.sourceforge.net/) looks impressive (from the screenshots at least). I have no experience with it. Anyone?
How whould you rate the support for these features in IDEs like IntelliJ, Eclipse, NetBeans or VisualStudio?
Hendrik Maryns - 10 Feb 2006 09:08 GMT -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message
Jacob schreef:
>> One important thing that strikes me as missing from your list of tools >> (and [quoted text clipped - 20 lines] > How whould you rate the support for these features in IDEs like IntelliJ, > Eclipse, NetBeans or VisualStudio? In Eclipse it?s all there (I think), most of them rather explicitly, others have to be asked in a view.
H.
 Signature Hendrik Maryns
================== www.lieverleven.be http://aouw.org
Daniel Dyer - 09 Feb 2006 19:46 GMT > One important thing that strikes me as missing from your list of tools > (and [quoted text clipped - 11 lines] > comprehension, > so if you don't have support then it'll skew your results. Real programmers use grep ;)
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Monique Y. Mudama - 09 Feb 2006 20:10 GMT > Unfortunately, the only browsing tools I know of for Java are the > rather clunky search features built into some IDEs. I know of > nothing that will work as a standalone tool or will integrate into > an editor ("which editor?" one asks ;-). That doesn't mean there > aren't any, though. Maybe someone can suggest something. You can use exuberant ctags + vim for the ability to jump around to definitions. The last time I used it, it didn't seem as complete as Eclipse's browsing tools, but it's much better than nothing.
 Signature monique
Ask smart questions, get good answers: http://www.catb.org/~esr/faqs/smart-questions.html
IchBin - 09 Feb 2006 21:37 GMT >> Unfortunately, the only browsing tools I know of for Java are the >> rather clunky search features built into some IDEs. I know of [quoted text clipped - 5 lines] > definitions. The last time I used it, it didn't seem as complete as > Eclipse's browsing tools, but it's much better than nothing. Sorry have not read the entire thread but wanted to mention this..
Don't count on JBuilder, that is, until it is taken over by new company. I just read last night, in some RSS feed, that Borland is going to sell it to some one or drop the product. Wish I could remember the feed. I just read to many of them
 Signature Thanks in Advance... IchBin, Pocono Lake, Pa, USA http://weconsultants.servebeer.com/JHackerAppManager __________________________________________________________________________
'If there is one, Knowledge is the "Fountain of Youth"' -William E. Taylor, Regular Guy (1952-)
Roedy Green - 09 Feb 2006 22:19 GMT >Don't count on JBuilder, that is, until it is taken over by new company. >I just read last night, in some RSS feed, that Borland is going to sell >it to some one or drop the product. Wish I could remember the feed. I >just read to many of them they complained nobody buys IDEs anymore. I think Intellij is the last one for pay. It has to stay well out ahead to justify the price tag.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
jussij@zeusedit.com - 15 Feb 2006 05:23 GMT > Unfortunately, the only browsing tools I know of for Java are > the rather clunky search features built into some IDEs. I know > of nothing that will work as a standalone tool or will integrate > into an editor ("which editor?" one asks ;-). That doesn't mean > there aren't any, though. Maybe someone can suggest something. On the Windows platform there is the Zeus IDE:
http://www.zeusedit.com
Zeus integrates with Exuberant Ctags utility and uses the tags information to drive the class browsing, intellisensing and tag searching features.
Basically once you've create a project/workspace and added the source files to the project, Zeus will automatically update the ctags information.
Jussi Jumppanen Author: Zeus for Windows Ruby IDE Note: Zeus is shareware (45 day trial).
jeanlutrin@yahoo.fr - 09 Feb 2006 19:10 GMT > I am doing a research project on development environments > using the Unix philosophy of development (see for instance [quoted text clipped - 7 lines] > deploy-cycles, create development area for new user etc, management > reporting etc. Interesting project!
I just want to add that they're not mutually exclusive: I'm using IntelliJ IDEA as my "heavyweight" Java IDE but with one keyboard shortcut I'm on a Unix terminal window and with another keyboard shortcut I'm on a traditional Unix "text editor". For most things I "simply" use IntelliJ IDEA (using an heavily modified Emacs keymapping and and custom Emacs plugin for IntelliJ) but then sometimes I just need to do an operation that's better done using the "old Unix way": then I just temporarly switch to "simpler" tools.
Recently I had one such case: I was charged to modify some code I didn't write. The task was tedious and repetitive and too complex to be done by the "simple" search and replace provided by IntelliJ IDEA. One keystroke and I'm out of IntelliJ IDEA, then a little bit of perl and sed magic and the work was done.
Why restrict your development environment to one or the other when you can have the best of both world?
:) That said, I think the best development setup allows programmer to use whatever tools they want: for example for code editing nothing should prevent one developer to use IntelliJ IDEA, another one Eclipse, another one vi, another one (X)Emacs and those like me who don't fear holy wars should be able to have several of these openend simultaneously (and using the same font and the same color scheme :)
Many companies are insisting on having a single development setup but there are also quite some where the developers are free to choose and use whatever fits them most. There was an article on theserverside.com less than a year ago about the Java development going on at Walmart: this is such a company where everybody can choose what tool they use to work on the (Java) project.
Good luck on your research,
Jean
P.S : I like your measurment in keystrokes: to me the mouse has always been an anti-pattern for (non-visual) programming ;)
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|