Articles

Waarom is JavaScript zo populair?

In 2019 is JavaScript waarschijnlijk de populairste programmeertaal die ooit heeft bestaan. Toch is de opkomst ervan voor velen als een verrassing en teleurstelling gekomen. Dus waarom is JavaScript zo populair geworden?

In volgorde van prioriteit zijn hier de redenen waarom ik geloof dat JavaScript zo sterk is geadopteerd, zo niet ontvangen.

1. Schaalbaar

Het heeft misschien niet de hoge prestatiekenmerken van C of Java, maar door zijn lichte gewicht kan het gemakkelijk parallel worden uitgevoerd. Dat maakt het zeer geschikt om op een groot aantal goedkope computers te draaien. En aangezien horizontaal schalen over het algemeen beter is dan verticaal schalen, is dit een groot pluspunt.

2. Asynchroon

JavaScript biedt een betere oplossing voor blokkerende operaties. Bijna elke andere taal lost dit op met threads, maar threads zorgen ervoor dat programma’s onvoorspelbaar zijn, waardoor ze moeilijk te schrijven en te debuggen zijn. JavaScript lost blokkerende operaties op met callbacks en promises die de programmeur controle geven over de flow van uitvoering.

3. Voor elk wat wils

JavaScript implementeert meerdere paradigma’s, procedureel, oop en functioneel. Deze mix geeft iedereen wat van zijn gading. Talen als Go of Haskell, falen hierin en het is daarom onwaarschijnlijk dat een van beide ooit zo populair zal worden als JavaScript nu is.

4. Draait op het web (en overal elders)

JavaScript is de primaire taal van een klein stukje techniek dat het world wide web heet. Het is praktisch de enige taal die in de browser draait. Het draait nu ook overal elders, van kleine chips tot krachtige servers. Het kunnen draaien in zowel de client als de server heeft nieuwe patronen geopend waar code kan worden gedeeld tussen de front en de back end.

5. Performance

JavaScript is niet de snelste taal, maar het is snel. Dit in combinatie met schaalbaarheid, asynchroniciteit en gebruiksgemak maakt JavaScript ideaal voor de meeste taken.

6. Eenvoud

Het opzetten en draaien van een webserver in Node.js is eenvoudig en snel. Het vereist weinig overhead en draait op Unix, Windows en Macs. JavaScript vereist zeer weinig omgevingsconfiguratie en heeft geen compilatiestap waardoor het zeer geschikt is om binnen Docker en in cloudfuncties te draaien.

7. Gemeenschap

De meeste populaire talen hebben goede gemeenschappen en JavaScript is daarop geen uitzondering. Door de huidige populariteit is de groei in termen van ondersteuning, zoals tutorials, boeken, stackoverflow antwoorden… indrukwekkend. JavaScript frameworks en libraries zijn uitgebreid en worden steeds beter. Er is open source code om zowat alles te doen.

8. Open Standaard

JavaScript is niet in handen van een groot bedrijf, zoals C#, Swift, Java, Go of gecontroleerd door een enkele partij, zoals Python. Dit geeft het de vrijheid om te groeien zonder een andere agenda dan beter te zijn. En het comité dat toezicht houdt op de standaard heeft zich verplicht tot jaarlijkse updates. Waardoor JavaScript een gestage stroom van nieuwe functies krijgt.

9. Makkelijk om mee te beginnen

Hoewel JavaScript niet zo makkelijk onder de knie te krijgen is, is het wel makkelijk om mee te beginnen. Als u in een andere taal hebt geprogrammeerd, kunt u in principe meteen beginnen met programmeren in JavaScript. En als je nog nooit hebt geprogrammeerd, zul je met JavaScript snel basisprogramma’s kunnen schrijven.

10. Gets shit done

In mijn ervaring programmeren in JavaScript de neiging om sneller te gaan. Ik heb geprogrammeerd professioneel met behulp van 5 verschillende talen en hebben gebruikt een andere 5 of zo terloops. Van al deze talen heeft JavaScript de neiging om de klus het snelst te klaren. Dit is voor een groot deel te danken aan al het andere op deze lijst, maar ook de dynamische aard van JavaScript laat de programmeur zich concentreren op het kernprobleem dat moet worden opgelost.

11. Leuk

Obviously dit is zeer subjectief. Maar ik denk dat JavaScript erg leuk is om te programmeren. JavaScript, vanaf Es2015, voelt schoon en modern aan. Wat is er niet leuk aan async en await.