Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave

Evolution of JavaScript

Discuss About The Meeting Foundations Software Engineering?

 In order to increase interactivity of the users with a website and offloading the user data validation at the client end the JavaScript language is used. JavaScripts is also able to combine multiple libraries whether it is locally available or imported from remote location under a single name space for a web page.   

JavaScript has turned into the predominant server side scripting language for the development of present day web applications. Today, 95 % of the sites have customer side JavaScript, regularly comprising of thousands of lines of code per application.

 With the increasing popularity of the internet in the beginning of the 1990’s the users were mainly connected with the internet through the 28.8 Kbps modems. As the size of the pages were increasing at that time, thus it was time consuming for the applications to validate the user inputs in a form by submitting them to the server and get the response from the server with a roundtrip of data packets. This lead to the requirement of the scripting language that can help in validating the user inputs on a form and does not require any form post back to the server for validation.

Following report contributes to the discussion on the development of the Javascript language, different time periods related to its evolution. In addition to that, overview, evaluation of its different features and assessment of the features of the Javascript language is also provided in different sections of this paper.  

Brendan Eich developed the well programming language known as JavaScript. It is nothing but an interpreted programming language which is used for enhancing the interactivity of various kinds of web pages (Bray, 2017). On the contrary this language has opened the doors to various kinds of security activities. JavaScript is known to be a lightweight, object oriented language which generally comes up with first class function and is known to be best for writing various kinds of web pages (Nikiforakis et al., 2012). In the domain of web engineering security is considered to be well known aspect for development of various kinds of web based system. Its framework is generally utilized for development of various kinds of web pages. Modern type of web browser generally has two kinds of restriction for enforcement of JavaScript which generally consist of mechanism of sandbox and policy of same origin (Sen et al., 2013).

Features of JavaScript

The development of JavaScript generally began in the year of the Nineteens. Netscape communication has a feeling of strong presence in the young web. The browser of this communication was development in the recent year. It was founded by the same group of people who took a part in the development of Mosaic in the early 90s. Marc Andreessen who is known as the founder of Netscape Communication and ex-Mosaic team need a method which is considered to be more dynamic in nature. The scripting language of web needed to be designed in such a way it can easily satisfy the need of various kinds of users. Sun and Netscape decided to change of LiveScript to known platform which is known as JavaScript.

 JavaScript was developed in a hurry way so various kinds of special features are need to be developed in a hurry into it. In the beginning it is seen that Netscape was seen to preferred option for all the time and at the same time Internet Explorer was being developed by Microsoft organization (Hedin & Sabelfeld, 2012). JavaScript made a considerable difference in the domain of user interface and so the various kinds of competitive browsers had no kind of choice and so they came up with the idea or goal for providing interface that is JavaScript. This typical kind of feature will JavaScript to act like a language and helped it in outgrowing. Internal name was provided to JavaScript which made use of various kinds of JavaScript (Hedin et al.,2014). Firefox which is known to be grandson of Netscape has implemented SpiderMoney which is known as name of the JavaScript engine. For many years, Jscript and spiderMonkey is still known to be premier engine of JavaScript.

JavaScript is known to be an open source or method of script writing which is used for general purpose. It is generally used for development of web and is currently embedded into HTML (Gómez et al., 2013). Instead of various kinds of commands which are based on output of HTML, JavaScript has many kind of HTML language which is being encoded into it. Over the various kinds of server, the codes are executed which is generally send to various kinds of clients.  

In other words, JavaScript is nothing but an object based language which is depended on various kinds of prototypes in spite of being class depended (Hackett & Guo, 2012). A prototype depended language like JavaScript in general does not provide any kind of distinction. It is simply based or depended on various kinds of objects.

Object-Based Languages

The origination of a document is generally based or depended on various kinds of documents which are based on protocol, name of domain, port or various kinds of URL from which various types of document is being loaded (Sridharan et al., 2012).  An important parameter which this particular policy does not limit the origination of the script.  JavaScript is designed in such a way that it cannot be easily accessed from another document which is being loaded from a different origin. It can be totally accessed from another document which is from a different kind of origin (De Leeuw, 2015). This particular technology has various types of scripts included in it which can be easily used for various kinds of external domain in the top level document of a webpage which is considered to be harmful or dangerous in many situations. Script hosting sites are generally inclusive of various kinds of parameter which is seen to a point of attracting various kinds of targets more specifically in cases of files of JavaScript which is generally included by various kinds of website.

To reduce risk, website should avoid various kinds of external JavaScript by making use of files of JavaScript from the similar website when it is seen or possible to use (Politz et al., 2015). Various kinds of external script which is generally retrieved by making use of connection based on HTTPS connection and generally should be stopped within a sub level of various kinds of frame based on HTML. It has an origin from iframe which is considered to be different from top- level of document.

JavaScript makes use of blends of compilation and interpretation which generally aims in providing best kind of flexibility and performance for various kinds of programs. JavaScript makes use of scripts for writing down various kinds of codes which is generally accessed when it is required (Oren et al., 2015). It is generally different from traditional based complied language which have certain of codes which are generally executed as per need or requirement. Various kinds of scripts on the other side are making. Recompilation is considered to be wasting of various kinds of processing time. In many cases it is seen many script on the flip side has been taking longer time for various kinds of compilation.

In many cases it is seen it provides fast feedback time with the various kinds of ongoing development. JavaScript can be easily used in other context in various kinds of web browser. Netscape developed or created server side JavaScript as a kind of CGI language and it can easily do the same kind of task which can be done by Perl or ASP (Osmani, 2012). Client side of JavaScript has mainly been developed by making use of conjunction with various kinds of pages based on HTML.

Features

               Discussion

Object- Based languages

JavaScript is well known object based or depended language for scripting.

Light weight

JavaScript is known to be a lightweight programming language.

Control statement

Every script in this JavaScript technology is based on the use of semicolon and the statement can be easily terminated by making use of semicolon.

Looping statement

Major of the JavaScript technology makes use of control statement which is based on C language.

Case Sensitive

JavaScript is a case sensitive programming language.

In-built function

An important parameter of JavaScript technology is the creation of new functions with various number of scripts. Generally, a function in JavaScript is declared with the help of keyword which is known as function.

Client  side technology

JavaScript provides various kinds of user with more control over the browser.

Light-weight

Source code examples demonstrating various kinds of feature’s and general programming

JavaScript method of validation. The HTML form of validation can be easily done by making use of JavaScript. The code for this given below:

function validate Form()
var y=document.forms["myForm"]["fname"].value;
if (y== "")
alert("Name must be filled out");
return false;

The above code is used in JavaScript so that user can easily get information regarding the fact if the Name parameter is left out vacant during the filling up of various kinds of form. So a message will be displayed containing the sentence” Name must be filled out “so that user can easily get an information regarding the fact he/ she has overlooked an important part of the form.

In addition to that, in the following segment the scope of the variables used in java scripts code snippets are described. Mainly, two scope for the variables are used; these are, function scope and global scope.

  • A variable can be declared in a function block or scope and utilized solely used inside the that function scope, i.e., not utilized inside any other function blocks ( defined using functionScopeOnly).
  • A variable is defined and declared inside a function scope however utilized in block scope (blockScopeOnly).
  • A variable is defined in function and utilized as a part of the two scopes (bothScopes).
  • A variable is declared inside a block scope and utilized solely in that scope (blockRestricted).
  • A variable is announced in square block however utilized outside the scope (escapedBlockScope).

for example, the following code snippet can explain all the scope in brief,

function VariableScope () {

var functionScopeOnly , blockScopeOnly, bothScopes ;

if ( functionScopeOnly <40 ) {

console .log (blockScopeOnly );

var  escapedBlockScope ;

blockRestricted = blockScopeOnly ;

Var2 blockRestricted;

escapedBlockScope =

Style of language

Some of the coding style followed by JavaScript are as follows:

  • The codes make use of four space regarding the various kinds of tabs.
  • In this hard limit of length of line which is being followed. The limit has been set to only 120 characters.
  • No kind of blank line should be there after the declaration of namespace. There should be single line blank space which is generally use after declaration.
  • Opening space in relation to classes should be there after on the next line. Generally closing brackets go next line after the body part.

JavaScript language is a well-known and extremely known as language by making use of scripting server side. Various kinds of websites are developed with the help of this particular language as it has easier method of processing and provides great amount of response against the request of Web (Madsen, Livshits, & Fanning, 2013). The condition depended on the performance is the HTML and JavaScript which generally work together in a much better way.

The current version of JavaScript supports the idea or concept of OOP (Object Oriented Programming). Apart from this, it also supports single level of inheritance and adaptation of abstract methods. Like all other modern type of OOP depended language it also provides encapsulation of various kinds of variables and methods.

The development of web application makes use of HTML and CSS which is used for displaying of various kinds of information to various users which are generally handled by JavaScript (Fournet et al., 2013). There is advancement which is known as front- end and server side which is used for various kinds of scripting languages. 

During the development of various kinds of web application, designer and developer makes use of HTML codes and various kinds of programming language which is used for development of website and various kinds of application. Another problem which is being encountered that is various kinds of web application are being used for fabrication of large number of application which are complex in nature.

Control and Looping Statements

  This is an expressive programing language, utilized gradually for offloading functionalities to the side of the end user and executing ongoing applications on the server-side through the use of the development environments like Node.js.  The language is interpreted one.  Therefore, due to the lack of the compilers it is not possible for the developer to find out any error in the written code or optimize the performance of the developed application. 

JavaScript is known to be a highly popular language for client side scripting. JavaScript can be easily used for implementation of various kinds of features. Some years back when flash software was not so much popular JavaScript technology was used for addition of beautiful types of images to various kinds of webpages. 

Browser Support: For accessing the various content of flash, the plugin of flash needs to be installed in the browser. On the contrary, use of JavaScript does not need or require any kind of plugins (Gardner, Maffeis & Smith, 2012).  This mainly has resulted from acceptance of JavaScript as scripting language and provides support in an integrated form to it.

Works both on server side and client side: JavaScript need to access various model of browser and in many cases it can easily change the whole structure of the webpages (Agten et al., 2012). On the contrary JavaScript can be easily used for on both the sides that is client and server. 

Functional programming language: The function of JavaScript can be easily assigned to various kinds of variables in way similar to other kinds of data types. Function can be easily accepted as another parameter and can easily return in a form of function.

Support for objects: JavaScript handles objects and inheritance in a much different way from known object oriented programming languages (Gruss, Maurice & Mangard, 2016). It is considered to be a well-known language for people who want to learn about various kinds of programming language.

This Weakly typed scripting language makes it especially difficult to apply numerous code analysis techniques/procedures that deal with statically wrote codes, for example, Java.  In addition to that this likewise empowers non concurrent callbacks through different methods as example, setTimeout and XHR (XMLHttpRequest)for communicating with the server. This leads to the error prone communications as well as difficult to follow.

 This server side scripting language have simpler execution model. Being interpreted language therefore it does not need development environment or any compiler.  In addition to that due to the client side validation of data on the browsers does not have to send back to the server which in turn helps in saving bandwidth. The Script source code is downloaded at the browser of the client end which does not have to be compiled on the contrary are executable irrespective of the platform. In addition to that, it is also an event based language.  As an event-based scripting language, therefore different segments of codes are executed in a different scenario. That is a certain code segment is executed whenever a certain event occurs due to the user interacts with the web page on the browser. Simply, the language, it can be said that a code block is executed whenever a user on the web page clicks a specific button hovers the pointer over any object. The Scripts code can be interpreted by script-enabled browser. One of the greatest drawbacks of this scripting language is, it is slower than compiled code, and therefore it is not as powerful as compiled programming languages.

Case Sensitivity

As mentioned previously, JavaScript is executed at the client end and mainly relies upon the web browser being utilized by the user. Each of these programs translates JavaScript in their unique way. This is expected to the particular executions of the JavaScript execution engines in the web browsers.  For example, FireFox utilizes its own JavaScript engine known as SpiderMonkey, Chrome (by Google) utilizes its Chrome V8 which is developed and written in C++. Then again, Apple uses JavaScript Core in their WebKit program and is utilized inside Safari and their Application store. There are numerous JavaScript execution engines from probably the known web browsers accessible, each with unique features from each other. Along these lines, it is critical to test each JavaScript structure in whatever number programs as would be prudent.

With all the above mentioned advantages there are some disadvantages too; which are,

Security Issues related to the use of the Javascript codes, once attached with the website pages execute on client end servers promptly and thusly can likewise be utilized to misuse the framework. While a specific confinement is set by present day web page developments, malicious code by the hackers can in any case be executed to within the restrictions applied to the framework.

Javascript rendering deviates according to the execution engines. Thus different browsers may render Javascript contrastingly bringing about irregularity as far as usefulness and interface. While the most recent adaptations of javascript and rendering have been equipped towards a general standard, certain varieties still exist.

Conclusion

  In the different sections of this report we have described the brief history of the development of the JavaScript language, its evolution, and assessment.  Here we can conclude that this language can help in dynamically modify a HTML webpage displayed by the browser. In order to improve the user experience, it can react to user inputs to the forms or text boxes, button clicks as well as validates user input.  In addition to that, JavaScript can be used to generate or cookies at the client’s browser to store the user preferences or credentials.  Most importantly, user interaction supported by the JavaScript’s codes does not require any communication with the server leading to the reduced response time for user interaction.  Even though there are multiple issues related to the security of the use of the Javascript, these can be prevented using some mechanisms.   In case of the sites that incorporate JavaScript from remote sources in administrative areas open themselves to attacks in which malicious JavaScript is sent to client systems, potentially with severe attack consequences. 

In-Built Functions

 In order to avoid this, CSP (Content Security Policy) can act as an effective tool that permits web application developers to indicate from which remote locations their web application is permitted to stack extra resources. Utilizing Content Security Policy, a web application could be restricted to just load JavaScript resources from a predefined set of third party providers. On account of typing error in the URL, a CSP strategy not containing that same error will prevent the application to load the JavaScript from that mistyped URL. Situations where a JavaScript-facilitating site has been traded off and is serving harmful JavaScript in any case, would not be stopped by the use of CSP.

References

Agten, P., Van Acker, S., Brondsema, Y., Phung, P. H., Desmet, L., & Piessens, F. (2012, December). JSand: complete client-side sandboxing of third-party JavaScript without browser modifications. In Proceedings of the 28th Annual Computer Security Applications Conference (pp. 1-10). ACM.

Bray, T. (2017). The javascript object notation (json) data interchange format.

Chugh, R., Herman, D., & Jhala, R. (2012). Dependent types for JavaScript. ACM SIGPLAN Notices, 47(10), 587-606.

De Leeuw, J. R. (2015). jsPsych: A JavaScript library for creating behavioral experiments in a Web browser. Behavior research methods, 47(1), 1-12.

Fournet, C., Swamy, N., Chen, J., Dagand, P. E., Strub, P. Y., & Livshits, B. (2013, January). Fully abstract compilation to JavaScript. In ACM SIGPLAN Notices (Vol. 48, No. 1, pp. 371-384). ACM.

Gardner, P. A., Maffeis, S., & Smith, G. D. (2012, January). Towards a program logic for JavaScript. In ACM SIGPLAN Notices (Vol. 47, No. 1, pp. 31-44). ACM.

Gómez, J., García, L. J., Salazar, G. A., Villaveces, J., Gore, S., García, A., ... & Dumousseau, M. (2013). BioJS: an open source JavaScript framework for biological data visualization. Bioinformatics, 29(8), 1103-1104.

Gruss, D., Maurice, C., & Mangard, S. (2016, July). Rowhammer. js: A remote software-induced fault attack in javascript. In International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (pp. 300-321). Springer, Cham.

Hackett, B., & Guo, S. Y. (2012). Fast and precise hybrid type inference for JavaScript. ACM SIGPLAN Notices, 47(6), 239-250.

Hedin, D., & Sabelfeld, A. (2012, June). Information-flow security for a core of JavaScript. In Computer Security Foundations Symposium (CSF), 2012 IEEE 25th (pp. 3-18). IEEE.

Hedin, D., Birgisson, A., Bello, L., & Sabelfeld, A. (2014, March). JSFlow: Tracking information flow in JavaScript and its APIs. In Proceedings of the 29th Annual ACM Symposium on Applied Computing (pp. 1663-1671). ACM.

Madsen, M., Livshits, B., & Fanning, M. (2013, August). Practical static analysis of JavaScript applications in the presence of frameworks and libraries. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (pp. 499-509). ACM.

Nikiforakis, N., Invernizzi, L., Kapravelos, A., Van Acker, S., Joosen, W., Kruegel, C., ... & Vigna, G. (2012, October). You are what you include: large-scale evaluation of remote javascript inclusions. In Proceedings of the 2012 ACM conference on Computer and communications security (pp. 736-747). ACM.

Oren, Y., Kemerlis, V. P., Sethumadhavan, S., & Keromytis, A. D. (2015, October). The spy in the sandbox: Practical cache attacks in javascript and their implications. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security (pp. 1406-1418). ACM.

Osmani, A. (2012). Learning JavaScript Design Patterns: A JavaScript and jQuery Developer's Guide. " O'Reilly Media, Inc.".

Politz, J. G., Eliopoulos, S., Guha, A., & Krishnamurthi, S. (2015). ADsafety: Type-based verification of JavaScript sandboxing. arXiv preprint arXiv:1506.07813.

Sen, K., Kalasapur, S., Brutch, T., & Gibbs, S. (2013, August). Jalangi: a selective record-replay and dynamic analysis framework for JavaScript. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (pp. 488-498). ACM.

Sridharan, M., Dolby, J., Chandra, S., Schäfer, M., & Tip, F. (2012, June). Correlation tracking for points-to analysis of JavaScript. In European Conference on Object-Oriented Programming (pp. 435-458). Springer, Berlin, Heidelberg.

Cite This Work

To export a reference to this article please select a referencing stye below:

My Assignment Help. (2019). Essay: Evolution And Features Of JavaScript For Web Dev.. Retrieved from https://myassignmenthelp.com/free-samples/meeting-foundations-software-engineering.

"Essay: Evolution And Features Of JavaScript For Web Dev.." My Assignment Help, 2019, https://myassignmenthelp.com/free-samples/meeting-foundations-software-engineering.

My Assignment Help (2019) Essay: Evolution And Features Of JavaScript For Web Dev. [Online]. Available from: https://myassignmenthelp.com/free-samples/meeting-foundations-software-engineering
[Accessed 22 December 2024].

My Assignment Help. 'Essay: Evolution And Features Of JavaScript For Web Dev.' (My Assignment Help, 2019) <https://myassignmenthelp.com/free-samples/meeting-foundations-software-engineering> accessed 22 December 2024.

My Assignment Help. Essay: Evolution And Features Of JavaScript For Web Dev. [Internet]. My Assignment Help. 2019 [cited 22 December 2024]. Available from: https://myassignmenthelp.com/free-samples/meeting-foundations-software-engineering.

Get instant help from 5000+ experts for
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing: Proofread your work by experts and improve grade at Lowest cost

loader
250 words
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Plagiarism checker
Verify originality of an essay
essay
Generate unique essays in a jiffy
Plagiarism checker
Cite sources with ease
support
close