Lin Clark on WebAssembly

 Web assembly is a tool dedicated to improve navigating around the web, where we basically have 3 different programming languages working together, but this was an accident, and the integration of this languages is not as efficient as we would like.  Web assembly is a tool dedicated to fix this, where web assembly is designed to be as efficient as possible, that can run very fast for cpu or gpu intensive applications like videogames, video/photo editors or parsers. Web assembly is a standard impulsed by a lot of companies like unity, unreal and the multiple web browser developers. Right now we are at the limit of javascript. Javascript is to slow to run modern applications and optimizing javascript can break your code in multiple web engines and optimizing the web engine interpreter can easily break a lot of javascript code.  

Web assembly is a set of instructions to compile our code to run on any supported web browser, similar in a lot of things to code compiled with java running in multiple operating systems through the java virtual machine. One important difference is the lack of a garbage collection system, this means that only C, C++ and Rust can use this language correctly. This doesn't mean that web assembly will replace other tools like react or angular, but surely can help to optimize all the code.

A web assembly developer, hopefully will keep a similar workflow to their current workflow, similar libraries will be used but this libraries will have better performance, and implementing other programming languages will be easier than before (rust, c and c++ are the validated languages, other languages will join in the future). The complexity of the programs will increase, but dividing the applications in different modules, where an experienced programmer can use this programming languages to increase more the performance in your web application.

Comentarios

Entradas más populares de este blog

The Hundred-Year Language

Mother of Compilers

Episode 61: Internals of GCC