• Dmytro Chaurov

The most controversial programming language in the world is JavaScript



JavaScript, also known as Mocha, LiveScript, JScript, and ECMAScript, is one of the most widely used programming languages in the world. There is a JavaScript interpreter installed and in use on almost every single personal computer in the world. The main reason for JavaScript's popularity is that it serves as the web's primary scripting language.


Despite being widely used, few people are aware of JavaScript's excellent dynamic object-oriented general-purpose programming language capabilities. Why is this a secret? Why does this terminology cause so much confusion?



The Title


The Java- prefix implies that JavaScript is connected to Java in some way, either as a subset or a less advanced Java version. It appears that the name was chosen with the goal of confusing people, and confusion leads to misunderstanding. JavaScript is not Java that is interpreted. Interpreted Java is Java. It's a distinct language, JavaScript.


Related to how Java is similar to C in terms of syntax, so is JavaScript. Though neither Java nor C are subsets of the other, respectively. In the applications that Java (fka Oak) was designed for initially, it performs better than Java.


The company that created Java, Sun Microsystems, did not create JavaScript. Netscape is where JavaScript was created. LiveScript was the initial name, but it wasn't sufficiently ambiguous.


The prefix "-Script" implies that the language is a scripting language rather than a true programming language. But in reality, it comes down to specialization. JavaScript compromises efficiency for expressiveness and dynamism when compared to C.


In C's Clothes: Lisp


The clumsy for statement and curly braces in JavaScript's syntax give the impression that it is a standard procedural language. This is false since functional languages like Lisp and Scheme share more similarities with JavaScript than C or Java do. In place of lists and objects, respectively, it uses arrays. They are first class, functions. It has fasteners. Without needing to balance all those parentheses, lambdas are obtained.


Typecasting


To function in Netscape Navigator, JavaScript was created. Due to its popularity there, it is now a part of almost every web browser as standard equipment. Typecasting has happened as a result. A wide range of applications that are not related to the Web are well suited for JavaScript.


Adaptive Target


JavaScript's initial iterations were fairly rudimentary. They lacked inheritance, inner functions, and exception handling. It has developed into a full object-oriented programming language in its current state. However, a lot of viewpoints about the language are based on its cruder varieties.


The ECMA committee, which is in charge of the language, is creating extensions that, despite their good intentions, will make one of the main issues with the language—the fact that there are currently too many versions—worse. This causes a muddle.


Design Mistakes


There is no perfect programming language. The error-prone with statement should be avoided because JavaScript has its fair share of design flaws, such as overloading + to represent both addition and concatenation with type coercion. Too many restrictions apply to the use of restricted words. Both the literal regular expression notation and the addition of the semicolon were grave errors. Programming issues resulted from these errors, which called into question the language's overall design. Fortunately, a strong lint program can reduce the severity of many of these issues.


Ineffective Practices


Some of the earliest JavaScript implementations had a lot of bugs. This gave the language a terrible impression. To make matters worse, their implementations were built into dreadfully glitchy web browsers.


Bad Books


The majority of JavaScript books are rather bad. They encourage negative habits, have mistakes, and bad examples. Important linguistic nuances are frequently misunderstood or ignored outright.





Object-Oriented


JavaScript is object-oriented, right? It provides methods that operate on that data as well as objects that can hold data. One object may contain another. Although it lacks classes, constructors provide the same functions as classes, such as serving as storage for class variables and methods. It has prototype-oriented inheritance rather than class-oriented inheritance.


The two primary methods for creating object systems are aggregation and inheritance (is-a) (has-a). JavaScript is capable of both, but because of its dynamic nature, it excels at aggregation.


Because JavaScript does not offer information hiding, some claim that it is not fully object oriented. In other words, all members of an object are public, therefore it cannot have private variables or private methods.


It turns out though that private variables and private methods are actually possible for JavaScript objects. Since JavaScript is the most misunderstood computer language in the world, few people comprehend this, of course.


Because it does not provide inheritance, some contend that JavaScript is not fully object oriented. But it turns out that JavaScript also offers various forms of code reuse in addition to conventional inheritance.


Сonclusions


Despite many problems and confusion with JS, it remains the most popular programming language of our time. Now it is difficult to imagine the Internet without it. Our company has worked with various projects and frameworks (such as angular and react) based on js for various companies in both the industrial and financial sectors. We'll be content to help you transfer your backend to microservices or set up a CDN for the frontend. Our architects will be happy to advise you on projects of any complexity based on JS and more.




6 views0 comments

Recent Posts

See All