Hacker News new | past | comments | ask | show | jobs | submit login

> The major JS frameworks look like languages onto themselves (...) it is quite possible to turn JS into something very unrecognizable.

That doesn't mean anything. With enough determination, anything can be turned into “something very unrecognizable”. Heck, sometimes the results are relatively pleasant even: http://libcello.org/ . But, if a language doesn't allow you to define basic abstractions like complex numbers (not to mention slightly more elaborate ones, like queues that are indistinguishable from one another if they contain the same elements in the same order), then that obviously reflects very poorly on its abstraction facilities.

> C++ templates allow for almost anything. I have seen incredibly strange things done to the language with templates.

What you can't do in C++, however, is make your abstractions not leak. Every template library is one template specialization away from being broken. This is unlike languages that enforce their abstractions by more robust means, like parametricity and macro hygiene.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: