8

Is it ok to answer a question by referring to a technology that is not released yet?

Here is a specific example, where the answers to the question are:

  • no, it's not possible with current versions of Java
  • yes it is possible with Java 8 (which will not be generally available until Q1 next year)

Many questions can be answered very elegantly by using the Java 8 syntax, but:

  • that is not necessarily very helpful for the OP who is probably not using that technology yet
  • it can add some confusion because it won't compile with current versions (as shown by the comments below the answer)
  • the specifications of Java 8 are not stable yet so the answer could become obsolete in a week

Any guidelines?

1
9

Of course that is allowed and even very good!

We want answers to be useful to future visitors primarily and not just to the OP. And the answer will be relevant in the future.

Besides it does not hurt to have such an answer to the question too. If there are other answer that work right now, then this makes a fine addition to the quesiton.

1
  • 3
    You can't predict the future - a lot of specifications and technologies end up changing dramatically before they ever make it to general availability (see the last bullet point in the question). If an answer has to be constantly updated to address those future uncertainties, it's not a good answer IMO. Aug 17 '13 at 19:57
4

This was discussed in terms of C++11 recently also.

Questions and answers are intended to have value not just today for the person who asked, but for future visitors. In the grand scheme the op getting an answer they like is quite a small bonus compared to the whole of the Internet getting an answer for the rest of time.

In general therefore the best way to make sure that happens is to give an answer that covers both cases:

Unless you have a version at least as new as X you'll have to do it like:

foobar(frobinatior);

When version X is available there's a shortcut that makes this all much cleaner:

foobar(); // This all happens magically now

Answering like this is clear and it will age well - it'll help people who end up stuck on a (soon to be) ancient version for the foreseeable future and it'll encourage people to look into the new super-fantastic language features as the bleeding edge becomes the norm.

1

"In the next version, you can solve it cleanly this way" can be a very valuable answer if the roadmap and upgrade path is clearly set out. If I'm facing an issue that has several potential solutions with the existing version, knowing that a better or definitive solution will be available in the next version can help me make a good choice; some options might make a better interim solution than others (closer to the ultimate solution, easier to adapt etc).

Surely what is important is that the answer makes this plain. If it doesn't, that would be a poor and misleading answer. But the simple provision of information about a solution that isn't available today can't be wrong.

Or do you think Stackexchange users are too stupid to work this out and need to be protected?

1
  • 1
    Well, some of them really are too stupid. I've received downvotes for suggesting future technologies that don't work even though I've added a disclaimer and provided an alternative that works at the time it was written, because of the statement in the disclaimer, e.g. "-1 for suggesting something that doesn't work." Aug 17 '13 at 19:58

You must log in to answer this question.

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