5 Common Myths About JavaScript

Share this article

Despite being the world’s most widely-used programming language, JavaScript is the most misunderstood and undervalued. The situation has improved during the past few years, but these myths still permeate the IT world.

1. JavaScript == Java

UK developer Jeremy Keith devised the best explanation:
Java is to JavaScript as ham is to hamster
The names are confusingly similar but Java and JavaScript are not related. There are a number of superficial similarities, but the same can be said for any language adopting a C-like syntax. The language was originally named Mocha, became LiveScript, and finally JavaScript at a time when Java was heralded as the savior to life, the universe and everything. The name reflected Netscape’s marketing efforts — not any underlying relationship.

2. JavaScript is a “toy” language

The “script” part of the name gives the impression that JavaScript is some type of cut-down, macro-like or less capable version of Java. It’s not. If anything, popular JavaScript features such as closures and lambda functions are now finding their way into other languages (PHP, C# and Java itself). JavaScript is most commonly found as a browser-based interpreted language, but that doesn’t mean it’s any less powerful or competent than an OS-based compiled language.

3. JavaScript is only found in browsers

Most people experience JavaScript as an embedded browser language but it (or languages based on the ECMAScript standard) can be found in many other places, e.g.
  • Mozilla’s Firefox browser and Thunderbird email client use JavaScript for some application processes
  • Flash ActionScript is based on JavaScript
  • PDF files can have JavaScript embedded
  • many Microsoft and Apple desktop widgets use JavaScript
  • OpenOffice.org provides JavaScript support
  • webOS, used in Palm mobiles, uses JavaScript for its application framework
  • JavaScript can be used as an application programming language on the GNOME desktop and as a scripting language in Windows.
JavaScript does not have a strong server-side presence but several dozen implementations exist. The day we’ll be able to develop JavaScript on the client and the server can’t come soon enough!

4. JavaScript is inconsistent and buggy

Those days are long gone. Browser vendors adhere to an agreed standard (ECMAScript) and JavaScript-specific issues are rare. However, browser features are not always consistent: DOM manipulation particularities, event handling idiosyncrasies, and browser quirks all cause development headaches. That’s not a fault with the language itself, but the browser objects you can access with JavaScript.

5. JavaScript is not object-orientated

Confusion arises because JavaScript does not provide obvious class-orientated inheritance. The lack of a ‘class’ keyword causes many developers to assume JavaScript is a functional language. JavaScript offers prototypal inheritance. The real beauty is that you can write functional language code or use classical inheritance patterns with private properties and methods. Furthermore, everything in JavaScript is an object — including native types and functions. How many other languages offer constructs such as:

var x = new Number(123);
var opp = "oops".substr(0,3);
var f = function() { return function() { alert("hello!"); }; };
What about passing a function as a parameter (it’s just another object)…

var Add = function(a, b) { return a + b; };

function Calculate(func, a, b) {
	return func(a, b);
}

var s = Calculate(Add, 1, 2); // s = 3
Or perhaps extending native types…

// reverse any string
String.prototype.Reverse = function() {
	return this.split("").reverse().join("");
};

var h1 = "Hello!";
var h2 = h1.Reverse(); // !olleH
JavaScript can be a little confusing at first but you’ll miss its elegance and power when you return to other languages. Still don’t believe me? Did you sign up for Kevin Yank’s JavaScript Live course? I’ll see you in the forums.

Frequently Asked Questions about JavaScript Myths

What is the difference between JavaScript and Java?

Despite the similarity in their names, JavaScript and Java are fundamentally different. JavaScript is primarily a scripting language for web development, used to enhance interactivity and provide rich web content. On the other hand, Java is a general-purpose programming language that can be used to develop a wide range of applications, from mobile apps to enterprise-level systems. They have different syntax, usage, and capabilities.

Is JavaScript only for client-side scripting?

No, JavaScript is not limited to client-side scripting. While it was initially designed for client-side scripting, the development of Node.js has enabled JavaScript to be used for server-side scripting as well. This means JavaScript can now be used to develop full-stack applications.

Is JavaScript a weakly typed language?

Yes, JavaScript is a dynamically typed or weakly typed language. This means that you don’t have to declare the data type of a variable when you create it. The JavaScript engine determines the type of a variable at runtime. However, this doesn’t mean that JavaScript is inferior to statically typed languages. Each has its own strengths and use cases.

Is JavaScript slower than other programming languages?

JavaScript’s performance can’t be generalized as slower or faster than other languages. It depends on the task at hand. For tasks related to the DOM (Document Object Model) or web APIs, JavaScript often outperforms other languages. However, for CPU-intensive tasks, languages like C++ or Java might be faster.

Is JavaScript not secure?

JavaScript, like any other language, has potential security issues. However, these issues are often due to poor coding practices rather than the language itself. Using best practices and secure coding guidelines can mitigate most of these risks.

Can JavaScript access my personal data?

JavaScript can’t access personal data unless it’s provided by the user or allowed by the browser settings. Modern browsers have strict security measures to prevent unauthorized access to personal data.

Is JavaScript hard to learn?

The difficulty of learning JavaScript can vary depending on your previous programming experience. However, JavaScript is generally considered one of the easier programming languages to start with, especially for web development.

Is JavaScript only used for web development?

While JavaScript is primarily used for web development, it’s not limited to it. With the advent of technologies like Node.js, JavaScript can be used to develop server-side applications, desktop applications, mobile apps, and even games.

Is JavaScript a compiled language?

No, JavaScript is an interpreted language. This means that JavaScript code is executed line by line by the JavaScript engine in the browser. However, modern JavaScript engines use techniques like Just-In-Time compilation to improve performance.

Is JavaScript going to be replaced by another language soon?

While it’s impossible to predict the future with certainty, JavaScript is currently one of the most popular and widely used programming languages. Its use in web development is almost ubiquitous, and it’s increasingly being used in other areas of software development as well. Therefore, it’s unlikely to be replaced anytime soon.

Craig BucklerCraig Buckler
View Author

Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.

javascript
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week