JavaScript is geen Java - het is veel veiliger en veel handiger
U hebt waarschijnlijk al gehoord over hoe de plug-in voor de Java-browser onveilig is. 91% van de systeemcompromissen in 2013 waren tegen die onveilige Java-plug-in. Maar Java is niet hetzelfde als JavaScript - in feite zijn ze niet echt gerelateerd.
De meeste van onze lezers begrijpen waarschijnlijk het verschil, maar niet iedereen weet het. Elke verwarring is niet toevallig - JavaScript werd oorspronkelijk JavaScript genoemd, alleen om het te associëren met Java in de hoofden van mensen.
Java Basics
Java is een populaire programmeertaal die wordt gebruikt voor alles van serversoftware tot desktoptoepassingen en zelfs Android-apps. U hebt waarschijnlijk gehoord van Minecraft, dat in Java is geschreven. Voor het uitvoeren van een Java-applicatie is Oracle's Java-runtime op uw computer vereist. Het werd eerder ontwikkeld door Sun, maar Oracle kocht Sun - dus het is nu Oracle Java in plaats van Sun Java.
Maar Java wordt niet alleen gebruikt voor traditionele toepassingen. In de jaren 90 ontwikkelde Sun een browserinvoegtoepassing waarmee u Java-programma's - of "Java-applets" - binnen webbrowsers kon uitvoeren. De Java-invoegtoepassing wordt niet veel meer gebruikt en is een bron van eindeloze beveiligingsproblemen geweest. U wilt geen Java-applets in uw browser uitvoeren als dat mogelijk is. De Java plug-in - en Java-inhoud in webbrowsers - is onveilig en slecht gebleken.
Er is slechts één Java-invoegtoepassing en deze is gemaakt door Oracle en samen met de Java-runtime meegeleverd. Als er een probleem is, moet u wachten tot Oracle het probleem heeft opgelost. Er is geen concurrentie om het te verbeteren.
JavaScript-basics
JavaScript is een programmeertaal die wordt gebruikt door webpagina's. HTML is de lay-outtaal die bepaalt hoe webpagina's worden gelegd en JavaScript is de taal waarmee webpagina's dynamischer worden. JavaScript is wat ervoor zorgt dat webapps zoals Gmail kunnen functioneren en JavaScript wordt op dit moment door vrijwel elke website gebruikt.
JavaScript is oorspronkelijk ontworpen om een lichtgewicht scripttaal te zijn voor gebruik in webbrowsers. Het is niet een aparte browser plug-in die afkomstig is van één bedrijf - elke browser heeft zijn eigen verschillende JavaScript-engine. Browsers voeren native JavaScript-code uit zonder te vertrouwen op een externe plug-in. Er is veel concurrentie geweest tussen verkopers van browsers om JavaScript sneller en beter te maken.
Waarom heet het dan JavaScript??
JavaScript heeft echt niets met Java te maken; het is niet alleen een vereenvoudigde subset van Java. JavaScript is ontwikkeld onder de naam "Mocha" en kreeg de naam "LiveScript" toen het in 1995 verscheen in een bètaversie van de Netscape Navigator-webbrowser..
In 1995 kondigde Netscape aan dat de taal "JavaScript" zou heten in een gezamenlijke aankondiging met Sun. Dit gebeurde rond de tijd dat Netscape ondersteuning voor Sun's Java-applets toevoeg. We kunnen vandaag terugkijken op de aankondiging:
"De JavaScript-taal is een aanvulling op Java, Sun's toonaangevende objectgeoriënteerde, platformonafhankelijke programmeertaal ...
JavaScript is een eenvoudig te gebruiken object-scriptingtaal die is ontworpen voor het maken van live online applicaties die objecten en bronnen op zowel clients als servers met elkaar verbinden. Hoewel Java door programmeurs wordt gebruikt om nieuwe objecten en applets te maken, is JavaScript ontworpen voor HTML-pagina-auteurs en ontwikkelaars van bedrijfsapplicaties om dynamisch het gedrag van objecten die op de client of de server worden uitgevoerd, te scripten. "
De aankondiging gaat zo door en gaat over zowel Java als JavaScript. Dit wordt meestal gezien als een poging van Sun en Netscape om de nieuwe taal - JavaScript - te associëren met de Java-taal die toen populair was. De naam maakte mensen een beetje in de war en zorgde ervoor dat ze de nieuwe taal associeerden met Java, waardoor JavaScript direct wat respect kreeg. Als het JavaScript wordt genoemd en door Sun is aangekondigd in een aankondiging die veel over Java heeft gesproken, was het zeker gerelateerd aan Java - toch? Nee.
In 1998 beweerde Brendan Eich, die JavaScript uitvond, in een interview dat JavaScript was bedoeld als "lijkt op Java, maar een scripttaal is" voor lichtgewicht gebruik. Het lijkt een beetje op Java, maar het is heel anders.
JavaScript is praktisch verplicht voor het moderne web
We zijn in de loop der jaren weggegaan van Java-inhoud in de browser. Hoewel Java nog steeds veel wordt gebruikt, is het een vieze naam geworden wanneer het wordt geassocieerd met webbrowsers. Java is ook een steeds minder leuk stukje consumentensoftware geworden, bekend van het bundelen van junkware met beveiligingsupdates.
Waar de Java-naam oorspronkelijk bedoeld was om geloofwaardigheid aan JavaScript toe te voegen, heeft de Java-associatie nu zijn naam aangetast. Het is gemakkelijk om JavaScript in je op te nemen wanneer je apocalyptische koppen ziet over Java plug-in kwetsbaarheden. Dat was het hele punt van de naam - om ze gerelateerd te laten lijken.
Sommige mensen doen er alles aan om JavaScript in hun webbrowser uit te schakelen met add-ons zoals NoScript. Maar JavaScript is niet onveilig zoals Java in de browser staat. Ja, er is af en toe een beveiligingsprobleem in een webbrowser dat kan worden uitgebuit via JavaScript, maar het gat is hersteld en we gaan verder. Dit is niet uniek voor JavaScript - er kan een beveiligingsrisico zijn in een webbrowser die ook kan worden geëxploiteerd via HTML, CSS of andere technologieën. Er is geen manier om jezelf volledig te beschermen tegen mogelijke toekomstige kwetsbaarheden in de browser. Houd gewoon je browser en plug-ins bijgewerkt.
JavaScript voorziet het moderne web van stroom, of u nu een browser op uw computer of smartphone gebruikt. Als u dit uitschakelt, zijn veel websites onbruikbaar.
Aan de andere kant wordt de plug-in voor Java-browsers op heel weinig websites gebruikt. Als u de Java-browserinvoegtoepassing uitschakelt, blijft het web normaal werken. Je zult waarschijnlijk nooit merken dat je het niet hebt.
Image Credit: nyuhuhuu op Flickr, Marcin Wichary op Flickr