Including a reasonable standard object system. With Javascript, different brilliant people have different ideas about how to handle objects and prototypes and have "wonderful" ideas for dynamically adding mix-ins, and manipulating what "this" should refer to... All of this leads to an absolute nightmare of coordination. The danger isn't as much with newbie programmers but with brilliant programmers who have individual styles and strong opinions. (And all strong programmers have strong and individual styles and opinions.)
Including a reasonable standard object system. With Javascript, different brilliant people have different ideas about how to handle objects and prototypes and have "wonderful" ideas for dynamically adding mix-ins, and manipulating what "this" should refer to... All of this leads to an absolute nightmare of coordination. The danger isn't as much with newbie programmers but with brilliant programmers who have individual styles and strong opinions. (And all strong programmers have strong and individual styles and opinions.)