Recently this question caused a bit of a stir. The admitted goal of the challenge was to replace our old fibonacci question which the op felt was outdated.

The question was closed twice by high rep users holding code-golf badges, and reopened twice by regular users. It currently has two additional close votes. This is not good. This shows there is a significant content dispute over this question. Although the question has mostly died down I think it is a good idea to discuss this question on the meta.

Is the question a dupe? Should it be closed? What should we do in similar situations where a old question is being "replaced" with a newer similar question?

Related Discussion

  • 3
    \$\begingroup\$ This is not a dupe. This is, however, a good example of what to do with old, decrepit and worse challenges. I hope the question stays open, I like it. \$\endgroup\$ Commented Jul 19, 2017 at 21:46
  • 4
    \$\begingroup\$ I think it's the same problem with pop cons but just because you don't want it to be a dupe (rep, time, whatever) that doesn't mean it isn't a dupe. Especially considering it's a textbook case of a dupe \$\endgroup\$
    – Downgoat
    Commented Jul 21, 2017 at 3:49

3 Answers 3


Is the question a dupe?

Yes, it is

Our standard for whether one question duplicates another is: can answers from one question be copied with minor modifications and be competitive?

I'm not going to work through all 174 answers to the older question, but to take the first page by votes:

  • Perl: yes
  • Brainfuck: yes
  • Haskell: yes
  • C#: yes
  • GolfScript: yes
  • ><>: I have no idea
  • J: I think so, the generating sequence is almost identical
  • Hexagony: I think so
  • Python: yes
  • COW: I have no idea
  • GolfScript: yes
  • Jelly: I think so
  • Ruby: yes
  • Mathematica: the one which isn't a built-in could
  • DC: yes
  • K: yes
  • Prelude: I think so
  • Hexagony: I think so
  • Java: yes
  • Ruby: yes
  • TI-BASIC: possibly, I haven't checked whether the roots of the characteristic equation are as nice
  • GolfScript: yes
  • 05AB1E: I think so
  • C#: yes
  • PowerShell: yes
  • FAC: I think so
  • Desmos: yes
  • JavaScript: yes
  • Cy: yes
  • Cubix: I think so

There should not even be a question as to whether it's a dupe or not.

What should we do in similar situations where a old question is being "replaced" with a newer similar question?

Before the newer question is posted, there should be a specific discussion on meta as to what the best way forward is for that question. (I'm sure there's an older meta question about this, but I can't find it).

In this case two people pointed out different potential dupes to totallyhuman in the sandbox, and both of them received upvotes on their comments, but totallyhuman decided unilaterally that they knew better, and only started a discussion on meta after the question had been closed. That meta question made it quite plain to me that they had a solution in search of a problem. The resulting situation is something which we can point to in future to show people why they should discuss the older question on meta first.

  • 1
    \$\begingroup\$ For the record, yes, the ><> program can be copied with minor modifications to make it do fibtraction (change the 0 and 1 to 1 and 2, and replace the + with -). \$\endgroup\$
    – Not a tree
    Commented Jul 22, 2017 at 4:49
  • \$\begingroup\$ @Notatree The ><> program actually prints a stream of fibonacci numbers, which is not allowed by the second challenge. \$\endgroup\$
    – Wheat Wizard Mod
    Commented Jul 22, 2017 at 16:44
  • \$\begingroup\$ @WheatWizard, that is a good point. Although I think you can make that complaint about many of the programs in this list. \$\endgroup\$
    – Not a tree
    Commented Jul 22, 2017 at 22:10
  • 2
    \$\begingroup\$ In the Fibonacci challenge many submission went for the infinitely generating sequence. That makes many of the answers in the fibtraction one quite different, let along the built in presistance and the newer languages that got in \$\endgroup\$
    – Uriel
    Commented Jul 23, 2017 at 1:00

Yes, it is

As HyperNeutrino noted, in languages with Fibonacci sequence builtins, there is a significant difference in the code. But not all languages have Fibonacci sequence builtins (most don't!).

For example, here's Haskell code for the Fibonacci sequence:

f 0=0
f 1=1
f n=f(n-2)+f(n-1)

And here's Haskell code for the Fibtraction sequence:

f 0=1
f 1=2
f n=f(n-2)-f(n-1)

There is a grand total of three bytes changed between the two solutions. That is a trivial difference.

The author intended it to be a replacement for the old Fibonacci sequence challenge, but it's not a good replacement, because the challenge is about generating a different (though extremely similar) sequence. If the community decides that a new Fibonacci challenge is needed, it would be much better to just rewrite the Fibonacci sequence challenge, and then close both of the existing challenges as dupes of that one.

  • 1
    \$\begingroup\$ Is the current fibonacci challenge really bad enough that we should make a new challenge? Anyway that's probably not part of this question, it more belongs here. Aside from that, I think this answer is largely correct, but I think you could strengthen your argument by pointing out that since the only difference between the two are the initial conditions and the weights in the recursive function, allowing fibtraction as a non-dupe would generally allow any other set of coefficients, too. \$\endgroup\$ Commented Jul 20, 2017 at 2:19
  • \$\begingroup\$ @FryAmTheEggman Literally the second sentence of the question is about how the author intended it to replace the old challenge. \$\endgroup\$
    – user45941
    Commented Jul 20, 2017 at 2:20
  • \$\begingroup\$ The actual question posed is whether or not it is a duplicate - the only part that seems related to the replacement is where it asks what should be done in similar situations. If you think that is the general answer then I think you should reword what you said because I didn't get that impression at all. As it stands I think you are answering the other question. \$\endgroup\$ Commented Jul 20, 2017 at 2:26
  • 5
    \$\begingroup\$ Upvoted for the answer to the actual question, although I agree with FryAmTheEggman that the last paragraph is irrelevant and I disagree with the implied support for the position that the Fibonacci sequence challenge needs a replacement. \$\endgroup\$ Commented Jul 20, 2017 at 9:12
  • 1
    \$\begingroup\$ @PeterTaylor I did not mean to imply support for replacing the Fibonacci challenge. I merely meant that rewriting a better Fibonacci challenge instead of an almost-Fibonacci challenge would be a better solution, if there is actually a problem. I can see how my words could be misinterpreted, so I'll reword the last paragraph. \$\endgroup\$
    – user45941
    Commented Jul 21, 2017 at 2:43

It is not a dupe.

Many languages have a built-in to get the Fibonacci Sequence, or to get the z-th Fibonacci number, or to check if a number is a Fibonacci number, etc. Or all of them. However, most languages don't have a built-in for Fibtraction Sequence numbers.

For example, here are two programs to get the z-th element of each sequence, in Jelly:

Fibonacci  : ÆḞ
Fibtraction: 1_@¡3

Evidently, there's a significant difference here that many languages with a lot of builtins can't use their Fibonacci builtins for this challenge.

  • 7
    \$\begingroup\$ "Additionally, the Fibonacci Sequence challenge is quite old..." is irrelevant to the question of whether or not it's a dupe, and certainly isn't an argument in favour of your thesis that it isn't. \$\endgroup\$ Commented Jul 20, 2017 at 8:12
  • \$\begingroup\$ @PeterTaylor That's a good point. Since it's not helpful to my point and it's irrelevant, I'll just remove it. \$\endgroup\$
    – hyper-neutrino Mod
    Commented Jul 20, 2017 at 15:11
  • \$\begingroup\$ This might be true in theory but if you look at the question in reality even the answers with builtins have a manual implementation version. Additionally this doesn't mean the questions aren't dupes either \$\endgroup\$
    – Downgoat
    Commented Jul 21, 2017 at 4:12

You must log in to answer this question.

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