5 ms·
I enjoyed the read. Thank you! In typical internet fashion I'd like to share my thoughts! Also, I am not a pro with Javascript, so bear that in mind. > ...Java
by zelon88 7y ago
I enjoyed the read. Thank you! In typical internet fashion I'd like to share my thoughts! Also, I am not a pro with Javascript, so bear that in mind.
> ...Java and C++ — meaning that JavaScript itself must have at least the same abilities and capabilities to achieve the things it needs to achieve as these languages.
Javascript, Java, and C++ are all Turing complete languages. Technically so is a Microsoft Excel workbook. Meaning if it is technically possible to compute something; you can do it using any of these languages.
> The multi-paradigm nature of JavaScript also means that patterns can be adapted for its requirements and implemented for best results. You’re not bound to a singular inheritance pattern. With JavaScript, you have a choice of pseudoclassical, prototypal, and differential, and even functional inheritance.
This right here is actually why I am not a fan of Javascript. Can you see how it can be confusing to understand all the different ways of writing Javascript? And what typically happens is they all get combined into one SPA written by several different authors. Not to mention that Javascript inheritance and the way it works under the hood seems less intuitive than other languages. For example, "class" is just syntactical sugar and "inheritance" in Javascript just means "delegation."
And then there's the point you made about floating point precision. So while I believe you when you say that Javascript is easy enough to pick up, it's not very approachable. At least not for me. Perhaps you're right though, and I just to spend more time with it.
Feel free to correct me.
- jwalton 7y ago> For example, "class" is just syntactical sugar This was true up until we got #private vars in JavaScript. Now classes have their own very special rules very separate from prototype inheritance, to make this language even more confusing.
- danShumway 7y agoI'm still a little upset about that. Privates should have been held back until we could figure out how to build them in a more generic, consistent way. Their implementation is very out-of-character with the ideals of the extensible web. They feel like a hack designed to solve a very specific high-level problem, rather than a low-level tool that can be adapted in flexible ways. The whole thing honestly felt bad. There was a lot of debate around the standard, some of it pretty toxic. Things that were problematic got pushed through because nobody could think of a better solution and they didn't want to delay. The debate kind of degraded from there and people started accusing the champions of not caring. It's... I dunno. The whole thing felt like a bad picture of the JS community, and I wish the standard had been temporarily binned so we could get rid of the worst actors and then think of something else in an environment with fewer emotions. There was a never a chance for something good to come out of an environment that toxic. And there was no reason that privates needed to be standardized right now. It's OK to take things slowly.