The answer is both YES and NO. It depends on the situation. If the statement is taken verbatim then yes, a gun will almost always be the better weapon. What do I mean by that? By taking the statement literally I mean looking at the word “fight“. “Fighting” and “being attacked by a criminal” are two vastly different things. Fighting implies consent where two parties agree to fight in a certain area, often within certain rule sets, whether it is official rules set by a governing body or whether it is social rules imposed by society. Fighting implies that two people face each other and test skills so that there can be a winner. The desired outcome is to prove that one person is more skilled than the other. So if you put two people in front of each other and arm one with a knife and the other with a gun and both can have their weapons ready to use, the weapon with the greatest tactical advantage will win. A knife requires that the fighter must be close to the target to inflict damage. A gun can be used at a distance.
The “action vs reaction principle” makes it an almost certainty that the bullet will be faster than the person running towards the other fighter with his blade if both fighters were facing each other with their weapons at the ready. The action vs reaction principle simply means that action is always faster than reaction. Test it for yourself, get a friend to stand in front of you and tell him that you are going to clap your hands together and as soon as you move he must also clap and try to be faster than you. You will always be faster. Every single time. So, the gun is tactically superior to the knife in a controlled fighting environment where both parties are ready to use their weapons.