Name: Anonymous 2012-05-02 3:07
>global by default: OMG! accidental globals!
solution: detect global accesses statically or dynamically; since you "shouldn't be using globals anyway", there is no problem with disallowing them period
>local by default: OMG! accidental rebinding!
oops, now instead of accidentally creating globals, you risk rebinding to existing locals instead of creating a new one. this is much harder to detect--enjoy your obscure bugs! combine this with forced hoisting of locals for extra fun I'M LOOKING AT YOU FIOC
>neither by default: god tier
no confusion; NO EXCEPTIONS
solution: detect global accesses statically or dynamically; since you "shouldn't be using globals anyway", there is no problem with disallowing them period
>local by default: OMG! accidental rebinding!
oops, now instead of accidentally creating globals, you risk rebinding to existing locals instead of creating a new one. this is much harder to detect--enjoy your obscure bugs! combine this with forced hoisting of locals for extra fun I'M LOOKING AT YOU FIOC
>neither by default: god tier
no confusion; NO EXCEPTIONS