I vastly prefer the second approach, as the first one doesn't actually challenge the core assumption that gives the threat of gatekeeping its teeth.
Also the differentiation between writing a program (very *very* roughly, an executable sequence of instructions) and markup (very *very* roughly the declaration of some data upon which a program acts) is an important one, and I don't think we should let gatekeepers co-opt that distinction to be assholes.