Good question, and one I'm sure many owners are wondering about. I am all for the use of tools in training, as long as you use them properly. In a situation like this, my favorite tool is a Halti or Gentle Leader. You can purchase them at just about any pet store. For instructions on how to use it, go here.
The Halti lead creates an unpleasant, but not painful, pressure across the bridge of the nose to help stop the dog from being too forward driven and dragging you off. Be sure that you are only using pressure to correct an unwanted behavior, and then keeping the line slack when your dog is behaving, so that they can differentiate between what is punishment and what is not.
When the dog goes to pull of towards another dog, a sharp pop of the leash sideways and calling their name will help regain attention. Note, be sure you immediately release all tension after the correction. Do not strangle your dog. Keep walking a small distance to put some space between you and the other dog. If your dog is food or toy motivated, bring a snack or a squeaky toy to help focus their attention. After you have broken their focus by snapping the lead, and have moved forward, call them to you so that they are facing you. Present the toy or treat, but do not give it to them yet. Make them sit down and give the "watch me" command. When they have focused on you for at least three seconds, reward, and continue with your walk. Employ this method every opportunity you get.
Do not stop if your dog is misbehaving - if you can't get them to pay attention to the reward, and they are still out of control, use the pop of the lead and take away the slack in the lead. Pull your dog in close to your hip, on the inside (away from the other dog, with you between your dog and the other). Leave just enough slack so that the Halti isn't putting pressure on the muzzle, say "No" firmly, and do not focus on your dog or the other dog. Keep walking straight ahead like a man on a mission. If you stop to fuss, your dog will get all the more agitated. If they do pull while at your side, give a small jerk in towards your stomach, and again, tell them "No" firmly.
A good way to help curb barking is to teach your dog to speak on command. I have broken several dogs of habitual barking by using this trick. It teaches them to want to use their voice to get treats, rather than to bark for no reason. If your dog just loves to bark regardless, you may try using a pop can or bottle with rocks in it, shaking it when your dog barks to break their attention.
When it comes to the puller, I do not suggest walking them on a retractable lead, or with a flat nylon collar or a harness. Flat nylons can damage the trachea with excessive pulling, and harnesses just help the dog to dig in more and pull harder.