Here is a visual representation of the different script loading methods and what that means for your page: This image is from the HTML spec, copied and cropped to a reduced version, under CC BY 4.0 license terms. Get references to all the buttons on the page in an array format. As a result, they tend to be faster and more efficient to execute than interpreted languages. There are advantages to both types of language, but we won't discuss them right now. Wikipedia uses Java to execute its queries when you search on their website or app, and it even controls the systems in Mars rovers. But, modern JS engines perform similar steps as other compilers. Instead, an interpreter in the browser reads over the JavaScript code, interprets each line, and runs it. 5) -> hmm scripting on the server!!! For example, maybe you have some game data files to load, which will be needed when the game actually begins, but for now you just want to get on with showing the game intro, titles, and lobby, without them being blocked by script loading. About #5: "not Java". So-called Application Programming Interfaces (APIs) provide you with extra superpowers to use in your JavaScript code. in C/C++. Since then, this language has become extremely. Which mean it will split your code into atomic tokens like. Whether you're just getting started with programming or want to level up by learning a new language, you can learn at your own pace from leading companies and universities on Coursera. The user needs to do no more than waiting at the end of the line. Java was a known tool of the day. in the past, every programming language was fairly easy to categorize as one or the other, but the modern approach of running the source code created a sort of in-between area. By that definition Perl, Python, Ruby, JavaScript and shell scripts and the like are interpreted (even if they use intermediate steps like bytecode or even native code). Optimization isn't possible for binary code. @jfriend00 I don't necessarily disagree but I think there is a definitive answer here. Additionally, the compiled app runs in a virtual machine which keeps itself separate from the underlying device it is running on. The meaning is slightly different in the two contexts, but related, and both approaches (server-side and client-side) usually work together. Note that sometimes you'll come across bits of actual JavaScript code living inside HTML. There are many, many cases where you do actually need to do number crunching in web applications, but developers end up either not doing them (because they are expensive) and/or delegate the task to an external server: either the database server or some other server. Because of its popularity and pervasiveness, theres an abundance of educational material about JavaScript. Did you add your