5Aug
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 Java-runtime van Oracle op uw computer vereist. Het werd eerder door Sun ontwikkeld, 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 negentiger jaren 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 geen afzonderlijke browser plug-in die afkomstig is van één bedrijf - elke browser heeft zijn eigen verschillende JavaScript-engine. Browsers gebruiken native JavaScript-code zonder een beroep te doen op een externe plug-in. Er is veel concurrentie geweest tussen verkopers van browsers om JavaScript sneller en beter te maken.
Waarom heet het JavaScript, dan?
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 in een bètaversie van de Netscape Navigator-webbrowser verscheen.
In 1995 kondigde Netscape aan dat de taal "JavaScript" zou heten in een gezamenlijke aankondigingmet Sun. Dit gebeurde rond de tijd dat Netscape ondersteuning voor Sun's Java-applets toevoeg. We kunnen terugkijken op de aankondiging van vandaag:
"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 creëren van live online applicaties dieKoppel objecten en bronnen aan zowel clients als servers. Hoewel Java door programmeurs wordt gebruikt om nieuwe objecten en applets te maken, is JavaScript ontworpen voor gebruik door auteurs van HTML-pagina's en ontwikkelaars van bedrijfsapplicaties om het gedrag van objecten die op de client of de server draaien dynamisch te scripten. "
De mededeling gaat maar doorzoals dit, praten over zowel Java en 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 vuile 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.
Als de Java-naam oorspronkelijk bedoeld was om JavaScript geloofwaardig te maken, heeft de Java-associatie nu zijn naam aangetast. Het is gemakkelijk om JavaScript in je op te nemen als 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 zit. Ja, er is af en toe een beveiligingslek 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 beveiligingsprobleem zijn in een webbrowser die ook kan worden uitgebuit 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 de 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 de Java-browser 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