The PADI way gets you into the sea ASAP. It's only really safe to do this in benign conditions (e.g. warm, clear, non-tidal water in the Red Sea). But it quickly gets people hooked on what diving has to offer, and you can add in skills for hostile waters (cold, murky, strong currents, deeper, penetrating wrecks and caves, etc) later if and when you need to.
The BSAC way involves spending 6 months to a year in a training pool. You have to really, really want to dive to stick with it. They've stopped it now, but they used to test people by having them e.g. tread water for 3 minutes holding a weight belt above their heads (the A-test) which you will never ever have to actually do as a diver. It's meant to produce divers who can handle fairly hostile conditions on their very first sea dive (tho' IMHO it doesn't).
While some would think this is a horrible thing to say, I would say when teaching programming, the single most important thing is "amount of work required to do something the user feels is interesting". Once they are interested and understand variables, loops, and functions, then teaching them proper habits and "proper languages" is much easier.