It's About Time to Take JavaScript (More) Seriously

  title={It's About Time to Take JavaScript (More) Seriously},
  author={Holger M. Kienle},
  journal={IEEE Software},
  • H. Kienle
  • Published 1 May 2010
  • Computer Science
  • IEEE Software
JavaScript is a scripting language, of course. The drawbacks and benefits of scripting languages compared to full-fledged programming languages have been explored before. In a previous installment of this column, Diomidis Spinellis points out that with scripting languages, users can benefit from flexible syntax, loose type systems, powerful reflection mechanisms, and shorter build cycles. Scripting languages have proven their usefulness in various application areas. Unix relies heavily on shell… 
Does JavaScript software embrace classes?
A strategy to statically detect class-based abstractions in the source code of JavaScript systems is proposed and used in a dataset of 50 popular JavaScript applications available from GitHub.
A Survey of Object Oriented JavaScript Language
Many of the programmers move towards object oriented programming languages due to its reusability nature, whereas in procedural programming languages reusability is not allowed, which may contribute
A Survey of Object Oriented JavaScript Language
Many of the programmers move towards object oriented programming languages due to its reusability nature, whereas in procedural programming languages reusability is not allowed, which may contribute
Refactoring Legacy JavaScript Code to Use Classes: The Good, The Bad and The Ugly
This paper analyzes the process of migrating structures that emulate classes in legacy JavaScript code to adopt the new syntax for classes introduced by ES6, and applies a set of migration rules on eight legacy JavaScript systems.
CodeCity for (and by) JavaScript
JSCity is introduced, an implementation in JavaScript of the well-known Code City software visualization metaphor that relies on JavaScript features and libraries to show "software cities" in standard web browsers, without requiring complex installation procedures.
Identifying Classes in Legacy JavaScript Code
A strategy to detect class‐based abstractions in the source code of legacy JavaScript systems using a large and in‐depth study to understand how class emulation is employed, using a dataset of 918 JavaScript applications available on GitHub.
Comparative Studies of 10 Programming Languages within 10 Diverse Criteria - a Team 10 COMP6411-S10 Term Report
This survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional programming, declarative programming, batch scripting, and UI prototyping.
Simplifying Scientific Programming with Streak©
The result of this research is a quasi-programming environment named Streak©, which runs on a command line interface which can be integrated into popular IDE and has its own set of easy to remember and use keywords.
AngularJS in the wild: a survey with 460 developers
This paper reports the results of a survey about ANGULARJS, including answers from 460 developers, and identifies the most appreciated features and the most problematic aspects of the framework.
Assessing the security of Node.js platform
  • A. Ojamaa, Karl Düüna
  • Computer Science
    2012 International Conference for Internet Technology and Secured Transactions
  • 2012
Several possible security pitfalls to be aware of when using Node.js platform and server side JavaScript are outlined and recommendations for developing and configuring secure and resilient web applications on the Node.


Java Makes Scripting Languages Irrelevant?
Scripting languages glued to applications serve an important purpose: they greatly ease the application's configuration and customization and support end-user programming by offering a safe and friendly development environment.
Using JavaScript as a real programming language
This paper summarizes the authors' experiences using JavaScript, focusing especially on its use as a real, general-purpose programming language.
The Lively Kernel: just for fun, let's take JavaScript seriously
The speaker will demonstrate the Lively Kernel and discuss various aspects of JavaScript as a programming language and the ability to save its objects and "worlds" (app applications) as new active Web pages.
Developers shift to dynamic programming languages
Developers want to shed unneeded complexity and outdated methodologies and move to approaches that focus on making programming simpler and faster, with this in mind, many developers are increasingly using dynamic languages such as JavaScript, Perl, Python, and Ruby.
Top down operator precedence
There is little agreement on the extent to which syntax should be a consideration in the design and implementation of programming languages, but some language implementers willing to incorporate as much syntax as possible provided they do not have to work hard at it are found.
Dimensions of software evolution
  • D. Perry
  • Computer Science
    Proceedings 1994 International Conference on Software Maintenance
  • 1994
Each dimension of software evolution is discussed, examples are provided to illustrate its various aspects and how evolution in that dimension affects system evolution is summarized.
Kienle is a postdoctoral researcher in software evolution at Mälardalen University and the University of Victoria
  • 2008
Top Down Operator Precedence Beautiful Code
  • Top Down Operator Precedence Beautiful Code
  • 2007
Perl: Internet Duct Tape
  • IEEE Internet Computing
  • 1999