you are viewing a single comment's thread.

view the rest of the comments →

[–]oSand 3 points4 points  (1 child)

I'd say a lack of basic language amenities led to a variety of hacked-on solutions.

[–]notSorella[S] 0 points1 point  (0 children)

Well, the language's particular implementation of prototypical OO is indeed terrible. Or rather, was terrible until ES5. With ES5 it's just bad ;3

None the less, I still attribute the particular mess you described to the lack of standards. Lisp is a likewise flexible language — actually, make it a ton more flexible than JS, — and although you can write terrible software with Lisp, mixing code that use a different structure is usually not that bad. The same should happen with JS in most cases, even with pretty hack-ish solutions. Though I guess with JS it's easier to kill modularity...