Neue Programmiersprachen im Web

Authors Christina Piereder
Title Neue Programmiersprachen im Web
Type bachelor thesis
School FH OÖ, FH OÖ, Fachhochschul-Bachelorstudiengang Software Engineering
Month September
Year 2019
SCCH ID# 19067

The development of web applications has greatly increased in recent years. These applications must include logic as well as static layout and web design to make them interactive. JavaScript was created for this reason. Developed in just ten days in 1995, JavaScript is now one of the most popular programming languages. However, the short development time has also led to some design weaknesses. As a result, new programming languages have emerged that aim to offset these weaknesses. TypeScript, CoffeeScript and Dart are three well-known representatives of these languages. This bachelor thesis discusses the strengths and weaknesses of JavaScript, how these three programming languages try to compensate these weaknesses and what new functionality they offer in contrast to JavaScript.

In addition, a simple web application in TypeScript, CoffeeScript and Dart is implemented to evaluate the results. It explains what a transpiler is and how integration with build tools works. Four widely used representatives, Webpack, Browerify, Grunt and Gulp are selected as examples.

The runtimes of the implemented applications are compared by using metrics. In addition, the popularity of the individual programming languages will be examined in order to be able to draw conclusions about their future potential.

A conclusion from this bachelor thesis is that JavaScript, despite its weaknesses, is still very widespread. The biggest advantage of CoffeeScript lies in its simplified syntax. TypeScript and Dart offer many functionalities that are familiar from other modern programming languages. A big advantage over JavaScript is above all the static typing. On the one hand, static typing makes it possible to detect type errors already at compile time and, on the other hand, better autocompletion in development environments. This can be a reason for large projects to use TypeScript or Dart.