Thanks, this is an excellent explanation. Let me add something. You say you need OOP in JavaScript or else you cannot make jQuery. But what is jQuery needed for? Largely to fix what sucks with JavaScript. Why does JavaScript suck? Partially browser issues but largely because it is used far beyond its intended purposes. Software companies were ignoring all the time that HTML is for documents meant for reading, and based on the puny HTML forms that were originally just meant to do stuff like post a comment or register your address for purchasing from a webshop, built whole CRM and accounting and whatnot systems. They treated HTML and JavaScript as a General Client for doing any client-server app.There is even an online version of PhotoShop and similar crazy things. Meanwhile, everybody else who used the proper tools for the job and used desktop software for things where it makes sense and so on, so basically who did not try to force a tool into something it was not meant to did not have the whole problem to begin with. Of course in a sense it meant a competitive disadvantage but that does not always matter so much.
My point is simply that it is not really just stupidity. It is not needing to go out on the edge. It is about not needing to build a query language into one that was totally not meant to because not needing to massage an XHTML document into a GUI because they use documents for documents and GUIs for GUIs.
But you are right, programming science is great. Just… don’t expect to use it if you work for people who don’t need to do almost-impossible things :)
JavaScript is probably the most underestimated programming language ever. I am not going into technical details here, but here are the keywords: prototypes, first-class functions. It is a language designed to be embedded in an application; and web browsers are just one of the possibilities—ActionScript in Flash programming is almost the same language; you can use JavaScript in your own applications; you can develop websites in JavaScript.
What people perceive as “JavaScript sucks” almost always means “web browsers suck”. If you would write web browser scripts in Java or C++, you would get into exactly the same kind of problems if each browser (and each version of the browser) would provide you different objects, with different method and variable names, or even with the same methods and variables which would do different things. (Actually, this is how Microsoft tried to destroy Java once, by providing a widely used but slightly different version, to make Java programs behave differently in different environments.)
Thanks, this is an excellent explanation. Let me add something. You say you need OOP in JavaScript or else you cannot make jQuery. But what is jQuery needed for? Largely to fix what sucks with JavaScript. Why does JavaScript suck? Partially browser issues but largely because it is used far beyond its intended purposes. Software companies were ignoring all the time that HTML is for documents meant for reading, and based on the puny HTML forms that were originally just meant to do stuff like post a comment or register your address for purchasing from a webshop, built whole CRM and accounting and whatnot systems. They treated HTML and JavaScript as a General Client for doing any client-server app.There is even an online version of PhotoShop and similar crazy things. Meanwhile, everybody else who used the proper tools for the job and used desktop software for things where it makes sense and so on, so basically who did not try to force a tool into something it was not meant to did not have the whole problem to begin with. Of course in a sense it meant a competitive disadvantage but that does not always matter so much.
My point is simply that it is not really just stupidity. It is not needing to go out on the edge. It is about not needing to build a query language into one that was totally not meant to because not needing to massage an XHTML document into a GUI because they use documents for documents and GUIs for GUIs.
But you are right, programming science is great. Just… don’t expect to use it if you work for people who don’t need to do almost-impossible things :)
JavaScript is probably the most underestimated programming language ever. I am not going into technical details here, but here are the keywords: prototypes, first-class functions. It is a language designed to be embedded in an application; and web browsers are just one of the possibilities—ActionScript in Flash programming is almost the same language; you can use JavaScript in your own applications; you can develop websites in JavaScript.
What people perceive as “JavaScript sucks” almost always means “web browsers suck”. If you would write web browser scripts in Java or C++, you would get into exactly the same kind of problems if each browser (and each version of the browser) would provide you different objects, with different method and variable names, or even with the same methods and variables which would do different things. (Actually, this is how Microsoft tried to destroy Java once, by providing a widely used but slightly different version, to make Java programs behave differently in different environments.)