Recent Posts

LightBlog

Friday

What is the difference between Java and JavaScript?

Java vs JavaScript

Because of the similar name, many people assume that JavaScript is similar to the Java language. But it’s not true. Similar like water and watermelon, JavaScript has nothing to do with Java. They only share a common word “Java”. In this geek story we’ll find out the difference between JavaScript and Java, which will help you to understand both languages easily. So, let’s start with the basic definition –

What is Java and JavaScript?

Java is a general purpose programming language which was developed by Sun Microsystems with one mantra in mind – ”write once, run anywhere.” Where JavaScript is a client side scripting language for HTML, which was developed by Netscape, Inc. After the node.js, JavaScript is not just a client side scripting language. Now, not only you can use JavaScript in your server, but also do object oriented development.

By nature

Java is fast, reliable and secure. From desktop to web applications, scientific supercomputers to gaming consoles, cell phones to the Internet, Java is used in every corner.  It is intended to let application developers “write once, run anywhere” (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. The latest versions are Java 12, released in March 2019, and Java 11, a currently supported long-term support (LTS) version, released on September 25, 2018.

And JavaScript runs on the client side of the web, which can be used to design / program how the web pages behave on the occurrence of an event. JavaScript is an easy to learn and also powerful scripting language, widely used for controlling web page behaviour. JavaScript enabled interactive web pages and is an essential part of web applications. JavaScript engines are now embedded in many other types of host software, including server-side in web servers and databases, and in non-web programs such as word processors and PDF software, and in runtime environments that make JavaScript available for writing mobile and desktop applications, including desktop widgets.

Execution Environment

Java is considered as a compiled programming language. Java programs are first compiled into bytecode and store in class files, then executed by the JVM. On the other hand JavaScript is considered as an interpreted scripting language where programs are directly executed by web browsers. So basically Java needs JDK or JRE for execution, where JavaScript only needs a browser and almost every modern browser supports JavaScript.

Static vs Dynamic Type

JavaScript is a dynamic typed language, where Java is a statically typed language. Which means, Java checked the variable type at the compile time. The programmer must specify the variable type like integer, double, string, etc. in Java when they were created. But, like other scripting languages, JavaScript verified the variable type at runtime. This dynamic type checking increase the  productivity of a programmer. The variables in JavaScript declared using “var” keyword and can accept different kinds of values like String, numeric and boolean etc.

OOP

Though both JavaScript and Java support class and object, but Java is a true object oriented programming language where JavaScript is an object oriented scripting language. Java follows class based inheritance – a top down, hierarchical, class-based relationship whereby properties are defined in a class and inherited by an instance of that class. On the other hand, JavaScript inheritance is a prototype – all objects can inherit directly from other objects. Hierarchy is accomplished in JavaScript by assigning an object as a prototype with a constructor function.

Applicability

JavaScript has its own space. Integrated with HTML and CSS, JavaScript work as a soul of a modern web website and with the development of node.js, correctly JavaScript also server many websites. But, Java is everywhere. Its use of enterprise software development, scientific computing, big data analytics, general purpose programming of hardware, server-side technologies like Apache, JBoss, Geronimo, GlassFish, etc.

Multithreading

Java supports multithreading where multiple programs can be executed at the same time. In contrast, the JavaScript does not support multithreading feature.

Scoping

The scope in java is block based where the variable goes scope out when control reaches out of block only till it’s not an instance or class variable. Conversely, in JavaScript function based scoping is used where the variable can be accessed inside the function it is declared.

Memory

Java program uses more memory (computer) to function properly. On the other hand, JavaScript requires less memory and is therefore used in many web pages. Java programs can sometimes require a lot of computer memory to function properly, which can cause a computer to slow down or another program to operate more slowly. While Java programs can be developed to do very powerful things, higher memory usage is a disadvantage. JavaScript, however, uses less memory (very little in some cases) to do its processing and function properly. It is a common programming language used in many web pages today because of its low memory requirement and ability to provide many different features on a web page.

Execution speed

JavaScript code is often faster, sometimes almost instant. Java programs take a little bit of time (several seconds or more) to process.

File extension

Java program has the file extension “.Java” and translates source code into bytecodes which are executed by JVM(Java Virtual Machine). JavaScript file has the file extension “.js” and it is interpreted but not compiled, every browser has the Javascript interpreter to execute JS code.

That’s not all but these are the main difference between Java and JavaScript. Hope you like it and let me know your opinion in the comment box.

Thank you!

No comments:

Post a Comment