Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Since 2005 we are using MyEclipse as our standard development tool.
We use it mainly for for Java applications, but from time to time
we use it also for Groovy and may be other stuff, like DB navigator, etc.
Our licences should be renewed in a couple of months and I am rethinking
the decision of using it. A nice feature of MyEclipse was the debugger which
allows us to debug client/server applications. Also the hot deployment was a nice
feature. All this stuff can be done without MyEclipse and comparing the memory footprint
of MyEclipse 7.1 woth Eclipse Ganymede the last one wins for far.
The licence price doesn't matter.
Then the question is what I do loose not using MyEclipse anymore?
opinions are welcome.
Luis
We used to use MyEclipse but we just stopped doing so over time, and didn't really miss it. We're now on Ganymede EE and find it has everything we need, having now implemented some of the things bundled with MyEclipse. Syntax highlighting across various sources such as .css, .js and .sql is nice to have out-of-the-box. And we've always used the remote debugger built right in - it's pretty neat imo, but I didn't realise there was anything special with MyEclipse in this regard. And of course you can install Eclipse and MyEclipse side-by-side while you try things out.
I was using MyEclipse for about 3 years between 2002 and 2005. Currently, the functionality coming with Ganymede is IMHO good enough to live without it
A good JavaScript/HTML/CSS editing support, if that concerns you. It was one of the main reason I shifted to Netbeans, not Eclipse, after a using the IntelliJ for a long period.
MyEclipse 8 allows you to configure away some of the many options to improve startup speeds.
There were many problems with v7, especially to do with proxy internet connections, but these seem to be fixed now.
I was using BEA's Workshop Studio for awhile and the primary features that I ever really used was to control-click on a JSF/JSP to jump to the source code. Likewise, I wanted to be able to find all references of a given method and have the result set include JSF/JSP references. I could never get the latter to work though...possibly a config error. The JSF WYSIWYG was useful on occasion too. I let my license lapse and didn't feel like paying again what they were asking ($100 - $800).
So I believe MyEclipse is supposed to provide those features as well for much less, but the JSF/JSP link and search didn't work on my initial install. So I've reverted back to Eclipse EE, which I don't believe provides any of those features (can anyone confirm this?). Assuming it doesn't and that I could get it to work in MyEclipse, then MyEclipse would be worth it IMO for just those basic features alone.
I was also a big fan for some years, but I realized that when Eclipse has a bug, then also MyEclipse has the same bug and they wait till Eclipse fix it.
So .. why should I pay for MyEclipse? IntelliJ is much stable and cheaper in the third year.
I tried now MyEclipse under Fedora and it's not better - GUI errors, so I can not work with. Much worser than under Ubuntu :(
Netbeans for PHP is the best. It has database support as well, i.e. you can test your sql queries within the netbeans and see the results. I have been using it for quite sometime and found no problems... Give it a try when you are looking for a change.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I have been a project manager so far in a small company that focuses on PHP and .NET Development. No Java Development.
I learnt Java and J2EE 4 years back. I know things changed radically now. I would like to dive back to Java Enterprise Development. Can you guys tell me what the typical Development Environment is like in the big / small companies for Java / Java EE? Lot of friends who are in Java Development says, they use Spring and Hibernate.
What I would like to know is things like this...
Eclipse or NetBeans IDE or some proprietary IDE? Do we get to choose the one we are comfortable with?
Local or Remote Web and App Servers?
I see that when I create a simple Java Project using eclipse, it adds some eclipse related tags / classes in the config files. Is this acceptable?
And so on...
Hope my question makes sense...
Please shed some light. Thanks in advance!
Eclipse or NetBeans IDE or some proprietary IDE?
IntelliJ from JetBrains is the best Java IDE out there. That's what my team uses.
Do we get to choose the one we are comfortable with?
Depends on where you work. I think it makes sense to allow the workman to choose his/her tools.
Local or Remote Web and App Servers?
We use Spring, so developers use Tomcat to deploy locally. The web servers exposed to the outside world are maintained by others; usually IIS or Apache. The app servers are JBOSS 5.
I see that when I create a simple Java Project using eclipse, it adds some eclipse related tags / classes in the config files. Is this acceptable? And so on...
Your IDE should not add anything that you don't want. I personally don't care for Eclipse.
Eclipse or NetBeans IDE or some proprietary IDE? Do we get to choose
the one we are comfortable with?
It depends. In a company I last worked for, they loved NetBeans while I preferred Eclipse (more configurable than NetBeans IMHO). NetBeans, however, is now owned by Oracle (formerly Sun) and thus comes with integrated Java EE packages to start with Development right away (includes GlassFish and Tomcat bundled). Eclipse Java EE doesn't include a webapp server.
Local or Remote Web and App Servers?
That totally depends on the company.
I see that when I create a simple Java
Project using eclipse, it adds some
eclipse related tags / classes in the
config files. Is this acceptable? And
so on...
These config files doesn't affect your project when exporting it to JARS/WAR/EAR, etc. Those config (.project, .classpath) are basically your project information Eclipse uses. NetBeans does the same. If these do affect your project when exporting, rather use Ant/Maven to build your project.
You'll get as many answers as there are software companies.
I'll speak for mine:
Eclipse
Tomcat for local and remote
I'm not sure what you mean here. Eclipse will definitely need .project and .classpath files if you want to share project, but I am not sure that it adds tags to config files.
Definitely look into maven for builds, using it makes your projects ide-agnostic, and you can have people using eclipse or netbeans or whatever is their favorite and still be able to contribute.
The ones that are used in the Java shops around here are mostly Eclipse, with the latest version of Netbeans gaining popularity. Personally I find Eclipse to be decent and meets my needs, but YMMV
This question already has answers here:
Closed 12 years ago.
Possible Duplicate:
What is the difference between Eclipse and Netbeans if I want to use only the Java in it?
What is the difference between Eclipse and NetBeans IDEs? What are the specific features of both IDEs?
Note: I am a Mac user
Eclipse has a massive plugin library and an enormous community behind it. I've found it to occasionally "pinwheel" when doing large refactors, but other than that it's stable for me. The JSP editor, has, in the past been somewhat weak for me with regards to properly differentiating between HTML and embedded Java. I appreciate the extreme configurability of the layout of the different perspectives. I've never been particularly thrilled with it's editor theming with regards to color schemes. It's debugger is top-notch.
NetBeans is sort-of the reference platform, you know? That said, it's plugin library is not as large, though it does have a rather nice vi emulation plugin. It's always felt slower to me than Eclipse, no matter what I do to it. It has been known to out-right dump on me as well. Netbeans has nice integration for different application-deployment platforms, such as Glassfish and Tomcat.
I'm an experienced C/C++ programmer getting into Java and looking for a good IDE with VIM integration or a VIM plug-in that let me use the same key mappings for things like editing, cscope and omnicompletion functionality. What I mean is that whatever native functionality is provided by the IDE can be mapped to the equivalent vim key bindings. It should run on both Windows or Linux. I don't care if I have to pay for both the IDE and the plug-in as long as they meet my needs.
The most recent question I saw dealing with this type of question here on SO is over a year old and I'm sure the 'state of the art' has changed since then.
I want to hear from people with actual hands on experiance with these IDEs and VIM plug-ins.
Why not just use VIM?
You know exactly what it can do and how it can be extended, and it appears to be what you want anyway.
You will not be satisfied by any emulation as it will fall short, and with your current mindset you will not like having to learn a new editor. It is, however, what I will recommend you to do. The things modern Java IDE's can do are miles above what VIM can do because they know your source intimately. You will benefit the most from an IDE if you use its default configuration, and I do not know any which wants to look like vi/vim.
When THAT is said, you might find http://ideavim.sourceforge.net/ interesting. IDEA is the only common place Java IDE left which makes money...
There's a VI plugin for IntelliJ. I've never used it, so can't comment on its userfriendliness, but IntelliJ itself is excellent.
Recently when I've been coding Java at work I've been using vrapper It has some minor usability bugs and some missing features (such as cit) but it really seems to work well in just providing basic vi editing functionality.
Ok, it seems I misread the original question a bit by looking too much at the other answers. I don't really know how easily you can map Eclipse's native omnicompletion functionality to the corresponding vim mappings. However I think you can be very productive with the bindings provided by wrapper and by learning just a few of the most important coding assistance keys in Eclipse.
There might even be a Stackoverflow question about this but the most important shortcuts I've found are:
ctrl+space for "omnicompletion"
ctrl+1 for opening the menu of suggested quick fixes for an error or warning
shift+ctrl+t for opening a type
I've been using the viplugin for eclipse (http://www.viplugin.com/viplugin/)
It's quite good, fights a little bit with refactoring, but most of the main editing commands work. I still have to use vim for complex regex work, but I only have to do that about twice a year.
Unfortunately it's commercial (€15) and development seems to have slowed a lot. It seems to be currently more feature complete than vrapper, but I haven't tried that.
I'm also researching VIM / Eclipse integrations, and these seem most interesting:
Vrapper
Eclim
(according to this Hacker News discussion and this other SO question)
Looks like there is one for netbeans, (a stack overflow thread) Is it possible to use VI or VIM keymap in NetBeans?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm pretty new to Java, and I need to build up programming environments for it (editing, compiling, testing, debugging, and deploying/making jar files).
And, even though I'm not a super expert of emacs, I'm a big fan of this wonderful tool.
Here comes my question.
Is it wise to use emacs for Java development? Is Eclipse better for Java development?
And, what people normally use for Java development environment? I mean, using what tool may result in getting more help than otherwise?
As a die-hard Emacs user and professional Java developer, I can say that I choose Eclipse hands-down for Java, and Emacs for everything else. Every tool has its advantages, and I try lots of tools. But the ecosystem surrounding Eclipse is unparalleled (even by EmacsWiki!) and Eclipse has the best Emacs emulation of any editor I've ever found if you install the Emacs+ plugin (by MulgaSoft).
Depending on the type of Java programming you're doing, Eclipse has no competition, i.e. if you're working with anything related to Google technologies (GWT, App Engine, Android). The Mylyn component to Eclipse interfaces with just about every task management tool out there, which is fabulous if your work in a corporate environment that uses JIRA, Mingle, VersionOne, Bugzilla, etc.
My experiences with JDEE, while favorable and interesting, put in a distant 3rd place to Eclipse and Netbeans, respectively. I haven't really worked with IntelliJ, so I can't comment on that front.
I think it's pretty critical to understand that there is a hard, non-subjective line between "AST editors" (Eclipse/NetBeans/IntelliJ) and text editors like emacs, vi, slickedit, etc. etc.
In Eclipse/NetBeans/IntelliJ they compile all the code and read that byte code back into a large, fully connected and cached internal AST. So for example when you rename a method, they follow the AST to all code in the project that uses said method and update all usages.
This is significantly different than a text find/replace which is what you get from a text editor.
Java is a strongly typed language which is an incredible advantage when using an editor that knows how to follow and manipulate that type structure.
malabar-mode is the best existing solution for Java development in Emacs. It has nice maven integration, groovy shell, semantic support, etc...
Java IDE certainly outgun anything Emacs has to offer in terms of features related to refactoring and code analysis, but other than that the Emacs experience is way better - much more powerful editor, simpler and vast ecosystem of extensions and an overall aura of greatness ;-)
It's all a matter of taste in end - whether you prefer click-based programming, when everything happens in menu and popups or prefer to go down to the bare metal, write the code more carefully(because there won't be a tool to analyze it for you) and create...
If you go for IDEs do yourself a favor, ignore all the Eclipse propaganda and have a look at the competing projects - I personally recommend you IntelliJ IDEA. In the end one decides for himself, but the decision should be made objectively and not based on statements like "everyone is using Eclipse"...
Most of the Java developers I know use Eclipse. I prefer Emacs, and at times, NetBeans. Mostly I prefer to do all my editing in Emacs and use NetBeans only to generate the build file. I recommend NetBeans over Eclipse because it has a better Emacs mode and is lighter on resources (relatively!). If you are looking for a full Java IDE for Emacs, try JDEE.
Emacs is a fantastic editor which is very useful - when you take the time to learn it well.
Eclipse/NetBeans/IntelliJ are each a fantastic Java IDE which is very useful - when you take the time to learn it well.
The amount of additional functionality that is available in Eclipse because it knows by heart that you are working with Java code and understands that code, is so large that it is difficult to tell in a few sentences. Let me give a few examples:
Hovering the mouse over any identifier shows its javadoc in a popup.
A single keypress can let you choose any implementation of the interface at the cursor location, including sub-classes.
You can easily refactor things, i.e. change orders of parameters in a method call or rename it and Eclipse will change it in all files where it is used.
The builtin Eclipse compiler is very robust so even with errors elsewhere in your source, you can still refactor code giving you more freedom to work.
The list goes on and on. There are, however, plenty things that Eclipse is not very good at, and in those cases it can be beneficial to open the files in other editors, like Emacs or vim.
So, learn your tools well, and have more tools than just a hammer.
Ultimately, this comes down to what works best for you. Try emacs, IDE's, and other tools as you see fit and then use what you like and find easiest.
I have a co-worker who says he often has emacs and NetBeans up at the same time. He uses emacs for editing and NetBeans for investigating errors, building, testing, etc.
While I've dabbled off and on with Java for years, I'm just starting to get into it seriously due to a new job where it is the main development language. Previously, I've used emacs for most of my development; it's editing power is quite nice to have. However, for larger projects I find that for many things an IDE is nice also. So, I may adapt my co-worker's strategy of running both emacs and NetBeans simultaneously.
Prior to working on this job I'd worked a little with Eclipse, which I liked. However, NetBeans is the defacto standard where I'm now working, and has some good points, so I'm working on learning that.
Recently I learned of CEDET, which looks to be a way of wrapping an IDE around emacs. Unfortunately, I've not had time to investigate it yet, but you may find it worth a look.
I am using Netbeans but there are some limitations to it, like absence of a back-forward navigation in the tool-bar (am used to it), variable renaming in a class, not changing the caller methods etc. Eclipse seemed better to me.
Best would be to try using the community edition of Idea IntelliJ . I have used their premium edition, and must say the developer experience in terms of usability friendliness and refactoring help is much better in IntelliJ. Also, there are some really neat short cuts for example to show you all the child class of a particular class in one view (And then letting you choose which to open), refactoring help and lots more.
The community edition would also have most of the features.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm thinking of using Java to write a program that I might try to sell one day. I'm new to Java so I have to ask, what types of tools/software/etc will I need (from development, to distribution, to user-friendly installation on users' machines) that have licenses that must be considered to make sure they allow sales and closed source code, etc.?
Should we assume the user already runs at least one Java app, and therefore has a fairly recent version of Java on their machine?
Also, do you have any recommendations for specific tools that are definitely suitable for this purpose?
It's very rare to see any development tools that restrict the way you can use software created using them. The only exception to that are libraries, and that is not a problem with standard Java libraries. Tools, IDE and so on - regardless of whether they're free or not - will not affect how you can distribute your code.
There are some weird exceptions, like BitKeeper source control software, the license of which prohibits anyone using it from trying to create software that could compete with BitKeeper - which is why I advise to stay as far away from the thing, and the company behind it, as possible. In the end, if you want to be absolutely legally clear, you'll have to hire a lawyer and have him go through licenses and EULAs for all software you're going to use in your development process, because of stuff like this.
Some specific data points: Java itself is okay (both compiler and libraries); both Ant and Maven are okay; and Eclipse and NetBeans are okay.
For development, you will likely need an IDE. The top picks are:
Eclipse (most features)
IntelliJ (non-free)
Netbeans (easiest to learn, imo)
A few others with much lower popularity
For a free installation program, I've had the best experiences with IzPack, but there are others available. Similarly, to convert to a .exe for easy launching, I recommend Launch4J.
I don't think that its safe to assume that users have Java installed. Many will, but the versions will vary fairly widely, and the few that don't will tend to cause problems. Obviously, this may vary depending upon your intended audience (and how much control you have over them).
For cross platform distribution you might want to look into launch4j: http://launch4j.sourceforge.net/
Also you might also want to obfuscate and optimize your code, for that you can use ProGuard: http://proguard.sourceforge.net/
For your development use any of the open source tools available such as eclipse or netbeans, or even emacs with jdee.
You should not assume users have Java, package a version of java with your application.
For installation you might want to search for some open source solutions, the only one I know of is install4j and it is commercial. http://www.ej-technologies.com/products/install4j/features.html
This is a question that is really hard to answer because the requirement and the preferences of the users are different from each other.
But I will tell you one entry point. Use ECLIPSE as your IDE to develop your Java code. It is an opensource one so you don't need any licence for that. When you are working on your project you will need variety of other tools to do various stuff. Fortunately most of the essential functions are implemented as plugins for eclipse. You can seperately add them to eclipse.
With time, you'll get the experience and you will have enough knowledge to swich to the necessary tools etc