We really want to initialize the timeSinceLastAttack float to timeBetweenAttacks in Start() or Awake(), so that we can fire the attacks immediately.
This usually wont be a problem, but if we would have a very heavy weapon for example with a high timeBetweenAttacks (e.g. 5 seconds), we would have to be in the scene for 5 seconds until we can start attacking.