The ground rules for softwarerecs give top billing to the idea of listing specific requirements in a question, and I totally get why that is. But what about those cases where a user may not actually know enough about the domain to ask a specific question?

For instance, let's say I'm new to Java and want to use an IDE. There are a ton out there: IDEA, Eclipse, BlueJ, vim, emacs... you get the point. They all have different features, but as a newbie, I don't know what those possible features are. In other words, I don't know what I should be looking for.

To give a more concrete example: autocomplete is going to help me out a lot as I feel my way around the JDK. But I may not know such a feature is out there — heck, I may not even know that I'm going to spend so much time learning the JDK — and thus I can't list it as a requirement.

Absent this site (or a helpful buddy), the only way I could really be informed enough to ask a good recommendation question is to sit down and learn a bunch of these IDEs... at which point (1) I don't need to ask the question, (2) I've spent a lot of time and (3) I haven't contributed to the world's knowledge base; the next person in my shoes will also just have to sit down and learn those same IDEs.

So the question I really want to ask in this situation would be something like:

I'm fairly new to Java and am looking for a good IDE. What are my options? What features should I look for? And which IDEs have those features?

This is a bad question according to the ground rules, but I contend that it's an incredibly useful question to answer; it's asked countless times a day by Java newbies (and of course, this extends to other things besides Java IDEs specifically). And sure, I could google "java best IDE?" and get a bunch of articles — but I have no way of knowing which of those answers are good. I'm missing the voting features of a SE site.

So, is there any way to fit these sorts of more open-ended questions into softwarerecs?

  • Those question get the risk to create a "war" between each software supporter teams who would like demonstrate their IDE is the best one. Related topic. Commented Mar 6, 2014 at 13:16
  • 1
    Personally, I'd ask for one with most friendly learning curve. That's a very specific requirement that is completely absent in most top-dog IDEs. I know Eclipse is an awesome IDE but I'd never recommend it as the first IDE to use for anyone starting learning a new language. The cliff you must scale before your first "Hello World" is simply a no-no. Vim? If someone recommends it for a newbie, I'll laugh at the good prank. Emacs? The question was about IDE, not OS. Finding an EASY TO LEARN Java IDE is a tricky task and a very good fit for this site.
    – SF.
    Commented Mar 8, 2014 at 3:42
  • @yshavit, The internet is bigger than SE my friend. Way, way, bigger. Take a stroll to google.com/search?q=site%3Aquora.com+best+java+ide and have a refreshing pizza.
    – Pacerier
    Commented Jul 20, 2015 at 16:31

4 Answers 4


This isn't tricky at all. This is part of a learning process that comes way before *this* site.

You're asking folks to recommend a tool for you before you can even describe why any random Google search doesn't fulfill the needs you haven't even defined yet. We cannot do that for you. I understand the enthusiasm that comes with "don't waste my time, just tell me what to do." But learning anything starts with a bit curiosity, research, and eventually trial and error. You have to educate yourself a bit and get started somewhere before you can describe the challenges you are trying to overcome.

Right now you don't know what you don't know.

The tools should not define your needs. Nobody can tell you what type of hammer to buy before you know what you are trying to build… or why the hammer you have is no longer working for you. If there was one "good IDE" for everyone, then the rest would likely just disappear from existence. But there are a lot of IDEs out there precisely because they solve different problems in different ways. Anything we could suggest here is just guessing what will work for you… especially when you have zero requirements.

To put it another way, if you can't answer the question "what have you tried?" or why it didn't work for you, you're not to the point where you should be asking the folks on this site for help.

  • 2
    This seems like the right answer for the site, but fwiw, I think it makes the site a bit less useful. It's true that nobody can tell you what kind of hammer to buy before you know what you're building, but they can tell you what the different kinds of hammers they use are, and each one's pros and cons. To someone who's just getting into carpentry, that can be very helpful.
    – yshavit
    Commented Mar 6, 2014 at 22:56
  • 1
    Fair enough, but we are specifically not trying to become a broad listing and review service like SoftPedia or download.com... outlining what kind of hammers there are. There's plenty of services like that out there; we're trying to do something different. See The Ubiquity of Generalized Reviews. Commented Mar 6, 2014 at 23:04
  • Maybe once this site gets off the ground, I'll pitch a softwarerecsrecs.SE ;)
    – yshavit
    Commented Mar 6, 2014 at 23:08
  • @yshavit, There already is such a site... meta.softwarerecs.stackexchange.com/questions/745/…
    – Pacerier
    Commented Jul 20, 2015 at 19:56

The ground rules were written before the site started. During the private beta, we quickly realized that having precise requirements isn't everything. In “My instincts are all wrong”, Tim Post included another part: “describe your task”. In our question quality guidelines, I stated that as “define your goal”, which can be a “user story”. A good software recommendation question has two main parts: a goal to accomplish, and some requirements.

Different questions will give different levels of emphasis on the two essential ingredients. Sometimes the requirements pretty much define the task, and it doesn't matter why you're doing it, you just have to get from A to B (in a certain amount of time, with luggage, etc.). At other times, like in the kind of situation you describe, you won't have many hard requirements. That's ok, but you need to compensate with a detailed story.

You probably have a few hard requirements, even if they're broad: you're programming in Java, either on one OS or with a need for something cross-platform, perhaps for one OS or using certain frameworks. Then you need to tell us more about what you're doing and why. What kind of applications will you be working on? For example, are you programming for an embedded JVM with a restricted library, or are you using additional frameworks beyond the standard library? Are you working on small applets or huge projects? Do you need support for the latest language features? And some personal preferences: do you use the keyboard a lot or do you prefer to click for everything? Do you prefer a simple UI with few features or a cluttered but powerful UI?

When crafting a good question for this site, it helps to keep in mind the main trap that questions can fall into: this is not a poll site. If your question can be read as “name an X” or “what's your favorite X”, you're doing it wrong. If your question invites answers that explain why X would be a good choice for you, you're on the right track.


If you don't know what you want (but have at least a vague idea), then this guide will help you find out what questions you should ask yourself, leading to a great question with enough requirements:

Criteria you should mention in your question, for each type of software


  1. Your boss asks you to choose an ECM software for the company, and to choose it wisely.
  2. You have no idea what ECM is.
  3. You look up on Wikipedia and get a vague idea of what ECM can do. In particular, you understand that you would need 1 year to really understand everything the field has to offer.
  4. Your ECM knowledge is still too fuzzy to be able to formulate strict requirements, actually you would like to get various ideas and proposals to see what fits the best for your company. You could hire an ECM consultant to do that job, but the boss says there is no money for that.
  5. Software Recommendations can help you! First go to Criteria you should mention in your question, for each type of software
  6. Find the "ECM" section.
  7. Ask your question, including your choices for requirements listed in the ECM section, and of course following the general rules listed at What is required for a question to contain "enough information"?

Thats tricky. Personally I'd try to pick the appropriate chatroom and talk it through first - but then again, I'm a chat regular and I know who to ask.

I'd also try reading through similar good questions to try to understand what other people need, and see what those things do.

The ground rules are kind of there for a reason. In many cases your needs might be suprisingly specialized - I've talked people through setting up an IDE for dyslexics for example -your needs may not necessarily be technical, but you're going to have some requirements.

Absent this site (or a helpful buddy), the only way I could really be informed enough to ask a good recommendation question is to sit down and learn a bunch of these IDEs.

SE is not meant to be a replacement for proper research - its a way to help get solutions to problems. You're going to have to sit down and plonk at these anyway to understand what works for you.

A good newbie question need not be detail sparse - talk about your needs, rather than features and see what crops up.

  • I edited my question to address the needs-vs-features part. As for the research comment, it seems to me that softwarerecs could be a great resource for future researchers asking this same question.
    – yshavit
    Commented Mar 6, 2014 at 10:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .